yaml文件讲解

yaml详解

apiVersion:v1  #必选,指定K8s部署的API的版本号
kind:Pod   #必选,资源类型Pod
metadata: # 必选,记录部署应用的元数据
  name: nginx # 必选,符合 RFC 1035 规范的 Pod 名称
  namespace: web-testing # 可选,不指定默认为 default,Pod 所在的命名空间
  labels: # 可选,标签选择器,一般用于 Selector
    - app: nginx
  annotations: # 可选,注释列表
    - app: nginx
spec: # 必选,用于部署容器的详细信息
  containers: # 必选,容器列表
  - name: nginx # 必选,符合 RFC 1035 规范的容器名称
    image: nginx:v1 # 必选,容器所用的镜像的地址
    imagePullPolicy: Always # 可选,镜像拉取策略
    workingDir: /usr/share/nginx/html # 可选,容器的工作目录
    volumeMounts: # 可选,存储卷配置(容器内部挂载)
    - name: webroot # 存储卷名称
      mountPath: /usr/share/nginx/html # 挂载目录
      readOnly: true # 只读
    ports: # 可选,容器需要暴露的端口号列表
    - name: http # 端口名称
      containerPort: 80 # 端口号
      protocol: TCP # 端口协议,默认 TCP
    env: # 可选,环境变量配置
    - name: TZ # 变量名
      value: Asia/Shanghai
    - name: LANG
      value: en_US.utf8
    resources: # 可选,资源限制和资源请求限制
      limits: # 最大限制设置
        cpu: 1000m
        memory: 1024MiB
      requests: # 启动所需的资源
        cpu: 100m
        memory: 512MiB
     readinessProbe: # 可选,容器状态检查
       httpGet: # 检测方式
         path: / # 检查路径
         port: 80 # 监控端口
       timeoutSeconds: 2 # 超时时间
       initialDelaySeconds: 60 # 初始化时间
     livenessProbe: # 可选,监控状态检查
       exec: # 检测方式
         command:
         - cat
         - /health
       httpGet: # 检测方式
         path: /_health
         port: 8080
         httpHeaders:
         - name: end-user
           value: jason
        tcpSocket: # 检测方式
          port: 80
        initialDelaySeconds: 60 # 初始化时间
        timeoutSeconds: 2 # 超时时间
        periodSeconds: 5 # 检测间隔
        successThreshold: 2 # 检查成功为 2 次表示就绪
        failureThreshold: 1 # 检测失败 1 次表示未就绪
      securityContext: # 可选,限制容器不可信的行为
        provoleged: false
     restartPolicy: Always # 可选,默认为 Always
     nodeSelector: # 可选,指定 Node 节点
       region: subnet7
     imagePullSecrets: # 可选,拉取镜像使用的 secret
     - name: default-dockercfg-86258
     hostNetwork: false # 可选,是否为主机模式,如是,会占用主机端口
     volumes: # 共享存储卷列表(外部共享)
     - name: webroot # 名称,与上述对应
       emptyDir: {} # 共享卷类型,空
       hostPath: # 共享卷类型,本机目录
         path: /etc/hosts
       secret: # 共享卷类型,secret 模式,一般用于密码
         secretName: default-token-tf2jp # 名称
         defaultMode: 420 # 权限
         configMap: # 一般用于配置文件
         name: nginx-conf
         defaultMode: 420
         
[root@k8s-m-01 ~]# kubectl explain pod.spec  #查看参数
 string : 跟字符串
Object :
[]Object : 
	- name
posted @ 2023-02-09 12:31  跳出圈子  阅读(49)  评论(0)    收藏  举报