k8s的yaml说明

k8s yaml

# yaml格式的pod定义文件完整内容:
apiVersion: v1       #必选,版本号,例如v1
kind: Pod       #必选,Pod
metadata:       #必选,元数据
  name: string       #必选,Pod名称
  namespace: string    #必选,Pod所属的命名空间
  labels:      #自定义标签
    - name: string     #自定义标签名字
  annotations:       #自定义注释列表
    - name: string
spec:         #必选,Pod中容器的详细定义
  containers:      #必选,Pod中容器列表
  - name: string     #必选,容器名称
    image: string    #必选,容器的镜像名称
    imagePullPolicy: [Always | Never | IfNotPresent] #获取镜像的策略 Alawys表示下载镜像 IfnotPresent表示优先使用本地镜像,否则下载镜像,Nerver表示仅使用本地镜像
    command: [string]    #容器的启动命令列表,如不指定,使用打包时使用的启动命令
    args: [string]     #容器的启动命令参数列表
    workingDir: string     #容器的工作目录
    volumeMounts:    #挂载到容器内部的存储卷配置
    - name: string     #引用pod定义的共享存储卷的名称,需用volumes[]部分定义的的卷名
      mountPath: string    #存储卷在容器内mount的绝对路径,应少于512字符
      readOnly: boolean    #是否为只读模式
    ports:       #需要暴露的端口库号列表
    - name: string     #端口号名称
      containerPort: int   #容器需要监听的端口号
      hostPort: int    #容器所在主机需要监听的端口号,默认与Container相同
      protocol: string     #端口协议,支持TCP和UDP,默认TCP
    env:       #容器运行前需设置的环境变量列表
    - name: string     #环境变量名称
      value: string    #环境变量的值
    resources:       #资源限制和请求的设置
      limits:      #资源限制的设置
        cpu: string    #Cpu的限制,单位为core数,将用于docker run --cpu-shares参数
        memory: string     #内存限制,单位可以为Mib/Gib,将用于docker run --memory参数
      requests:      #资源请求的设置
        cpu: string    #Cpu请求,容器启动的初始可用数量
        memory: string     #内存清楚,容器启动的初始可用数量
    livenessProbe:     #对Pod内个容器健康检查的设置,当探测无响应几次后将自动重启该容器,检查方法有exec、httpGet和tcpSocket,对一个容器只需设置其中一种方法即可
      exec:      #对Pod容器内检查方式设置为exec方式
        command: [string]  #exec方式需要制定的命令或脚本
      httpGet:       #对Pod内个容器健康检查方法设置为HttpGet,需要制定Path、port
        path: string
        port: number
        host: string
        scheme: string
        HttpHeaders:
        - name: string
          value: string
      tcpSocket:     #对Pod内个容器健康检查方式设置为tcpSocket方式
         port: number
       initialDelaySeconds: 0  #容器启动完成后首次探测的时间,单位为秒
       timeoutSeconds: 0   #对容器健康检查探测等待响应的超时时间,单位秒,默认1秒
       periodSeconds: 0    #对容器监控检查的定期探测时间设置,单位秒,默认10秒一次
       successThreshold: 0
       failureThreshold: 0
       securityContext:
         privileged:false
    restartPolicy: [Always | Never | OnFailure]#Pod的重启策略,Always表示一旦不管以何种方式终止运行,kubelet都将重启,OnFailure表示只有Pod以非0退出码退出才重启,Nerver表示不再重启该Pod
    nodeSelector: obeject  #设置NodeSelector表示将该Pod调度到包含这个label的node上,以key:value的格式指定
    imagePullSecrets:    #Pull镜像时使用的secret名称,以key:secretkey格式指定
    - name: string
    hostNetwork:false      #是否使用主机网络模式,默认为false,如果设置为true,表示使用宿主机网络
    volumes:       #在该pod上定义共享存储卷列表
    - name: string     #共享存储卷名称 (volumes类型有很多种)
      emptyDir: {}     #类型为emtyDir的存储卷,与Pod同生命周期的一个临时目录。为空值
      hostPath: string     #类型为hostPath的存储卷,表示挂载Pod所在宿主机的目录
        path: string     #Pod所在宿主机的目录,将被用于同期中mount的目录
      secret:      #类型为secret的存储卷,挂载集群与定义的secre对象到容器内部
        scretname: string
        items:
        - key: string
          path: string
      configMap:     #类型为configMap的存储卷,挂载预定义的configMap对象到容器内部
        name: string
        items:
        - key: string
          path: string

这些语法适合于rancher平台,因为rancher平台的底层也是k8s为基础的。

原文地址:https://www.cnblogs.com/lori/p/12001249.html

时间: 2024-08-30 16:55:05

k8s的yaml说明的相关文章

k8s之yaml详解

k8s之yaml详解 apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: Pod #指定创建资源的角色/类型 metadata: #资源的元数据/属性 name: web04-pod #资源的名字,在同一个namespace中必须唯一 labels: #设定资源的标签 k8s-app: apache version: v1 kubernetes.io/cluster-service: "true" annotations: #自

k8s之yaml文件基本格式及底层负载均衡实现原理

本文只是自己的精简后的总结,若需要详细的资料,请绕步. 注:yaml文件严格要求缩进,默认不同层次等级是两个空格的缩进. 1.使用httpd镜像创建一个Deployment资源对象 [[email protected] ~]# vim lvjianzhao.yaml #编写yaml文件 kind: Deployment #指定要创建的资源对象类型 apiVersion: extensions/v1beta1 #指定deployment所对应的API版本 metadata: name: lvjia

K8s使用YAML文件创建资源

由于K8s技术的火爆,导致现在大大小小的企业都在使用,虽然没有普及,但本人相信时迟早的事情,所以抓紧时间多学习一下吧! 在K8s中创建资源的方式有两种:命令行和YAML文件,本次博文主要介绍使用YAML文件的方式,如需使用命令行创建资源请参考K8s资源对象的基本管理 Kubernetes中的YAML文件与配置清单是一样的,根据个人习惯.本次博文统称为YAML文件! 一.YAML文件基础 YAML是专门用来配置文件的语言,非常简洁和强大.与了解的properties.XML.json等数据格式,习

K8s之YAML文件

Kubernetes支持YAML和JSON格式创建资源对象 1,JSON格式用于接口之间消息的传递2,YAML格式用于配置和管理3,YAML是一种简洁的非标记性语言 语法格式: 缩进标识层级关系不支持制表符(tab)缩进,使用空格缩进通常开头缩进两个空格字符后缩进一个空格,如冒号,逗号等"---"表示YAML格式,一个文件的开始"#"表示注释 `查看应用名称` [[email protected] ~]# kubectl api-versions admission

K8S 通过 yaml 文件创建资源

创建 pod cd ~ vi pod-demo.yaml # 内容如下 apiVersion: v1 kind: Pod metadata: name: pod-demo namespace: default labels: app: myapp tier: frontend spec: containers: - name: myapp image: ikubernetes/myapp:v1 - name: busybox image: busybox:latest command: - "/

.net core i上 K8S(三)Yaml文件运行.netcore程序

上一章我们通过kubectl run简单运行了一个.netcore网站,但实际的开发中,我们都是通过yaml来实现的. 1.编写yaml文件 关于yaml文件的格式在此就不多描述了,不熟悉的可以去网上搜一下示例. apiVersion: apps/v1beta2 #指定版本,支持的版本可以通过kubectl api-versions查询 kind: Deployment #指定类型,这一次我们要创建一个Deployment metadata: #元数据 name: cys-netcore #de

k8s的yaml文件配置详解(转))

来源:https://www.cnblogs.com/arrow-kejin/p/10058758.html 1 apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 2 kind: Pod #指定创建资源的角色/类型 3 metadata: #资源的元数据/属性 4 name: django-pod #资源的名字,在同一个namespace中必须唯一 5 labels: #设定资源的标签,使这个标签在service网络中备案,以便被获知 6 k8s-

Kubernetes(k8s) 实验总结

  上面左边是我的个人微信,如需进一步沟通,请加微信.  右边是我的公众号"Openstack私有云",如有兴趣,请关注. 在上篇博文<Kubernetes 入门学习>中提到了Katacoda实验环境可以进一步熟悉K8S的使用,具体网址是: https://www.katacoda.com/courses/kubernetes/ 最近花了一些时间完成这些实验场景,一共有17个实验场景,每个场景大概10分钟左右,经过这些实验,对K8S就有一个大体的了解.这些场景包含这些内容:

[k8s集群系列-10]Kubernetes Service暴露方式及Traefik使用

访问部署在kubernetes集群中服务,有两种类型: 集群内部实现访问 集群外部实现访问 但是不管是集群内部还是外部访问都是要经过kube-proxy的 集群内部实现访问 ClusterIP Clusterip是集群内部的私有ip,在集群内部访问服务非常方便,也是kuberentes集群默认的方式,直接通过service的Clusterip访问,也可以直接通过ServiceName访问.集群外部则是无法访问的. 示例 **创建nginx服务,提供web服务z nginx-ds.yaml api