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

网站制作公司北京个人网站的设计与实现专业论文图像处理工具

网站制作公司北京,个人网站的设计与实现专业论文图像处理工具,app企业开发公司,怎么知道网站是什么开源做的目录 一、Yaml概述 二、Yaml基本语法 三、Yaml数据结构 四、K8S资源清单描述方法 五、api资源版本标签 六、Yaml文件示例详解 1.deployment.yaml文件详解 2.Pod yaml文件详解 3.Service yaml文件详解 七、Yaml文件相关操作 1.试运行 2.生成yaml格式 3.生成json格式… 目录 一、Yaml概述 二、Yaml基本语法 三、Yaml数据结构 四、K8S资源清单描述方法 五、api资源版本标签 六、Yaml文件示例详解 1.deployment.yaml文件详解 2.Pod yaml文件详解 3.Service yaml文件详解 七、Yaml文件相关操作 1.试运行 2.生成yaml格式 3.生成json格式  4.使用yaml格式导出生成模板 5. 先查看已经部署的资源 6.导出资源配置 7.导出资源并保存在指定文件中 8.查看字段帮助信息 9.部署和卸载yaml文件 一、Yaml概述 K8S集群中对资源管理和资源对象编排部署都可以通过声明YAML文件来解决也就是可以把需要对资源对象操作编辑到 YAML 格式文件中我们把这种文件叫做资源清单文件通过 kubectl 命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署了。 YAML 文件 : 就是资源清单文件用于资源编排。 二、Yaml基本语法 通过缩进表示层级关系使用空格做为缩进缩进的空格数目不重要只要相同层级的元素左侧对齐即可一般缩进两个空格低版本缩进时不允许使用 Tab 键只允许使用空格使用#代表注释从这个字符一直到行尾都会被解释器忽略使用 --- 表示新的 yaml 文件开始 三、Yaml数据结构 对象键值对的集合又称为映射 (mapping) / 哈希hashes / 字典dictionary # 对象类型对象的一组键值对使用冒号结构表示 name: Tom age: 18# yaml 也允许另一种写法将所有键值对写成一个行内对象 hash: {name: Tom, age: 18} 数组 一组按次序排列的值又称为序列sequence / 列表 list # 数组类型一组连词线开头的行构成一个数组 People - Tom - Jack# 数组也可以采用行内表示法 People: [Tom, Jack] 纯量scalars 单个的、不可再分的值 number: 10.01flag: true# 字符串默认不使用引号表示 str: hello world# 如果字符串中间包含空格或者特殊字符需要放到引号中 str1: hello: world# 双引号不会对特殊字符进行转义 s1: 张\n三 s2: 张\n三# 单引号中还有单引号需要连续用两个单引号进行转义 s3: helloworld 四、K8S资源清单描述方法 在 k8s 中一般使用 YAML 格式的文件来创建符合我们预期期望的pod这样的YAML 文件称为资源清单。主要分为两大部分一个是控制器的定义、另一个是被控制的对象。 资源清单中常用的属性名称 参数名 字段类型 说明 是否必须 version String 这里指定是K8S API的版本目前基本上是v1可以通过kubectl api-versions命令查询 是 kind String yaml文件定义的资源类型和角色比如Pod、Deployment、ReplicaSet、Service 是 metadata Object 元数据对象固定值就写metadata 是 metadata.name String 元数据对象的名字由我们自定义比如命名Pod的名字Service的名字 是 metadata.namespace String 元数据对象的命名空间由我们自定义。非必填默认为default 否 spec Object 详细定义对象固定值就写spec 是 spec.containers[] list spec对象的容器列表定义 是 spec.containers[].name String 容器名字 是 spec.containers[].image String 容器所使用的镜像 是 spec.containers[].imagePullPolicyString 定义镜像拉取策略有Always、Never、IfNotPresent三个值。 Always意思是每次都尝试重新拉取镜像。默认值是Always Never表示仅使用本地镜像。 IfNotPresent如果本地有镜像就使用本地镜像本地没有就拉取在线镜像。 否 spec.containers[].args[] List 指定容器启动命令参数因为是数组可以指定多个 否 五、api资源版本标签 [rootmaster01 ~]# kubectl api-versions admissionregistration.k8s.io/v1 admissionregistration.k8s.io/v1beta1 apiextensions.k8s.io/v1 apiextensions.k8s.io/v1beta1 apiregistration.k8s.io/v1 apiregistration.k8s.io/v1beta1 apps/v1 #如果是业务场景一般首选使用 apps/v1 authentication.k8s.io/v1 authentication.k8s.io/v1beta1 #带有beta字样的代表的是测试版本不用在生产环境中 authorization.k8s.io/v1 authorization.k8s.io/v1beta1 autoscaling/v1 autoscaling/v2beta1 autoscaling/v2beta2 batch/v1 batch/v1beta1 certificates.k8s.io/v1 certificates.k8s.io/v1beta1 coordination.k8s.io/v1 coordination.k8s.io/v1beta1 discovery.k8s.io/v1beta1 events.k8s.io/v1 events.k8s.io/v1beta1 extensions/v1beta1 flowcontrol.apiserver.k8s.io/v1beta1 networking.k8s.io/v1 networking.k8s.io/v1beta1 node.k8s.io/v1 node.k8s.io/v1beta1 policy/v1beta1 rbac.authorization.k8s.io/v1 rbac.authorization.k8s.io/v1beta1 scheduling.k8s.io/v1 scheduling.k8s.io/v1beta1 storage.k8s.io/v1 storage.k8s.io/v1beta1 v1 六、Yaml文件示例详解 1.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.urlhttp://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掉container并根据RestarPolicy进行进一步的操作。默认情况下LivenessProbe在第一次检测之前初始化值为Success如果container没有提供LivenessProbe则也认为是SuccesshttpGet: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的配置KeyvalueFrom: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磁盘2.Pod yaml文件详解 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退出码退出才重启Nerver表示不再重启该PodnodeSelector: obeject #设置NodeSelector表示将该Pod调度到包含这个label的node上以keyvalue的格式指定imagePullSecrets: #Pull镜像时使用的secret名称以keysecretkey格式指定- 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: string3.Service 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.typeLoadBalancer时设置外部负载均衡器的地址loadBalancer: #外部负载均衡器 ingress: #外部负载均衡器 ip: string #外部负载均衡器的Ip地址值hostname: string #外部负载均衡器的主机名七、Yaml文件相关操作 1.试运行 //kubectl run --dry-runclient 打印相应的 API 对象而不执行创建 kubectl run nginx-test --imagenginx --port80 --dry-runclient2.生成yaml格式 #查看生成yaml格式 kubectl run nginx-test --imagenginx --port80 --replicas3 --dry-runclient -o yamlkubectl create deployment nginx-deploy --imagenginx --port80 --replicas3 --dry-runclient -o yaml3.生成json格式  #查看生成json格式 kubectl run nginx-test --imagenginx --port80 --dry-runclient -o json kubectl create deployment nginx-deploy --imagenginx --port80 --replicas3 --dry-runclient -o json 4.使用yaml格式导出生成模板 #使用yaml格式导出生成模板并进行修改以及删除一些不必要的参数 kubectl run nginx-test --imagenginx --port80 --dry-runclient -o yaml nginx-test.yaml kubectl create deployment nginx-deploy --imagenginx --port80 --replicas3 --dry-runclient -o yaml nginx-deploy.yaml 5. 先查看已经部署的资源 kubectl get deploy 6.导出资源配置 kubectl get deploy nginx -o yaml 7.导出资源并保存在指定文件中 kubectl get deploy nginx -o yaml deploy.yaml 8.查看字段帮助信息 #查看字段帮助信息可一层层的查看相关资源对象的帮助信息 kubectl explain deployments.spec.template.spec.containers 或 kubectl explain pods.spec.containers 9.部署和卸载yaml文件 kubectl apply -f xxx.yaml #部署 kubectl delete -f xxx.yaml #卸载
http://www.w-s-a.com/news/292835/

相关文章:

  • 遵义市住房和城乡建设局官方网站网站备案 自己的服务器
  • 分销系统价格多少北京网站优化平台
  • 怎样做旅游公司的网站泉州网站建设方案优化
  • 手机网站页面范例个人网站做淘宝客违规
  • 做一套网站开发多少钱SEO做得最好的网站
  • 咸宁做网站的公司那家便宜福建建设注册管理中心网站
  • 网站建设工作汇报黑科技广告推广神器
  • 淘宝做首页热点的什么网站徐州建设安全监督网站
  • 正规的镇江网站建设广州有什么好玩的东西
  • 丹阳网站设计公司网站开发 0755
  • 百度网页版浏览器网址找文网优化的技术团队
  • 信息网站怎么做做儿童网站赚钱吗
  • 帝国cms 网站迁移个人网站备案备注
  • 青岛做网站推广怎样做网站才不能被攻破
  • 使用网站模板快速建站教案杂志wordpress主题 无限加载
  • 南宁南宁做网站南安网络推广
  • 旌阳移动网站建设微网站 杭州
  • 合肥网站开发如何用VS2017做网站
  • 网站 制作公司福州企业建站软件
  • 网站推广主要方法一流的盘锦网站建设
  • 给个网站好人有好报2021东莞专业网站营销
  • 中国网站优化哪家好制作网站页面
  • 网站站内优化度娘网站灯笼要咋做呢
  • 怎么制作一个简单的网站七牛云做网站
  • 厦门建网站哪家好求网站建设合伙人
  • 营销型网站制作步骤五个宁波依众网络科技有限公司
  • 外贸响应式网站建设临清建设局网站
  • 手机怎样使用域名访问网站个人做旅游网站的意义
  • 西部数码域名网站模板网站建设怎么管理业务员
  • o2o手机维修网站那个公司做的电子网站风格设计