开发者社区> 问答> 正文

如何修改 Pod 镜像保持 IP 不变?

如何修改 Pod 镜像保持 IP 不变?

展开
收起
小天使爱美 2020-03-20 17:27:37 1087 0
1 条回答
写回答
取消 提交回答
  • 背景 当您在Virtual-Node节点部署一个bare pod应用,在程序迭代过程解决一些bug或者增加一些特性后,制作新镜像,需要更新bare pod镜像,同时需要保证Pod的IP不变。您可以参考此文档。

    前提条件 您需要开通弹性容器实例 ECI 服务、访问控制 (RAM) 服务。并完成对弹性容器实例 ECI 服务的 RAM 角色授权。 在本地安装kubectl命令,同时保证kubectl可以与您的kubernetes集群交互。可以参考通过 kubectl 连接 Kubernetes 集群。 通过命令创建Pod 准备一个简单的Pod:

    apiVersion: v1 kind: Pod metadata: name: nginx namespace: default spec: nodeName: virtual-kubelet containers: - image: nginx:1.7.9 imagePullPolicy: Always name: nginx 执行命令创建Pod:

    kubectl create -f nginx.yaml 通过命令查询Pod信息 $ kubectl get pod/nginx -n default -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx 1/1 Running 0 7m34s 192.168.0.29 virtual-kubelet 通过ECI控制台查询Pod信息 eci_detail_1

    通过命令修改Pod镜像 通过kubectl修改bare pod的镜像或者镜像tag可以采用一下几种方式:

    kubectl patch kubectl edit kubectl apply 演示将Pod的镜像nginx:1.7.9修改为nginx:1.9.6

    kubectl apply方式 修改容器镜像tag

    apiVersion: v1 kind: Pod metadata: name: nginx namespace: default spec: nodeName: virtual-kubelet containers: - image: nginx:1.9.6 imagePullPolicy: Always name: nginx 执行kubectl apply:

    kubectl apply -f nginx.yaml 执行kubectl验证镜像和IP:

    $ kubectl get pod/nginx -n default -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx 1/1 Running 0 8m27s 192.168.0.29 virtual-kubelet kubectl edit方式 执行edit命令进入交互模式,修改Pod镜像:

    kubectl edit pod/nginx -o yaml 执行kubectl验证镜像和IP:

    $ kubectl get pod/nginx -n default -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx 1/1 Running 0 9m11s 192.168.0.29 virtual-kubelet kubectl patch方式 执行patch命令修改Pod内容器镜像:

    kubectl patch pod nginx -p '{"spec":{"containers":[{"name": "nginx","image": "nginx:1.9.6"}]}}' 执行kubectl验证镜像和IP:

    $ kubectl get pod -n default -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx 1/1 Running 0 9m43s 192.168.0.29 virtual-kubelet 通过ECI控制台验证 Pod执行完镜像更新操作后,可以去ECI控制台查看ContainerGroup详情,确认镜像是否修改成功。

    eci_detail_2

    2020-03-20 17:28:24
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Docker系统容器实践 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载