0
点赞
收藏
分享

微信扫一扫

yaml文件解析

静守幸福 2023-03-01 阅读 95
yaml运维

使用k8s部署应用程序的流程yaml文件解析_yaml

yaml文件格式说明

k8s是一个容器编排引擎,使用yaml文件编排部署应用。yaml语法格式如下:

  • 缩进表示层级关系
  • 不支持tab缩进,使用空格缩进
  • 通常开头缩进两个字符
  • 符号后缩进一个空格,比如:
  • “---”表示yaml文件格式,文件的开始
  • “#”表示注释

yaml文件创建资源对象

创建一个简单的deployment资源对象

apiVersion: apps/v1 # API版本
kind: Deployment # 资源类型
metadata: # 资源元数据
name: demo3 # 资源deployment名称
namespace: default # 名称空间
spec: # 资源规格
replicas: 3 # 副本数
selector: # 标签选择器 这里的标签一定要和template里的标签一致
matchLabels:
project: ec
app: portal
template: # pod模板
metadata: # pod元数据
labels:
project: ec
app: portal
spec: # pod规格
containers:
- name: web1
image: nginx:1.20

创建一个简单的service对象

apiVersion: v1 
kind: Service
metadata:
name: demo3
namespace: default
spec:
selector: # service里的标签一定要和对应的deployment里的标签一致
project: ec
app: portal
ports:
- protocol: TCP
port: 80 # service端口 通过clusterIp访问用
targetPort: 80 # 镜像内服务端口,例如nginx默认是80
type: NodePort # service类型

关于资源版本的获取方式

kubectl api-resources

yaml文件解析_yaml_02

yaml文件解析_yaml_03

获取yaml文件的方式

用create命令生成

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

--dry-run=client 本地测试运行,并不会真正起一个pod运行

用get命令获取

基于已有的资源导出yaml文件

 kubectl get deployment demo3 -o yaml > test.yaml

yaml文件中字段查询帮助

kubectl explain pods.spec.containers
kubectl explain deployment






举报

相关推荐

0 条评论