我想使用 Kubernetes部署并引用具有语义标签名称的容器映像。例如application:latest
, application:testing
, application:production
.
设置它是直截了当的,并且imagePullPolicy: Always
在我的容器规范中,我还可以通过以下方式快速推出新版本:
$ REPLICAS=$(kubectl get deployment application --template="{{.spec.replicas}}")
$ kubectl scale --replicas=0 deployment application
deployment "application" scaled
$ kubectl scale --replicas=$REPLICAS deployment application
deployment "application" scaled
缺点是所有 pod 都在新的 pod 准备好之前被杀死。因此,我希望进行滚动更新。
一种解决方案是删除语义标签名称并使用某物。喜欢application:v123
。但我很想保持我的脚本简单并保持语义名称。有没有办法做到这一点?
...
编辑/更新...这就是我的deployment.yaml
配置:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
template:
metadata:
labels:
app: application
spec:
containers:
- name: application
image: application:latest
imagePullPolicy: Always
它基本上会一直保持不变,但相关的容器图像会在后台更新。
...
干杯