K8S的YAML文件详解

一、概述

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

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

■ YAML格式用于配置和管理

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

1.1、语法格式

  • 缩进标识层级关系
  • 不支持制表符缩进,使用空格缩进
  • 通常开头缩进两个空格
  • 字符后缩进一个空格,如冒号,逗号,短横杆等
  • “—”表示YAML格式,一个文件的开始
  • “#”表示注释

1.2、示例

[root@master01 ~]# vim nginx-deployment.yaml    #创建pod资源
apiVersion: apps/v1
kind: Deployment      #类型是无状态化服务
metadata:
  name: nginx-deployment
  labels:                 #打上标签
    app: nginx
spec:                     #定义属性(pod的属性)
  replicas: 3
  selector:        #选择器,关联标签,控制器会根据选择器关联到pod中的名称
    matchLabels:    #匹配标签
      app: nginx
  template:    #模板,非必要
    metadata:
      labels:
        app: nginx
    spec:          #定义属性(容器的属性)
      containers:
      - name: nginx
        image: nginx:1.15.4
        ports:
        - containerPort: 80   #暴露容器的端口

在这里插入图片描述

在这里插入图片描述

[root@master01 ~]# vim nginx-service.yaml
[root@master01 ~]# kubectl create -f nginx-service.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
  labels:
    app: nginx
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 80
  selector:
    app: nginx

在这里插入图片描述

[root@master01 ~]# kubectl get svc

在这里插入图片描述

在这里插入图片描述

1.2.1、删除pod

[root@master01 ~]# kubectl delete -f nginx-deployment.yaml 

在这里插入图片描述

[root@master01 ~]# kubectl get svc
[root@master01 ~]# kubectl delete -f nginx-service.yaml 

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_50344814/article/details/115271784