Kubernetes
接続
ターミナルからKubernetesを接続します。Kubernetesが受け付けるフラグは--helpで確認でき、ヘッドレス環境では--no-browserを追加します。
polylane cloud connect --provider kubernetesHelmでクラスターにPolylaneエージェントをインストールします。
Kubernetesは、HelmでクラスターにインストールするPolylaneエージェントを通じて接続します。エージェントはcloud_accounts:writeにスコープされたPolylane APIキーで一度認証し、クラスターを登録し、アウトバウンドのCloudflare Tunnelを開きます。貼り付けるkubeconfigも、開くインバウンドポートもなく、クラスターの認証情報がクラスターの外に出ることはありません。
セットアップ
- PolylaneでKubernetesの接続フローを開始します。APIキーが自動的に作成されます。
- フローに表示されるHelmコマンドを実行します。
helm install polylane oci://ghcr.io/coreplanelabs/charts/polylane-k8s \
--namespace polylane --create-namespace \
--set polylane.apiKey=<API_KEY> \
--set config.cluster_name=<your cluster name>
- エージェントが自身を登録し、通常1分以内にクラスターがPolylaneに表示されます。その後、Polylaneはワークロード、サービス、その他のクラスターリソースを同期します。
本番環境へのインストールでは、キーをコマンドラインで渡す代わりにapiKey.existingSecret(事前に作成したKubernetesのSecret)を使ってください。
権限
エージェントはget、list、watchを付与する読み取り専用のRBACで動作します。Polylaneが行うのは読み取り専用のKubernetes API呼び出しだけです。
トラブルシューティング
クラスターが表示されない場合は、エージェントのポッドを確認してください。kubectl -n polylane get podsとkubectl -n polylane logs -l app.kubernetes.io/name=polylane-k8s -c agentです。
接続解除
helm uninstall polylane --namespace polylaneでリリースをアンインストールし、Polylaneでクラスターを接続解除し、次にSettings → API keysでエージェントのAPIキーを取り消します。
CIジョブや、ブラウザーのないその他の環境からKubernetesを接続します。
Kubernetesの接続はすでにパイプラインの形をしています。エージェントはHelmでインストールされ、自らクラスターを登録するため、APIキーを持っていればコンソールでの手順は残っていません。
前提条件
- パイプラインのシークレットとして保存された、
cloud_accounts:writeスコープを持つPolylane APIキー。APIキーとOAuthを参照してください。ガイド付きのフローはこのキーを自動的に作成します。自分で作成したキーも同じように動作します。 - ジョブ内のHelmと、対象クラスターの認証情報。
エージェントをインストールする
helm upgrade --install polylane oci://ghcr.io/coreplanelabs/charts/polylane-k8s \
--namespace polylane --create-namespace \
--set polylane.apiKey=$POLYLANE_API_KEY \
--set config.cluster_name=<your cluster name>
helm upgrade --installはジョブを再実行可能に保ち、登録はクラスターごとに冪等であるため、パイプラインを繰り返しても接続が重複することはありません。本番環境へのインストールでは、キーをコマンドラインで渡す代わりにapiKey.existingSecret(事前に作成したKubernetesのSecret)を使ってください。
エージェントが自身を登録し、通常1分以内にクラスターがPolylaneに表示されます。表示されない場合は、エージェントのポッドを確認してください。kubectl -n polylane get podsとkubectl -n polylane logs -l app.kubernetes.io/name=polylane-k8s -c agentです。
接続解除
helm uninstall polylane --namespace polylaneでリリースをアンインストールし、Polylaneでクラスターを接続解除し、次にSettings → API keysでエージェントのAPIキーを取り消します。
接続解除
接続解除すると、すべての同期とチェックが停止し、Polylaneが保持していた認証情報が削除されます。 Polylaneは、KubernetesのAPIが許す範囲のものを取り除きます。次のものは、自分で取り除くまで残ります。
- Helm release and agent pods in the cluster
polylane cloud disconnect <id>ツール
1エージェントがスレッドで実行できる操作です。
対応リソース
24インフラグラフに表示されるリソースの種類です。