玩k8s----资源编排(YAML)

玩k8s----资源编排(YAML)

1.1 编写YAML注意事项

  • Kubernetes支持YAML和JSON格式创建资源对象

  • JSON格式用于接口之间消息的传递

    YAML格式用于配置和管理

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

语法格式:

  • 缩进表示层级关系

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

  • 通常开头缩进 2 个空格

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

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

  • “#”注释

1.2 YAML内容解析

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

玩k8s----资源编排(YAML)_第1张图片

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

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

具体字段意义:

apiVersion API版本
kind 资源类型
metadata 资源元数据
spec 资源规格
replicas 副本数量
selector 标签选择器
template Pod模板
metadata Pod元数据
spec Pod规格
containers 容器配置
name: nginx-deployment 控制器的名字
namespace: default 命名空间
  • 查看资源版本标签
[root@master ~]# kubectl api-versions
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1 "注册相关"
apiregistration.k8s.io/v1beta1
apps/v1 "apps/v1代表:包含一些通用的应用层的api组合,如:Deployments, RollingUpdates, and ReplicaSets"
apps/v1beta1 "在kubernetes1.8版本中,新增了batch/v1beta1,后CronJob 已经迁移到了 batch/v1beta1,然后再迁入batch/v1"
apps/v1beta2
authentication.k8s.io/v1 "资源鉴权相关的api组合"
authentication.k8s.io/v1beta1
authorization.k8s.io/v1
authorization.k8s.io/v1beta1
autoscaling/v1 "弹性伸缩相关的api组合"
autoscaling/v2beta1

你可能感兴趣的:(Docker容器与K8s,kubernetes,docker,yaml编排)