Harbor レジストリ に保存されているイメージを使用して、スーパーバイザー クラスタ の名前空間に vSphere ポッド をデプロイできます。

前提条件

  • アプリケーションをデプロイする名前空間と同じ名前を持つ Harbor レジストリ 内のプロジェクトにイメージをプッシュします。組み込みの Harbor レジストリ へのイメージのプッシュ を参照してください。
  • vspere-plugin.zip の内容を使用環境の実行ファイル パスに追加します。

手順

  1. 次のパラメータを含む YAML ファイルを作成します。
    ...
    namespace: <namespace-name>
    ...
    spec:
    ...
    image: <image registry URL>/<namespace name>/<image name>
  2. スーパーバイザー クラスタ にログインします。
    kubectl vsphere login --server=https://<server_adress> --vsphere-username <your user account name>
  3. アプリケーションをデプロイする名前空間に切り替えます。
    kubectl config use-context <namespace>
  4. その YAML ファイルから vSphere ポッド をデプロイします。
    kubectl apply -f <yaml file name>.yaml
  5. 次のコマンドを実行して、イメージが Harbor レジストリ からプルされており、vSphere ポッド が実行中の状態であることを確認します。
    kubectl describe pod/<yaml name>

結果

作成した YAML ファイルは、名前空間に基づいて名前が付けられた Harbor レジストリ 内のプロジェクトのイメージを使用して、指定した名前空間にデプロイされます。

例:

次の YAML ファイルを作成し、Harbor レジストリ 内の demoapp1 プロジェクトの busybox イメージを使用して、その YAML ファイルを名前空間 demoapp1 にデプロイします。

apiVersion: v1
kind: Pod
metadata:
  name: busybox
  namespace: demoapp1
spec:
  containers:
  - name: busybox
    image: <harbor_IP>/demoapp1/busybox:latest
    command:
      - sleep
      - "3600"
    imagePullPolicy: IfNotPresent
  restartPolicy: Always