零基础拿下云原生 CKA 认证
王雪飞
前东软高级工程师
306 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 5 讲/共 23 讲
开篇词 (1讲)
零基础拿下云原生 CKA 认证
15
15
1.0x
00:00/00:00
登录|注册

04|K8s的沟通语言YAML文件

你好,我是雪飞。
上一课我介绍了 K8s 的管理节点和工作节点上的组件,以及 K8s 丰富的资源对象,这些资源对象就像 K8s 给我们提供的工具包,满足了我们部署应用和管理集群的各种要求。有两种方式与这些资源对象打交道:一种是使用 kubectl 命令,另一种是使用 YAML 文件。它们分别对应着命令式与声明式这两种操作模式。

命令式与声明式

命令式操作就像是直接下达指令,比如告诉 K8s 创建或删除某个资源对象。这种方式很直接,但如果是多人同时操作或者频繁修改,就可能引发混乱,因为它不会记录所有的操作过程。
声明式操作则是向 K8s 说明对于某个资源对象你所期望达到的状态,使用 “kubectl apply” 命令让 K8s 读取文件并且自动将资源对象的当前状态变更为你所期望的状态。这种方式的好处在于,你可以随时查看声明文件,清晰地知道资源对象的期望状态,并可以通过修改文件来实现对资源对象的管理。
简单来说,命令式操作适合快速执行简单任务,而声明式操作则适合需要精细管理的复杂场景,特别是在团队协作和自动化部署中非常有用。K8s 鼓励使用声明式操作,因为这种方式更符合 K8s 自动化和自我修复的设计哲学。

YAML 文件的优势

YAML(YAML Ain’t Markup Language)文件就是 K8s 中最常用的声明式文件类型,CKA 考试中也会让你实际编写或者修改 YAML 文件,从而完成对 K8s 资源对象的操作。使用 YAML 文件有这样几个优势:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. K8s 中有两种方式与资源对象打交道:命令式操作和声明式操作,分别对应着直接下达指令和说明对于某个资源对象所期望达到的状态。 2. 使用声明式操作可以随时查看声明文件,清晰地知道资源对象的期望状态,并可以通过修改文件来实现对资源对象的管理,适合团队协作和自动化部署。 3. YAML 文件是 K8s 中最常用的声明式文件类型,能够处理复杂的数据结构,结构清晰易于理解和编辑,具有可重用性和可共享性。 4. K8s 的 YAML 文件中包含了通用的常规属性,如 apiVersion、kind、metadata 和 spec,需要熟悉这些属性才能写好 K8s 的 YAML 文件。 5. 通过 “kubectl explain” 命令可以查看资源对象的属性介绍,快速了解这些属性以及用法。 6. 通过官方模板编写文件和使用命令自动生成 YAML 文件模板是编写 YAML 文件的两个技巧。 7. 编写 YAML 文件的注意事项包括多使用注释、多个相关的资源对象可以写在一个 YAML 文件中同时部署、注意文件格式和将 YAML 文件纳入版本控制系统。 8. 使用 “kubectl apply -f” 命令可以部署文件中的资源对象,而使用 “kubectl delete -f” 命令可以删除文件中所部署的全部资源对象。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《零基础拿下云原生 CKA 认证》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部
文章页面操作
MAC
windows
作用
esc
esc
退出沉浸式阅读
shift + f
f11
进入/退出沉浸式
command + ⬆️
home
滚动到页面顶部
command + ⬇️
end
滚动到页面底部
⬅️ (仅针对订阅)
⬅️ (仅针对订阅)
上一篇
➡️ (仅针对订阅)
➡️ (仅针对订阅)
下一篇
command + j
page up
向下滚动一屏
command + k
page down
向上滚动一屏
p
p
音频播放/暂停
j
j
向下滚动一点
k
k
向上滚动一点
空格
空格
向下滚动一屏
播放器操作
MAC
windows
作用
esc
esc
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)