首先,我们需要获取当前Deployment的配置信息,以便后续进行修改。可以使用以下命令获取Deployment的配置: ```bash kubectl get deployment-o yaml > deployment.yaml ``` 这条命令的作用是将指定Deployment的配置输出到一个YAML格式的文件中,我们将在后续步骤中对该文件进行修改。 ### 步骤2:修改Deployment中的镜像信息 ...
(4)服务发现:用户不需使用额外的服务发现机制就能基于K8s自身能力实现服务发现和负载均衡。 (5)滚动更新:对容器中的镜像进行分批更新。 (6)版本回退:对容器中运行的镜像版本进行回退。 (7)密钥和配置管理:不需重新构建镜像即可部署和更新密钥和应用配置,类似热部署。 (8)存储编排:自动实现存储系统挂载,对有状态应...
方式1-修改配置清单 方式2-打标签 方式3-scale 更新镜像 方式1:打标签 方式2:修改配置清单 方式3:设置镜像 方式4:修改edit 回滚 2.控制器-DaemonSet 修改配置文件daemonset 回滚 3.StatefulSet 控制器deployment,DaemonSet,StatefulSet k8s中控制器分为:deployment、DaemonSet、StatufluSet Deployment:一般用来部署长期运...
1、先删掉deployment控制器:kubectl delete -f pc-deploymnet.yaml 2、再新建deployment(这次是支持回退版本):使用 --record ·kubectl create -f pc-deploymnet.yaml --record 3、查看deployment、replicaset、pod: ·kubectl get deploy,rs,pod -ndev -owide 4、执行镜像更新: ·kubectl set image deploy pc...
kubectl edit deployment nginx -n dev 定位到replicase参数所在行,然后修改它的值 三、自愈&故障转移 1.自愈 手动删除某个pod,或者某个pod异常挂掉,k8s会自动创建一个新的pod。 先通过命令自动监听pod的变化 kubectl get pod -n dev -owide -w 再开启一个新的bash会话,手动删除一个pod ...
k8s第一个重要设计思想:控制器模式。k8s里第一个控制器模式的完整实现:Deployment。它实现了k8s一大重要功能:Pod的“水平扩展/收缩”(horizontal scaling out/in)。该功能从PaaS时代开始就是一个平台级项目必备编排能力。 若你更新了Deployment的Pod模板(如修改容器的镜像),则Deployment就需遵循“滚动更新”(rolling up...
通过kubectl get pods --show-labels命令来查看当前系统中的Pod对象,可以成功观察到nginx-deployment创建的3个Pod。 3. Deployment的更新 假如我们现在想要让 nginx pod 使用 nginx:1.9.1 的镜像来代替原来的 nginx:1.7.9 的镜像,运行以下命令: kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1 ...
kind:Deployment metadata:name:nginx-deploy labels:k8s-app:nginx-demo spec:selector:matchLabels:app:nginx replicas:3template:metadata:labels:app:nginx spec:containers:-name:nginx image:nginx:1.7.9ports:-containerPort:80 现在我们将刚刚保存的yaml文件中的nginx镜像修改为nginx:1.13.3,然后在spec下面添加滚...
到这里deployment工作负载的第一个用例已经成了。 deployment更新 仅当Deployment Pod 模板(即 .spec.template字段)发生改变时,例如模板的标签或容器镜像被更新, 才会触发 Deployment 上线。 其他更新(如对 Deployment 执行扩缩容的操作)不会触发上线动作。 image-20210920204824833 我们可以通过kubectl set命令更新现有工作...