我为我的应用定义了部署:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: myapp-deployment
spec:
replicas: 2
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: 172.20.34.206:5000/myapp_img:2.0
ports:
- containerPort: 8080
Run Code Online (Sandbox Code Playgroud)
现在,如果我想将我的应用程序的图像2.0更新为3.0,我这样做:
$ kubectl edit deployment/myapp-deploymentvim开了.我将图像版本从2.0更改为3.0并保存.它如何实现自动化?有没有办法只运行命令?就像是:
$ kubectl edit deployment/myapp-deployment --image=172.20.34.206:5000/myapp:img:3.0
Run Code Online (Sandbox Code Playgroud)
我想使用Kubernetes API REST但我不懂文档.
Tim*_*ann 43
您可以使用PATCH动词通过REST API执行此操作.但是,更简单的方法是使用kubectl补丁.以下命令更新应用程序的标记:
kubectl patch deployment myapp-deployment -p \
'{"spec":{"template":{"spec":{"containers":[{"name":"myapp","image":"172.20.34.206:5000/myapp:img:3.0"}]}}}}'
Run Code Online (Sandbox Code Playgroud)
根据文档,YAML格式也应该被接受.请参阅Kubernetes问题#458(特别是此评论),这可能暗示一个问题.
KCD*_*KCD 19
有一个set image命令在简单的情况下可能有用
更新资源的现有容器映像.可能的资源包括(不区分大小写):pod(po),replicationcontroller(rc),部署(deploy),daemonset(ds),job,replicaset(rs)
kubectl set image (-f FILENAME | TYPE NAME) CONTAINER_NAME_1=CONTAINER_IMAGE_1 ... CONTAINER_NAME_N=CONTAINER_IMAGE_Nhttp://kubernetes.io/docs/user-guide/kubectl/kubectl_set_image/
$ kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1
deployment "nginx-deployment" image updated
Run Code Online (Sandbox Code Playgroud)
http://kubernetes.io/docs/user-guide/deployments/
| 归档时间: |
|
| 查看次数: |
22435 次 |
| 最近记录: |