Azure Arc 対応 Kubernetes クラスターへのクラスター接続アクセス
Azure Arc 対応 Kubernetes "クラスター接続" 機能を使用すると、ファイアウォールで受信ポートを有効にしなくても、クラスターの apiserver
に接続できます。 クラスターで実行されているリバース プロキシ エージェントでは、Azure Arc サービスとのセッションを送信方法で安全に開始できます。
クラスター接続を使用すると、開発者は任意の場所からクラスターにアクセスして、対話型の開発とデバッグを行うことができます。 また、クラスターのユーザーと管理者は、どこからでもクラスターにアクセスしたり管理したりすることができます。 Azure Pipelines または GitHub Actions のホステッド エージェントやランナー、またはその他のホストされる CI/CD サービスを使用して、アプリケーションをオンプレミス クラスターにデプロイすることもできます。自己ホスト型のエージェントは必要ありません。
Architecture
クラスター側では、エージェントの Helm チャートの一部としてデプロイされる clusterconnect-agent
という名前のリバース プロキシ エージェントにより、Azure Arc サービスに対して発信呼び出しが行われて、セッションが確立されます。
ユーザーが az connectedk8s proxy
を呼び出すと、次の処理が行われます。
- Azure Arc プロキシ バイナリがダウンロードされ、クライアント コンピューター上のプロセスとしてスピンアップされます。
- Azure Arc プロキシにより、
az connectedk8s proxy
が呼び出された Azure Arc 対応 Kubernetes クラスターに関連付けられているkubeconfig
ファイルがフェッチされます。- Azure Arc プロキシにより、呼び出し元の Azure アクセス トークンと Azure Resource Manager ID 名が使用されます。
- Azure Arc プロキシによってコンピューターに保存された
kubeconfig
ファイルにより、サーバーの URL が Azure Arc プロキシ プロセスのエンドポイントに指定されます。
ユーザーがこの kubeconfig
ファイルを使用して要求を送信すると、次の処理が行われます。
- Azure Arc プロキシにより、要求を受信するエンドポイントが Azure Arc サービスにマップされます。
- その後、Azure Arc サービスにより、クラスターで実行されている
clusterconnect-agent
に要求が転送されます。 clusterconnect-agent
は要求をkube-aad-proxy
コンポーネントに渡します。これにより、呼び出し元のエンティティで Microsoft Entra 認証が実行されます。- Microsoft Entra 認証後、
kube-aad-proxy
は Kubernetes の ユーザーの偽装 を使用し、要求をクラスターのapiserver
に転送します。
次のステップ
- クイックスタートを利用して、Kubernetes クラスターを Azure Arc に接続する。
- クラスター接続を使用して、任意の場所から安全にクラスターにアクセスします。