《 Kubernetes进阶实战》一2.4.5修改及删除对象

举报
华章计算机 发表于 2019/05/29 13:43:00 2019/05/29
【摘要】 本书摘自《 Kubernetes进阶实战》一第二章,第2.4.5节,作者是马永亮

2.4.5 修改及删除对象

      成功创建于Kubernetes之上的对象也称为活动对象(live object),其配置信息(live object conf?iguration)由API Server保存于集群状态存储系统etcd中,“kubectl get TYPE NAME -o yaml”命令可获取到相关的完整信息,而运行“kubectl edit”命令可调用默认编辑器对活动对象的可配置属性进行编辑。例如,修改此前创建的Service对象myapp的类型为ClusterIP,使用“kubectl edit service myapp”命令打开编辑界面后修改type属性的值为ClusterIP,并删除NodePort属性,然后保存即可。对活动对象的修改将实时生效,但资源对象的有些属性并不支持运行时修改,此种情况下,编辑器将不允许保存退出。
       有些命令是kubectl edit命令某一部分功能的二次封装,例如,kubectl scale命令不过是专用于修改资源对象的replicas属性值而已,它也同样直接作用于活动对象。
       不再有价值的活动对象可使用“kubectl delete”命令予以删除,需要删除Service对象myapp时,使用如下命令即可完成:
                    ~]$ kubectl delete service myapp
                    service "myapp" deleted
       有时候需要清空某一类型下的所有对象,只需要将上面命令对象的名称换成“--all”选项便能实现。例如,删除默认名称空间中所有的Deployment控制器的命令如下:
                  ~]$ kubectl delete deployment --all
                  deployment.extensions "myapp" deleted
       需要注意的是,受控于控制器的Pod对象在删除后会被重建,删除此类对象需要直接删除其控制器对象。不过,删除控制器时若不想删除其Pod对象,可在删除命令上使用“--cascade=false”选项。
       虽然直接命令式管理的相关功能强大且适合用于操纵Kubernetes资源对象,但其明显的缺点是缺乏操作行为以及待运行对象的可信源。另外,直接命令式管理资源对象存在较大的局限性,它们在设置资源对象属性方面提供的配置能力相当有限,而且还有不少资源并不支持命令操作进行创建,例如,用户无法创建带有多个容器的Pod对象,也无法为Pod对象创建存储卷。因此,管理资源对象更有效的方式是基于保存有对象配置信息的配置清单来进行。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。