Kubectl apply 不会更新 pod 或部署

Han*_*des 5 kubernetes google-kubernetes-engine kubectl

每当镜像有更新时,我都会使用 CI 来更新我的 kubernetes 集群。每当推送镜像并具有最新标签时,kubectl 都会应用现有部署,但不会更新任何内容。

这就是运行的 $ kubectl apply --record --filename /tmp/deployment.yaml

我的目标是当运行应用时执行滚动部署。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
    name: api
spec:
    replicas: 1
    template:
    metadata:
        labels:
        app: api
    spec:
        containers:
        - name: api
        image: us.gcr.io/joule-eed41/api:latest
        imagePullPolicy: Always
        ports:
            - containerPort: 1337
        args:
            - /bin/sh
            - -c
            - echo running api;npm start
        env:        
        - name: NAMESPACE
            valueFrom:
            configMapKeyRef:
                name: config
                key: NAMESPACE
Run Code Online (Sandbox Code Playgroud)

小智 1

正如其他人所建议的,有一个特定的标签。使用以下命令设置新图像

kubectl 设置镜像部署/deployment_nameDeployment_name=image_name:image_tag

在你的情况下它会是

kubectl 设置镜像部署/api api=us.gcr.io/joule-eed41/api:0.1