Kubernetes と Azure Arc 対応 Kubernetes の概要
このユニットでは、Kubernetes について、および Azure Arc 対応 Kubernetes のアーキテクチャと利点について学習します。
Kubernetes
Kubernetes は、コンテナー化されたワークロードを調整するための拡張可能なオープンソース プラットフォームです。 回復性を確保するため、各 Kubernetes のデプロイは複数のクラスター化されたサーバー ノードで構成されています。 一部のサーバーは、他のワーカー ノードを管理するコントロール プレーン ノードです。
ワーカー ノードによって、コンテナー化されたワークロードが Kubernetes ポッドとしてホストされます。 ポッドはコンテナーにほぼ対応しますが、同じノードで実行されている、複数の密接に結合されたコンテナーを含むことができます。
コンテナーベースの分離に加え、Kubernetes では、ポッドとその他のリソース (デプロイなど) を名前空間に分離することができます。 名前空間では論理境界を形成し、コンテナー化されたさまざまなワークロードにアクセスするユーザーと外部アプリケーションを分離できるようにします。 名前空間を使用すると、クラスター内のリソースを作成、表示、または管理するためのアクセス許可を制限することもできます。
Kubernetes の利点
Kubernetes を使用すると、数百または数千のコンテナーが依存する可能性のあるコンピューティング、ネットワーク、ストレージのコンポーネントを結合するマルチコンテナー環境の複雑さが解消されます。 Kubernetes 宣言型管理モデルでは、必要なターゲット構成を記述し、その実装の詳細は Kubernetes コントロール プレーンによって決定されます。
Kubernetes を使用すると、データセンターを統合コンピューティング リソースとして扱うことができます。 コンテナーをデプロイする方法や場所について気にする必要はなく、必要に応じてアプリのデプロイとスケーリングを行うことだけを考えます。
Kubernetes の課題
Kubernetes は高度にカスタマイズ可能なオーケストレーション プラットフォームであり、適切な構成、管理、メンテナンスが必要です。
デプロイ、スケーリング、負荷分散、ログ記録、監視などの機能はすべてオプションです。 特定のニーズに対処する最適な構成を特定して実装することは、ユーザー側で行う必要があります。
自身の Kubernetes 環境は自分で維持する必要があります。 たとえば、オペレーティング システムと Kubernetes のアップグレードを管理する必要があります。 また、ネットワーク、メモリ、ストレージなど、クラスターノードで使用できるハードウェア リソースを管理する必要があります。
Azure Kubernetes Service (AKS) などのマネージド Kubernetes オファリングを使用すると、これらの課題の一部を最小限に抑えたり、排除することができます。
Azure Arc 対応 Kubernetes
Azure Arc 対応 Kubernetes を使用すると、任意の場所で実行されている Kubernetes クラスターを Azure で管理および構成できるようにアタッチできます。
Azure Arc により、ローカルにインストールされたエージェントを使用して、Azure との信頼されたチャネルが確立されます。 Azure に接続するには、複数のエージェントを Kubernetes クラスター内の専用 azure-arc 名前空間内にポッドとしてデプロイする必要があります。 これらのエージェントは Azure への接続を維持し、クラスターの状態とメタデータを対応する Azure リソースと同期します。
Azure Arc 対応 Kubernetes は、すべての Cloud Native Computing Foundation (CNCF) 認定 Kubernetes クラスターで動作します。 これには、他のパブリック クラウド プロバイダー (GCP や AWS) で実行されているクラスターや、オンプレミスのデータ センター (VMware vSphere や Azure Stack HCI など) で実行されているクラスターが含まれます。
Azure Arc 対応 Kubernetes の利点
前のユニットで説明した一般的な Azure Arc の利点に加え、Azure Arc 対応 Kubernetes では次の機能が提供されます。
- マルチクラウドおよびハイブリッド環境全体のすべての Kubernetes リソースを管理する単一のコントロール プレーン。
- Azure サービスをホストするためのプラットフォームとしての Arc 対応 Kubernetes クラスター。
- GitOps を使用してアプリケーションをデプロイするための拡張されたサポート。 GitOps を使用すると、Kubernetes クラスターの目的の状態を記述する構成を自動的にデプロイできます。 Azure Policy を使用して、特定の GitOps ベースの構成を適用できます。
- Kubernetes 用 Azure Policy を使用した、クラスターとそのポッドに影響を与える実行時ポリシーの適用と、ポリシー準拠の一元化されたレポート。 たとえば、Azure Arc 対応 Kubernetes クラスターを対象とするイングレス トラフィックに HTTPS の使用を適用したり、確実に特定のポートのみがコンテナーによってリッスンされるようにしたりすることができます。
- Azure Monitor のコンテナーに関する分析情報を使用してコンテナーを監視。
このモジュールの残りのユニットでは、これらの機能の詳細について学習します。