《 Kubernetes进阶实战》一3.5.2声明式对象配置管理方式

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

3.5.2 声明式对象配置管理方式

      陈述式对象配置管理机制中,同时指定的多个资源必须进行同一种操作,而且其replace命令是通过完全替换现有的活动对象来进行资源的更新操作,对于生产环境来说,这并非理想的选择。声明式对象配置操作在管理资源对象时将配置信息保存于目标对象的注解中,并通过比较活动对象的当前配置、前一次管理操作时保存于注解中的配置,以及当前命令提供的配置生成更新补丁从而完成活动对象的补丁式更新操作。此类管理操作的常用命令有apply和patch等。
       例如,创建3.5.1节中定义的主容器使用“ikubernetes/myapp: v1”镜像的Pod资源对象,还可以使用如下命令进行:
             ~]$ kubectl apply -f pod-example.yaml
             pod/pod-example created
       而更新对象的操作,可在直接修改原有资源清单文件后再次对其执行apply命令来完成,例如,修改Pod资源配置清单中的镜像文件为“ikubernetes/myapp: v2”后再次执行如上的apply命令:
        ~]$ kubectl apply -f pod-example.yaml
        pod/pod-example configured
       命令结果显示资源重新配置完成并且已经生效。事实上,此类操作也完全能够使用patch命令直接进行补丁操作。而资源对象的删除操作依然可以使用apply命令,但要同时使用--prune选项,命令的格式为“kubectl apply -f <directory/> --prune -l <labels>”。需要注意的是,此命令异常凶险,因为它将基于标签选择器过滤出所有符合条件的对象,并检查由-f指定的目录中是否存在某配置文件已经定义了相应的资源对象,那些不存在相应定义的资源对象将被删除。因此,删除资源对象的操作依然建议使用陈述式对象配置方式的命令“kubectl delete”进行,这样的命令格式操作目标明确且不易出现偏差。

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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