Jac*_*cob 4 kubernetes kubernetes-helm
我正在尝试使用 Jenkins、Kubernetes 和 Kubernetes Helm 为我的微服务实现 CI/CD 管道。在这里,我使用 Helm chart 打包 YAML 文件并部署到 Kubernetes 集群中。我现在正在学习 Helm chart 的实现和部署。学习的时候,在部署YAML文件中找到了镜像名称定义。
我有两个问题:
Kubernetes 清单中的 Docker 镜像名称遵循与其他地方相同的规则。如果你有一个像postgres:9.6或的图像名称myname/myimage:foo,它们将像往常一样在 Docker Hub 上查找。如果您使用第三方存储库(Google GCR、Amazon ECR、quay.io 等),您需要在映像名称中包含存储库名称。它与您提供给docker runor 的字符串完全相同docker build -t。
Helm 不直接与 Docker 注册表对话。这里的 Helm 流程是:
因此,如果您的 Helm 图表命名了一个不存在的图像,则所有这些流程都将正常运行,直到它创建结束ImagePullBackOff状态的Pod 。
PS:如果你还没有这样做,你应该在你的 Helm 图表中配置图像标签(冒号后面的部分),并将你的图像名称声明为类似myregistry.io/myname/myimage:{{ .Values.tag }}. 然后,您的 CD 系统可以给每个构建一个不同的标记并将其传递到helm install. 这使得可以相当无缝地回滚。
| 归档时间: |
|
| 查看次数: |
2103 次 |
| 最近记录: |