コンテナオーケストラレーションツール「Kubernetes」part2
コンテナオーケストラレーションツール「Kubernetes」part2
負荷分散と死活監視
- 負荷分散と死活監視を組み合わせるとシステムの可用性を高めることができる
- kube-proxyがiptablesのルールを書き換えて負荷分散を実現している
- kubeletがポッドの状態を定期的にチェックして死活監視を実現している
スケーリング
- スケーリングとはリクエストの規模に応じてコンテナを増減させること
- メトリクスはスケーリングを実行するかどうかを判断するために用いられるデータ
- Horizontal Pod Autoscalerがポッドの水平スケーリングを行う
- Cluster Autoscalerがクラスタの水平スケーリングを行う
主要なKubernetesコマンド
- Kubernetesではマニフェストを使用してクラスタを操作する
- ラベルとラベルセレクターを使用するとオブジェクトを選択できる
- 作成・更新のコマンドは「kubectl apply」で「-f」に指定するマニフェストの内容によって何を作成・更新するのかが変わる
自動ビルド
- 自動ビルドとはプログラムなどを利用可能な状態にする手順を自動化すること
- 自動デプロイとはプログラムなどをリリースする手順を自動化すること
- Kubernetesを使った開発ではリリースまでに「イメージ化」「レジストリへの登録」「デプロイメントの更新」が必要
マルチクラウド
- マルチクラウドは複数のクラウドを組み合わせて構成された環境
- Kubernetesは異なるクラウド間の相違点を吸収して共通の手順での操作を可能にする
Kubernetesのアーキテクチャ
- マスターとワーカーでは様々なコンポーネントが動作しており、そのコンポーネントが連携しあうことでオーケストレーションは実行されている