Kubernetesセットアップ

2587 ワード

Kuberneteのポッドまたは展開がコンテナイメージをプルするとき、最も簡単な方法はDockerHubのイメージをホストすることです.しかし、時には、プライベートレジストリ内のイメージをホストする必要がありますので、あなたは資格情報を格納するためにKubernetesの秘密を作成し、PODをプライベートレジストリから画像をプルできるようにする必要があります.

ステップ1:秘密を作成する


使用kubectl command , 次のように秘密を作成します
kubectl create secret generic dockerhub \
    --from-file=.dockerconfigjson=~/.docker/config.json \
    --type=kubernetes.io/dockerconfigjson
The create secret コマンドは、名前で秘密を作成しますdockerhub とタイプkubernetes.io/dockerconfigjson . The --from-file flagファイルから秘密を作成することを指定する.dockerconfigjson ユーザのホームディレクトリ、およびkubernetes.io/dockerconfigjson タイプは、秘密がDocker設定ファイルの形式にあることを指定するために使用されます.

ステップ2 : pod定義で秘密を指定します


POD定義のspecセクションで次の行を追加します.
imagePullSecrets:
  - name: dockerhub
The imagePullSecrets フィールドは、PODがプライベートレジストリからイメージをプルするために秘密を使用することを指定します.The name Field秘密の名前を指定します.POD定義の完全な例を以下に示します.
---
apiVersion: v1
kind: Pod
metadata:
  name: my-app
spec:
  containers:
  - name: my-app-container
    image: my-docker-hub-user/my-app-image
  imagePullSecrets:
  - name: dockerhub

ステップ3 :ポッドの配置


podは現在プライベートイメージを使用してKubernetesクラスタで展開される準備ができています.
kubectl apply -f my-app.yaml