web-dev-qa-db-ja.com

Google Container EngineでプライベートDockerイメージを実行する方法

Google Container Engine でローカルに構築したDockerイメージを実行するにはどうすればよいですか?

38
proppy

画像を Google Container Registry にプッシュし、ポッドマニフェストから参照できます。

詳細な手順

DOCKER_Hostが適切にセットアップされていると想定すると、GKEクラスタは、Kubernetesの最新バージョンを実行し、 Google Cloud SDK がインストールされています。

  1. いくつかの環境変数を設定する

    gcloud components update kubectl
    gcloud config set project <your-project>
    gcloud config set compute/zone <your-cluster-zone>
    gcloud config set container/cluster <your-cluster-name>
    gcloud container clusters get-credentials <your-cluster-name>
    
  2. 画像にタグを付ける

    docker tag <your-image> gcr.io/<your-project>/<your-image>
    
  3. 画像をプッシュ

    gcloud docker Push gcr.io/<your-project>/<your-image>
    
  4. コンテナのポッドマニフェストを作成します:my-pod.yaml

    id: my-pod
    kind: Pod
    apiVersion: v1
    desiredState:
      manifest:
        containers:
        - name: <container-name>
          image: gcr.io/<your-project>/<your-image>
        ...
    
  5. このポッドをスケジュール

    kubectl create -f my-pod.yaml
    
  6. 実行するポッドごとに手順(4)から繰り返します。 ---を区切り文字として使用して、1つのファイルに複数の定義を含めることができます。

47
proppy

ステップ1:作業する必要があるコンテナーを指定する

gcloud container clusters get-credentials [$cluster_name]

ステップ2:実行するDockerイメージにタグを付ける

docker tag nginx gcr.io/first-project/nginx

手順3:画像をプッシュする

gcloud docker Push gcr.io/first-project/nginx

ステップ4:yamlファイルを作成する(test.yaml)

apiVersion: v1
kind: Pod
containers:
- name : nginx1
  image: gcr.io/first-project/nginx

ステップ5:ポッドを作成する

kubectl create –f test.yaml
1
Vageesha

私が使用するセットアップは 独自のDockerレジストリーをデプロイする とsshポート転送を組み合わせたものです。そのために、クラスターにsshサーバーをセットアップし、~/.ssh/configレジストリに転送するポートを構成します。

また、jenkinsを使用して、クラウド内で画像を構築しています。

1
ruediste

ポッドを起動する直前に、プライベートDockerレジストリのレジストリ認証キーを、ミニオンのルートディレクトリにある.dockercfgファイルにコピーできます。または、開始する前にミニオンでdocker loginを実行します。

    docker login --username=<> --password=<> --email=<> <DockerServer>

ポッド構成でプライベートDockerイメージを参照すると、期待どおりに機能するはずです。

0
Leela