您可以使用 Harbor 注册表 中存储的映像在 主管集群 上的命名空间中部署 vSphere Pod

前提条件

  • 将映像推送到 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 Pod
    kubectl apply -f <yaml file name>.yaml
  5. 运行以下命令,确认已从 Harbor 注册表 中提取映像,并且 vSphere Pod 处于运行状态:
    kubectl describe pod/<yaml name>

结果

通过使用 Harbor 注册表 中以命名空间命名的项目中的映像将创建的 YAML 文件部署到指定的命名空间。

示例:

使用 Harbor 注册表 中 demoapp1 项目内的 busybox 映像在命名空间 demoapp1 上创建和部署以下 YAML 文件:

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