Minikube 环境搭建
Kubernetes 的基本架构
Kubernetes 声明式语言 YAML
YAML操作Kubernetes核心对象
什么是 YAML
YAML(YAML Ain’t Markup Language)是一种可读的数据序列化语言,通常用于配置文件、数据序列化和交换格式。YAML 的设计目标是易读易写,并且能够映射到动态语言中的数据结构
YAML 是 JSON 的超集,支持整数、浮点数、布尔、字符串、数组和对象等数据类型。也就是说,任何合法的 JSON 文档也都是 YAML 文档
和 JSON 比起来,YAML 的语法更简单,形式也更清晰紧凑,比如:
- 使用空白与缩进表示层次(有点类似 Python),可以不使用花括号和方括号。
- 可以使用 # 书写注释,比起 JSON 是很大的改进。
- 对象(字典)的格式与 JSON 基本相同,但 Key 不需要使用双引号。
- 数组(列表)是使用 - 开头的清单形式(有点类似 MarkDown)。
- 表示对象的 : 和表示数组的 - 后面都必须要有空格。
- 可以使用 — 在一个文件里分隔多个 YAML 对象。
示例1
该 YAML 对象,声明了 1 个 Master 节点,3 个 Worker 节点
# YAML对象(字典)
Kubernetes:
master: 1
worker: 3
示例2
Kubernetes,组合数组和对象的yaml
Kubernetes:
master:
- apiserver: running
- etcd: running
node:
- kubelet: running
- kube-proxy: down
- container-runtime: [docker, containerd, cri-o]
什么是 API 对象
使用 kubectl api-resources 来查看当前 Kubernetes 版本支持的所有对象:
kubectl api-resources
在输出的“NAME”一栏,就是对象的名字,比如 ConfigMap、Pod、Service 等等,第二栏“SHORTNAMES”则是这种资源的简写,在我们使用 kubectl 命令的时候很有用,可以少敲几次键盘,比如 Pod 可以