問題タブ [google-kubernetes-engine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2251 参照

docker - Dockerコンテナ内で推奨されるGCEサービスアカウント認証?

Google の Container Engine またはその 'container-vm' で実行するためにカスタム ビルドされた CentOS Docker コンテナ内に Google サービス アカウントの資格情報を展開する最良の方法は何ですか? この動作は、debian を実行し、app-eng/java/php など、私が使用していないものを含むgoogle/cloud-sdkコンテナーで自動的に発生します。理想的には、プロジェクト内の非公開リソース (Google Cloud Storage バケット オブジェクトなど) にアクセスしようとしていますが、これらのコンテナが多数起動されるたびにログインして承認する必要はありません。

たとえば、カスタム コードと gcloud/gsutil がインストールされた GCE で実行されているベース Centos コンテナで、次のコマンドを実行すると、次のようになります。

「gsutil config」を実行して認証を取得するように求められますが、これは当然のことです。

ただし、google/cloud-sdk コンテナーを同じ GCE にプルダウンして同じコマンドを実行すると、資格情報の継承が巧妙に構成されているようです (おそらくホストの container-vm の資格情報から?)。これは、GCE でコンテナーを実行してプライベート リソースにアクセスするときに、「gsutil config」の実行をバイパスしているようです。

大規模な展開のために、最小限のビルドの Centos コンテナーでその動作を再現しようとしています。

0 投票する
1 に答える
798 参照

docker - Container VM 上の docker コンテナーをマニフェストとリンクするにはどうすればよいですか?

TLDR: 2 つのコンテナーをコンテナー マニフェストにリンクすることは可能ですか?

Guestbook Sample アプリを Google Container Engine ドキュメントからコンテナ vmに移植しようとしています。Web アプリが redis サービスにアクセスできるように、2 つのコンテナー VM を接続するのに問題があります。

インスタンスでdockerコマンドラインを使用している場合、機能します:

インスタンスを起動し、それに ssh します。

コンテナーを作成します。

--link を使用して、ゲストブックを redis コンテナーに接続しています。これはコンテナ マニフェストでも実現できますか?

これは私の開始コマンドです:

編集: 127.0.0.1 を使用する Alex のソリューションは正常に動作するため、containers.yaml は適切です:

0 投票する
1 に答える
997 参照

google-app-engine - ポッドを作成するための Kubernetes/コンテナ エンジン HTTP API

HTTP を使用してポッドを作成する必要があります。

以下を使用してクラスターを作成しました。

次を使用してポッドを作成できます。

しかし、これは私が望むものではありません。http API を介してアプリケーションのインスタンスでポッドを作成したいと考えています。

クラスターを作成できるAPIがあります。しかし、ポッドを作成するには、このようなものが必要です。出来ますか?

0 投票する
2 に答える
1177 参照

google-cloud-platform - gcloud kubectl が Kubernetes API エンドポイントに接続できない

Google Container Engine でクラスターをセットアップしましたが、コンソールによると、その API エンドポイントは、クラスター内のマスターまたはノードのパブリック API とはまったく異なるようです (これは奇妙だと思いました)。

コマンド ライン ツールを使用してクラスターを管理しようとすると、gcloud発行されたすべてのコマンドがcloud preview container kubectl失敗し、API エンドポイントに到達するタイムアウトが発生します。

ネットワーク ファイアウォール ルールを変更しようとしましたが、うまくいきません。

ゲストブックチュートリアルに従って、Docker インスタンスを Kubernetes マネージド GKE クラスタにデプロイしようとしていましたが、現在、クラスタに対してコマンドを発行できないという問題が発生しています。

何が間違っている可能性がありますか?

0 投票する
2 に答える
6378 参照

google-cloud-platform - コンテナに docker attach する方法 - Google Cloud Platform / Kubernetes

VM でコンテナー化されたアプリを実行しています。2 つの Docker コンテナーで構成されます。最初のファイルには、WebSphere Liberty サーバーと Web アプリが含まれています。2 番目には、PostgreSQL とアプリの DB が含まれています。

私のローカル VM では、docker runを使用して 2 つのコンテナーを開始し、次にdocker attachを使用して Web サーバー コンテナーにアタッチします。これにより、server.xml ファイルを編集して DB のパブリック ホスト IP を指定し、コンテナー内の Web サーバー。アプリは正常に動作します。

今、Google Cloud Platform にアプリをデプロイしようとしています。

  1. gcloud 構成 (プロジェクト、コンピューティング/ゾーン) をセットアップしました。
  2. クラスタを作成しました。
  3. 両方のコンテナーを指定する JSON ポッド構成ファイルを作成しました。
  4. ポッドを作成しました。
  5. ポッド構成ファイルで指定されたポートのファイアウォールを開きました。

この時点で:

  1. ポッド ( gcloud preview container kubectl get pods ) を見ると、両方のコンテナが実行されていることがわかります。
  2. クラスタに SSH 接続し ( gcloud compute ssh xxx-mycluster-node-1 )、sudo docker psを発行すると、実行中のデータベース コンテナが表示されますが、ウェブサーバー コンテナは表示されません。sudo docker ps -lを使用すると、実行されていない Web サーバー コンテナーを確認できますが、10 秒ごとに開始と終了を試み続けます。

そのため、server.xml を更新して Liberty サーバーを開始する必要がありますが、このレルムでそれを行う方法がわかりません。ローカル VM と同じように Web サーバー コンテナーに接続できますか? どんな助けでも大歓迎です。ありがとう。

0 投票する
1 に答える
206 参照

kubernetes - クラスタ マスターに別の VM タイプを選択し、ノード数を変更する

クラスタ マスターに特定の vm タイプを指定するにはどうすればよいですか (非アクティブなノードに対してハイ メモリ インスタンスを使用したくありません)。また、クラスタにノードを追加して vm のタイプを選択する方法はありますか? (これで最初の問題は解決できます)