1. 产品简介
  2. 快速开始
  3. 编写构建流程
  4. 配置构建计划
  5. 构建环境依赖包
  6. 构建制品
  7. 构建节点
  8. 管理构建计划
  9. 系统插件
  10. 自定义团队插件
  11. 最佳实践
  12. 常见问题
  13. 词汇表
持续部署 / 常见问题 / 部署 Kubernetes 资源时拉取私有库镜像

部署 Kubernetes 资源时如何拉取私有库镜像?

文章内容

在部署 Kubernetes 资源时,如果 manifest 引用的镜像是存储于私有库的镜像,则需要创建 K8s Secret,并在 manifest 中配置 imagePullSecrets 才能成功拉取镜像。

检查 K8s Secret

首先检查 K8s 中是否存在以 coding 开头的 Secret,命令:

kubectl get secrets

或通过云厂商的网页查看:

如果使用腾讯云账号登录 CODING,在设置 CODING CD 时,会在 TKE 集群中自动创建名为 coding-registry-cred-$(user_id)的 Secret:

创建项目令牌

如果上一步检查发现没有 K8s Secret,则在 CODING「项目设置」——「开发者选项」——「项目令牌」页面创建一个具有「读取制品库」权限的令牌:

创建 K8s Secret

把上一步获得的项目令牌创建为 K8s Secret,命令:

kubectl create secret docker-registry coding-docker \
--docker-server=仓库域名 --docker-username=项目令牌用户名 --docker-password=项目令牌密码

你可以在 CODING 制品仓库中的配置凭据中找到仓库域名。

或通过云厂商的网页创建:

使用 K8s Secret

在 manifest 中通过imagePullSecrets 配置此 Secret 用于拉取镜像(最后两行):

apiVersion: apps/v1
kind: Deployment
...
    spec:
      containers:
      - name: my-api
        image: my-team-docker.pkg.coding.net/demo/docker/my-api:1.2.3
        ports:
        - containerPort: 80
      imagePullSecrets:
      - name: coding-docker

参考资料

从私有仓库拉取镜像 - Kubernetes 官方文档

上一篇使用 CODING 持续部署的强大表达式
最近更新
感谢反馈有用
感谢反馈没用

在阅读中是否遇到以下问题?

您希望我们如何改进?

工单咨询