|Index|开始使用SUSE Private Registry|使用命令行进行安装
Applies to SUSE Private Registry

4 使用命令行进行安装

以下步骤描述了如何在 Kubernetes 集群上部署 SUSE Private Registry (私有注册表)。

4.1 从 Kubernetes 获取 SUSE 客户中心 密钥

要从 私有注册表 下载并安装 SUSE 注册表 镜像,您需要一个带有 SUSE 客户中心 (SCC) 镜像凭据的 Kubernetes 密钥。 要从 SCC 获取凭据,请按照以下步骤操作:

  1. 请访问 SUSE 客户中心(网址: https://scc.suse.com)并登录。

  2. 从左侧边栏选择具有有效 私有注册表 订阅的组织。

  3. 在顶部菜单中选择 Proxies。右上角即会显示身份凭证。

  4. 要查看口令,请单击“眼睛”图标。

  5. 创建一个包含获取的口令的 password.txt 文件。

    >head -1 ./password.txt | helm registry login registry.suse.com \
      --username <PRIVATE_REGISTRY_USERNAME> --password-stdin
  6. 为 SUSE 注册表 创建一个名称空间。

    >kubectl create namespace <PRIVATE_REGISTRY_NAMESPACE>
  7. 通过运行以下命令,将从 SCC 检索到的镜像凭据存储为 Kubernetes 密钥:

    >kubectl create secret docker-registry suse-registry \
      --namespace <PRIVATE_REGISTRY_NAMESPACE> \
      --docker-server=registry.suse.com \
      --docker-username=<PRIVATE_REGISTRY_USERNAME> \
      --docker-password=$(head -1 ./password.txt)
  8. 可选地,要使用 TLS 加密通信,请从您的私钥和证书文件创建一个 TLS 密钥。

    >kubectl create secret tls suse-registry-tls \
      --namespace <PRIVATE_REGISTRY_NAMESPACE> \
      --cert=<CERTIFICATE>.pem \
      --key=<PRIVATE_KEY>.pem

4.2 使用 Helm 安装和运行 私有注册表

以下步骤描述了如何使用 Helm 安装 私有注册表。 将 <RELEASE_NAME> 替换为您自定义的 Helm 图表部署的发布名称。

  1. 使用获取的 SCC 镜像凭据登录到 SUSE 注册表。

    >head -1 ./password.txt | helm registry login registry.suse.com \
      --username <SUSE_REGISTRY_USERNAME> --password-stdin
  2. 安装最新版本的 私有注册表 Helm 图表。

    >helm install <RELEASE_NAME> \
      oci://registry.suse.com/private-registry/private-registry-helm \
      --namespace <PRIVATE_REGISTRY_NAMESPACE>

    当您安装 私有注册表 Helm 图表时,它会显示以下输出:

    NOTES:
    CHART VERSION: 1.1.6
    It may take several minutes for the SUSE Private Registry  1.1.2 deployment to complete.
    
    Once the deployment has finished, you will be able to open the SUSE Private Registry portal at https://core.harbor.domain
    
    To get the admin credentials, copy and run the following commands:
    
    echo Username: "admin"
    echo Password: $(kubectl get secret --namespace <PRIVATE_REGISTRY_NAMESPACE>-harbor-core <RELEASE_NAME> -o jsonpath="{.data.HARBOR_ADMIN_PASSWORD}" | base64 -d)

    使用 Helm 版本 4,您可以使用摘要来指定要安装的图表:

    >helm install <RELEASE_NAME> \
      oci://registry.suse.com/private-registry/private-registry-helm@sha256:<DIAGEST_OF_CHART_TO_INSTALL> \
      --namespace <PRIVATE_REGISTRY_NAMESPACE>
Tip
Tip
  • 要获取管理员用户的密码,您还可以运行以下命令:

    >kubectl get secret \
      --namespace <PRIVATE_REGISTRY_NAMESPACE> \
      --harbor-core <RELEASE_NAME> \
      -o jsonpath="{.data.HARBOR_ADMIN_PASSWORD}" | base64 -d; echo
  • 可以使用 kstatus watcher 和标志 '--wait=watcher' 来确保所有对象准备好完成安装。 使用 watcher 可能会导致命令执行时间更长。

要用来自 suse_registry_override.yaml 文件的自定义值覆盖默认安装,请参考 Appendix A, 覆盖 SUSE Private Registry Helm 图表

该命令开始部署多个相关容器,可能需要几分钟才能完成。 它还会打印一条消息,包含 私有注册表 Web 门户的 URL 和获取管理员凭据的命令。

4.3 升级 私有注册表

要将 Helm 图表的版本升级到特定的新版本,请运行以下命令:

>helm upgrade <RELEASE_NAME> \
  oci://registry.suse.com/private-registry/private-registry-helm \
  --version <NEW_VERSION_OF_HELM_CHART> \
  --namespace <PRIVATE_REGISTRY_NAMESPACE> \

摘要仅在 Helm 4 中可用。

>helm update <RELEASE_NAME> \
  oci://registry.suse.com/private-registry/private-registry-helm@sha256:<DIAGEST_OF_CHART_TO_INSTALL> \
  --namespace <PRIVATE_REGISTRY_NAMESPACE> \