web-dev-qa-db-ja.com

Google Cloud BuildがGKEプライベートクラスタにデプロイされます

「private-cluster」オプションを使用してGoogle Kubernetes Engineを実行しています。また、環境にリモートアクセスできるように「承認済みマスターネットワーク」を定義しました。これは問題なく機能します。次に、Google Cloud Buildを使用して、ある種のCI/CDパイプラインをセットアップしたいと思います。新しいDockerイメージが正常にビルドされたら、この新しいイメージをGKEに自動的にデプロイする必要があります。新しいパイプラインを最初に起動したときに、GKEへのデプロイが失敗しました-エラーメッセージは、「サーバーに接続できません:ダイヤルtcp xxx.xxx.xxx.xxx:443:i/oタイムアウト」のようなものでした。接続タイムアウトの根本的な原因であると疑われて「承認されたマスターネットワーク」オプションがあったため、許可されたネットワークに0.0.0.0/0を追加し、Cloud Buildジョブを再度開始しました-今回はすべてが順調に進んだ後Dockerイメージが作成され、GKEにデプロイされました。良い。

残っている唯一の問題は、インターネット全体が私のKubernetesマスターにアクセスすることを本当に許可したくないということです-それは悪い考えですね?

許可されたマスターネットワークを使用し、クラウドビルドを介してデプロイできるようにして、アクセスを絞り込むためのよりエレガントなソリューションはありますか?

13
Mizaru

現在 Cloud BuildマシンをVPCに追加することはできません。同様に、Cloud BuildはビルドマシンのIP範囲をアナウンスしません。したがって、そのVPC内のGCEに「ssh踏み台インスタンス」または「プロキシインスタンス」を作成せずに、今日これを行うことはできません。

これはすぐに変わると思います。 GCBは、GKEプライベートクラスタとプライベートクラスタがまだベータ機能である前に存在していました。

5
AhmetB - Google

最終的に次のことを行いました。

1)cloudbuild.yamlからデプロイ手順を削除します

2)プライベートクラスタ内にKeelをインストールし、クラウドビルダー/レジストリプロジェクトでpub/subエディター権限を付与します

キールはイメージの変更を監視し、設定に基づいて自動的に展開します。

Vmsを追加したり、何らかの要塞/ sshホストを実行したりせずに、shaハッシュイメージの更新をプッシュするようになったため、これはうまくいきました。

0
Farhan Husain