当前位置: 首页 > news >正文

东莞市官网网站建设品牌网站优化图片

东莞市官网网站建设品牌,网站优化图片,广州十大猎头公司排名,wordpress 什么意思🍁博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 文章目录yaml简介yaml语法规则Yaml语法实例数组…

🍁博主简介

  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!

文章目录

  • yaml简介
  • yaml语法规则
  • Yaml语法实例
    • 数组(列表)实例; 短横线加空格(- )
    • Yaml 对象(字典)实例;用冒号加空格连接键和值(: )
    • Yaml 数组 对象结合(列表中的字典)实例;短横线加空格(- ),用冒号加空格连接键和值(: )
  • Yaml格式说明与实例
    • 格式说明
    • 实例

yaml简介

yaml 是专门用来写配置文件的语言

yaml文件也是一种配置文件类型,后缀名是.yaml或.yml都可以

运维适用于k8s、docker-compose,也是最近在学k8s要用到yaml文件格式

yaml语法规则

  • 大小写敏感
  • 使用缩进表示层级关系(不能用Tab,只能用空格)
  • 相同层级的元素左对齐
  • #号表示单行注释
  • 字符串可以不用引号标注
  • 数组(列表)是使用 - 开头的清单形式,- 后面必须加空格
  • 表示对象的 : 和表示数组(列表)的 - 后面都必须要有空格。可以使用 - 回车- 回车-回车 在一个文件里分隔多个 YAML 对象

Yaml语法实例

数组(列表)实例; 短横线加空格(- )

  - linux- name- windows

Yaml 对象(字典)实例;用冒号加空格连接键和值(: )

  Kubernetes: linux: vimname: 张三windows: steam

Yaml 数组 对象结合(列表中的字典)实例;短横线加空格(- ),用冒号加空格连接键和值(: )

containers: 
- image: mysql5.7.38name: mysqlrestart: alwaysports: - 6379:6379volumes: - /etc/localtime:/etc/localtime

Yaml格式说明与实例

格式说明

pod.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,默认TCPenv:                 #容器运行前需设置的环境变量列表- 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、portpath: stringport: numberhost: stringscheme: stringHttpHeaders:- name: stringvalue: stringtcpSocket:         #对Pod内个容器健康检查方式设置为tcpSocket方式port: numberinitialDelaySeconds: 0   #容器启动完成后首次探测的时间,单位为秒timeoutSeconds: 0        #对容器健康检查探测等待响应的超时时间,单位秒,默认1秒periodSeconds: 0         #对容器监控检查的定期探测时间设置,单位秒,默认10秒一次successThreshold: 0failureThreshold: 0securityContext:privileged:falserestartPolicy: [Always | Never | OnFailure]#Pod的重启策略,Always表示一旦不管以何种方式终止运行,kubelet都将重启,OnFailure表示只有Pod以非0退出码退出nodeSelector: obeject  #设置NodeSelector表示将该Pod调度到包含这个label的node上,以key:value的格式指定将该Pod调度到包含这个label的node上,以key:value的格式指定imagePullSecrets:      #Pull镜像时使用的secret名称,以key:secretkey格式指定- name: stringhostNetwork: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: stringpath: stringconfigMap:           #类型为configMap的存储卷,挂载预定义的configMap对象到容器内部name: stringitems:- key: string

deployment.yaml

apiVersion: extensions/v1beta1   #接口版本
kind: Deployment                 #接口类型
metadata:name: cango-demo               #Deployment名称namespace: cango-prd           #命名空间labels:app: cango-demo              #标签
spec:replicas: 3strategy:rollingUpdate:          #由于replicas为3,则整个升级,pod个数在2-4个之间maxSurge: 1           #滚动升级时会先启动1个podmaxUnavailable: 1     #滚动升级时允许的最大Unavailable的pod个数template:         metadata:labels:app: cango-demo     #模板名称必填sepc:                   #定义容器模板,该模板可以包含多个容器containers:                                                                   - name: cango-demo                                                              #镜像名称image: swr.cn-east-2.myhuaweicloud.com/cango-prd/cango-demo:0.0.1-SNAPSHOT    #镜像地址command: [ "/bin/sh","-c","cat /etc/config/path/to/special-key" ]             #启动命令args:                                                                         #启动参数- '-storage.local.retention=$(STORAGE_RETENTION)'- '-storage.local.memory-chunks=$(STORAGE_MEMORY_CHUNKS)'- '-config.file=/etc/prometheus/prometheus.yml'- '-alertmanager.url=http://alertmanager:9093/alertmanager'- '-web.external-url=$(EXTERNAL_URL)'
#如果command和args均没有写,那么用Docker默认的配置。
#如果command写了,但args没有写,那么Docker默认的配置会被忽略而且仅仅执行.yaml文件的command(不带任何参数的)。
#如果command没写,但args写了,那么Docker默认配置的ENTRYPOINT的命令行会被执行,但是调用的参数是.yaml中的args。
#如果如果command和args都写了,那么Docker默认的配置被忽略,使用.yaml的配置。imagePullPolicy: IfNotPresent  #如果不存在则拉取livenessProbe:       #表示container是否处于live状态。如果LivenessProbe失败,LivenessProbe将会通知kubelet对应的container不健康了。随后kubelet将kill掉httpGet:path: /health    #如果没有心跳检测接口就为/port: 8080scheme: HTTPinitialDelaySeconds: 60 #启动后延时多久开始运行检测timeoutSeconds: 5successThreshold: 1failureThreshold: 5readinessProbe:httpGet:path: /health     #如果没有心跳检测接口就为/port: 8080scheme: HTTPinitialDelaySeconds: 30 ##启动后延时多久开始运行检测timeoutSeconds: 5successThreshold: 1failureThreshold: 5resources:              ##CPU内存限制requests:cpu: 2memory: 2048Milimits:cpu: 2memory: 2048Mienv:                    ##通过环境变量的方式,直接传递pod=自定义Linux OS环境变量- name: LOCAL_KEY     #本地Keyvalue: value- name: CONFIG_MAP_KEY  #局策略可使用configMap的配置Key,valueFrom:configMapKeyRef:name: special-config   #configmap中找到name为special-configkey: special.type      #找到name为special-config里data下的keyports:- name: httpcontainerPort: 8080   #对service暴露端口volumeMounts:             #挂载volumes中定义的磁盘- name: log-cachemount: /tmp/log- name: sdb               #普通用法,该卷跟随容器销毁,挂载一个目录mountPath: /data/media    - name: nfs-client-root    #直接挂载硬方法,如挂载下面的nfs目录到/mnt/nfsmountPath: /mnt/nfs- name: example-volume-config  #高级用法第1种,将ConfigMap的log-script,backup-script分别挂载到/etc/config目录下的一个相对路径path/to/...下mountPath: /etc/config       - name: rbd-pvc                #高级用法第2种,挂载PVC(PresistentVolumeClaim)
#使用volume将ConfigMap作为文件或目录直接挂载,其中每一个key-value键值对都会生成一个文件,key为文件名,value为内容volumes:  # 定义磁盘给上面volumeMounts挂载- name: log-cacheemptyDir: {}- name: sdb  #挂载宿主机上面的目录hostPath:path: /any/path/it/will/be/replaced- name: example-volume-config  # 供ConfigMap文件内容到指定路径使用configMap:name: example-volume-config  #ConfigMap中名称items:- key: log-script           #ConfigMap中的Keypath: path/to/log-script  #指定目录下的一个相对路径path/to/log-script- key: backup-script        #ConfigMap中的Keypath: path/to/backup-script  #指定目录下的一个相对路径path/to/backup-script- name: nfs-client-root         #供挂载NFS存储类型nfs:server: 10.42.0.55          #NFS服务器地址path: /opt/public           #showmount -e 看一下路径- name: rbd-pvc                 #挂载PVC磁盘persistentVolumeClaim:claimName: rbd-pvc1         #挂载已经申请的pvc磁盘

services.yaml

apiVersion: v1
kind: Service
matadata:                                #元数据name: string                           #service的名称namespace: string                      #命名空间labels:                                #自定义标签属性列表- name: stringannotations:                           #自定义注解属性列表- name: string
spec:                                    #详细描述selector: []                           #label selector配置,将选择具有label标签的Pod作为管理#范围type: string                           #service的类型,指定service的访问方式,默认为#clusterIpclusterIP: string                      #虚拟服务地址sessionAffinity: string                #是否支持sessionports:                                 #service需要暴露的端?列表- name: string                         #端口名称protocol: string                     #端口协议,支持TCP和UDP,默认TCPport: int                            #服务监听的端口号targetPort: int                      #需要转发到后端Pod的端口号nodePort: int                        #当type = NodePort时,指定映射到物理机的端口号status:                                #当spce.type=LoadBalancer时,设置外部负载均衡器的地址loadBalancer:                        #外部负载均衡器ingress:                           #外部负载均衡器ip: string                       #外部负载均衡器的Ip地址值hostname: string                 #外部负载均衡器的主机名

job.yaml

apiVersion: batch/v1
kind: Job
metadata:name: job-demo
spec:template:metadata:name: job-demospec:restartPolicy: Never  #Job的RestartPolicy仅支持Never和OnFailure两种,不支持Always,我们知道Job就相当于来执行一个批处理任务,执行完就结束了containers:- name: counterimage: busyboxcommand:- "bin/sh"- "-c"- "for i in 9 8 7 6 5 4 3 2 1; do echo $i; done

Cronjob.yaml

CronJob其实就是在Job的基础上加上了时间调度,我们可以:在给定的时间点运行一个任务,也可以周期性地在给定时间点运行。这个实际上和我们Linux中的crontab就非常类似了。一个CronJob对象其实就对应中crontab文件中的任务,它根据配置的时间格式周期性地运行一个Job,格式和crontab也是一样的。

#crontab的格式如下:
#分时日月周要运行的命令第1列分钟0~59 第2列时0~23)第3列日1~31 第4列月1~12 第5列周0~7(0和7表示星期天)第6列要运行的命令
apiVersion: batch/v2alpha1
kind: CronJob
metadata:name: cronjob-demo
spec:schedule: "*/1 * * * *"jobTemplate:spec:template:spec:restartPolicy: OnFailurecontainers:- name: helloimage: busyboxargs:- "bin/sh"- "-c"- "for i in 9 8 7 6 5 4 3 2 1; do echo $i; done"

我们这里的Kind是CronJob了,要注意的是.spec.schedule字段是必须填写的,用来指定任务运行的周期,格式就和crontab一样,另外一个字段是.spec.jobTemplate, 用来指定需要运行的任务,格式当然和Job是一致的。还有一些值得我们关注的字段.spec.successfulJobsHistoryLimit和.spec.failedJobsHistoryLimit,表示历史限制,是可选的字段。它们指定了可以保留多少完成和失败的Job,默认没有限制,所有成功和失败的Job都会被保留。然后,当运行一个Cron Job时,Job可以很快就堆积很多,所以一般推荐设置这两个字段的值。如果设置限制的值为 0,那么相关类型的Job完成后将不会被保留。

实例

cs.yaml

apiVersion: v1  #API版本号,用于迭代我们的更新版本
kind: Pod       #资源对象的类型,有pod,Node,Job,Service
metadata:       #资源元数据,标记对象,方便管理name: hll-pod #给pod起名称labels:       #给pod打标签,方便找env: demo   #注入容器内的环境变量owner: feifei
spec:           #资源规格,pod内容器相关信息replicas: 1   #副本数量selector:     #标签选择器matchLabels:app: webtemplate:     #pod模板metadata:   #pod元数据labels:   #给pod打标签,方便找app: webspec:         #pod规格containers:   #容器配置- image: nll:v1    #运行容器镜像name: nll              #容器名称ports:                 #端口号- containerPort: 80    #容器端口号- 8090:8221            #容器内服务映射端口volumes:                 #容器持久化- /etc/localtime:/etc/localtime         #容器内服务映射路径restart: always          #重启容器直接重启服务

k8s yaml文件创建和删除

kubectl apply -f cs.yml
kubectl delete -f cs.yml

docker-compose文件创建

docker-compose -f cs.yaml up -d

注意:docker-compose和k8s用的yaml文件写法还是有一些区别的。

http://www.yayakq.cn/news/35452/

相关文章:

  • 网站改标题关键词描述wordpress主机推荐 阿里云
  • 网站的构成要素长沙商城小程序开发
  • 合作网站seowordpress 迁移升级
  • 网站建设及优化方案娄底高端网站建设
  • 1688网站入口西安免费做网站哪家好
  • 大前端最新网站自己做旅游攻略的网站
  • 网站建设 橙怎样做引流推广
  • 网站引流是什么意思商务网站建设的必备功能
  • 申请网站步骤化妆品网站素材
  • 成都网站建设收费中铁建设集团门户网登录入口官网
  • 湖北网站建设贴吧广西梧州发现1例阳性人员
  • ps做网站画布大小是多少未明潮网站建设保密协议
  • 莱芜市网站建设中国排建设银行悦生活网站
  • 扁平化蓝色网站适合年轻人开的工作室
  • 青岛胶东建设国际机场网站服务公司取名
  • 西安做网站优化京东导购网站开发
  • 教人做辐射4mod的网站敦煌网的网站推广方式
  • 17一起广州做网站wordpress 干净主题
  • 濮阳做网站的电话海南信息港官网
  • 企业手机网站建设策划方案广东网站建设哪家
  • 租门面做网站服务网站建设公司
  • 购物网站开发教程视频制作网站公司名称
  • 网站统计cnzzwordpress构建企业网站
  • 在直播网站做前端注意网络科技公司一般都是骗
  • 如何在服务器上放网站红塔区住房和城乡建设局网站
  • 吧台 东莞网站建设为网站做一则广告语
  • 怎么网站能找人做装修事淄博网站优化资讯
  • 网站分站加盟巩义专业网站建设公司推荐
  • 网站建设中的思想和算法typecho迁移wordpress
  • 江苏网站开发商丘网络营销公司