【问题标题】:Image tag in Replication Controller file复制控制器文件中的图像标记
【发布时间】:2018-07-01 00:12:49
【问题描述】:

我有一个名为 gcr.io/$(PROJECT_ID)/img-name:46d49ab 的图像被推送到 Google Container Registry。

在我的复制控制器中,我有:

apiVersion: v1
kind: ReplicationController
metadata:
  name: go-server-rc
spec:
  replicas: 3
  selector:
    name: go-server
    version: v8
  template:
    metadata:
      labels:
        name: go-server
        version: v8
    spec:
      containers:
      - name: go-server
        image: gcr.io/$(PROJECT_ID)/img-name:46d49ab
        ports:
        - containerPort: 5000

这行得通,但当我删除提交哈希标签46d49ab 时就不行了。我不想每次提交都更改标签。

我还在 Google Container Builder 上设置了一个触发器,以在每次提交后拉取我的存储库的主分支,并创建一个映像 gcr.io/$(PROJECT_ID)/img-name:$(COMMIT_HASH)

如何编辑我的复制控制器文件以获取最新的?人们使用什么工作流程?

【问题讨论】:

  • 为什么直接使用ReplicationController?为什么不使用Deployment

标签: kubernetes google-kubernetes-engine google-container-registry google-container-builder


【解决方案1】:

It's possible 使用 latest 标签确保 Kubernetes 每次运行时都会拉取镜像。每次你创建一个新的镜像时,使用latest 标记它并将它推送到容器注册表。但是,我不建议这样做。

您不会知道哪些 pod 正在运行您的代码的哪个版本。我完全按照你在问题中提到的那样做。我发现每次更新映像时更新部署对象会更好。这将确保部署处于您期望的状态,并且在查看图像时故障排除会更加清晰。

【讨论】:

    猜你喜欢
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多