111111

K8S-服务编排YAML

5.1 编写YAML注意事项

YAML 是一种简洁的非标记语言。

语法格式:

  • 缩进表示层级关系

  • 不支持制表符“tab”缩进,使用空格缩进

  • 通常开头缩进 2 个空格

  • 字符后缩进 1 个空格,如冒号、逗号等

  • “---” 表示YAML格式,一个文件的开始

  • “#”注释

5.2 YAML内容解析

在K8S部署一个应用的YAML内容大致分为两部分:

 

 

控制器定义:定义控制器属性

被控制对象:Pod模板,定义容器属性

具体字段意义:

1
2
3
4
5
6
7
8
9
10
11
| apiVersion | API版本    |
| ---------- | ---------- |
| kind       | 资源类型   |
| metadata   | 资源元数据 |
| spec       | 资源规格   |
| replicas   | 副本数量   |
| selector   | 标签选择器 |
| template   | Pod模板    |
| metadata   | Pod元数据  |
| spec       | Pod规格    |
| containers | 容器配置   |

 

5.3 资源字段太多,记不住怎么办?

很多同学YAML不会写!主要原因还是用的少,里面都是由于各个资源组成,熟悉了每个资源应用,自然就会写了,但也不用等到熟悉各种资源,这里教你几个技巧,帮助快速上手。

  • 用run命令生成部署模板

    kubectl create deployment nginx --image=nginx:1.14 -o yaml --dry-run> my-deploy.yaml

  • 用get命令将已有部署的应用yaml导出

    kubectl get my-deploy/nginx -o=yaml --export > my-deploy.yaml

  • 如果某个字段单词不记得了,可以通过explain查看更详细的帮助文档获得

    kubectl explain pods.spec.containers

 

关于YAML镜像策略一般有3种:

1
2
3
1.Always: 默认值,每次创建POD 都会重新拉取镜像
2.IfNotPresent: 镜像在宿主机不存在时拉取
3.Never: POd永远不会主动拉取这个镜像

 

posted @   赵SIR  阅读(1935)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示