【Kubernetes】
Kubernetesを実務で扱っていきたい。
Kubernetes
- 宣言的な構成管理と自動化を促進し、コンテナ化されたワークロードやサービスを管理するための、ポータブルで拡張性のあるオープンソースのプラットフォーム
Kubernetesのコンポーネント
- Kubernetesをデプロイすると、クラスターが展開
- Kubernetesクラスターは、 コンテナ化されたアプリケーションを実行するノードと呼ばれるワーカーマシンの集合
- すべてのクラスターには少なくとも1つのワーカーノードがある
- ワーカーノードは、アプリケーションのコンポーネントであるPodをホスト
- Pod:Kubernetes上の最小単位
- 1つ又は複数コンテナを持つ
- ネットワークやストレージを共有リソースとして持つ
- マスターノードは、クラスター内のワーカーノードとPodを管理
- 複数のマスターノードを使用して、クラスターにフェイルオーバーと高可用性を提供
- ワーカーノードは、アプリケーションワークロードのコンポーネントであるPodをホスト
- コントロールプレーンは、クラスター内のワーカーノードとPodを管理
- 本番環境では、コントロールプレーンは複数のコンピューターを使用し、クラスターは複数のノードを使用し、耐障害性や高可用性を提供
Amazon Elastic Kubernetes Service (EKS)
- クラウドまたはオンプレミスで Kubernetes アプリケーションを実行、スケールするマネージドコンテナサービス
- クラスターごとに単一のテナント Kubernetes コントロールプレーンを実行(クラスター間または AWS アカウント間では共有されない)
- 複数の AWS アベイラビリティーゾーンで Kubernetes コントロールプレーンを実行およびスケーリングし、高可用性を確保
- コントロールプレーンインスタンスを負荷に基づき自動でスケーリングし、異常なコントロールプレーンインスタンスの検出および置換を行う。
- バージョンのアップグレードやパッチ適用も自動
- オープンソースの Kubernetes ソフトウェアの最新バージョンを実行するため、Kubernetes コミュニティの既存のすべてのプラグインとツールを使用
- Amazon EKS で実行されているアプリケーションは、標準の Kubernetes 環境で実行されているアプリケーションと完全に互換性
- オンプレミスのデータセンターで実行されているか、パブリッククラウドで実行されているかは関係なし
- 標準的な Kubernetes アプリケーションであれば、コードを変更することなく、簡単に Amazon EKS に移行