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

团购网站建设成都网站建设方案优化

团购网站建设,成都网站建设方案优化,自己做的网站如何在百度被搜索到,cvm服务器做网站目录 一、deployment.yaml文件 二、Pod yaml文件 三、Service yaml文件 四、yaml文件 1.YAML 语法格式 2.查看 api 资源版本标签 3.写一个yaml文件demo (1)创建资源对象 (2)查看创建的pod资源 (3)创建service服务对外提供访问并测试 (4)创建资源对象 (5)查看创建的…

目录

一、deployment.yaml文件

二、Pod yaml文件

三、Service yaml文件

四、yaml文件

1.YAML 语法格式

2.查看 api 资源版本标签

3.写一个yaml文件demo

(1)创建资源对象

(2)查看创建的pod资源

(3)创建service服务对外提供访问并测试

(4)创建资源对象

(5)查看创建的service

五、port

1.port

2.nodePort

3.targetPort

4.containerPort


一、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掉container,并根据RestarPolicy进行进一步的操作。默认情况下LivenessProbe在第一次检测之前初始化值为Success,如果container没有提供LivenessProbe,则也认为是Success;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:                             NFS服务器地址path: /opt/public                   showmount -e 看一下路径- name: rbd-pvc                         挂载PVC磁盘persistentVolumeClaim:claimName: rbd-pvc1                 挂载已经申请的pvc磁盘

二、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上,以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

 

 

 

 

 

 

  

 

 

 

三、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.type=LoadBalancer时,设置外部负载均衡器的地址loadBalancer:                         外部负载均衡器    ingress:                            外部负载均衡器 ip: string                        外部负载均衡器的Ip地址值hostname: string                  外部负载均衡器的主机名

四、yaml文件

Kubernetes 支持 YAML 和 JSON 格式管理资源对象
JSON 格式:主要用于 api 接口之间消息的传递
YAML 格式:用于配置和管理,YAML 是一种简洁的非标记性语言,内容格式人性化,较易读

1.YAML 语法格式

1)大小写敏感
2)使用缩进表示层级关系
3)不支持Tab键制表符缩进,只使用空格缩进
4)缩进的空格数目不重要,只要相同层级的元素左侧对齐即可,通常开头缩进两个空格
5)符号字符后缩进一个空格,如冒号,逗号,短横杆(-)等
6)“---”表示YAML格式,一个文件的开始,用于分隔文件间
7)“#”表示注释

2.查看 api 资源版本标签

kubectl api-versions
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1								 如果是业务场景一般首选使用 apps/v1
apps/v1beta1						 带有beta字样的代表的是测试版本,不用在生产环境中
apps/v1beta2
authentication.k8s.io/v1
authentication.k8s.io/v1beta1
authorization.k8s.io/v1
authorization.k8s.io/v1beta1
autoscaling/v1
autoscaling/v2beta1
autoscaling/v2beta2
batch/v1
batch/v1beta1
certificates.k8s.io/v1beta1
coordination.k8s.io/v1beta1
events.k8s.io/v1beta1
extensions/v1beta1
networking.k8s.io/v1
policy/v1beta1
rbac.authorization.k8s.io/v1
rbac.authorization.k8s.io/v1beta1
scheduling.k8s.io/v1beta1
storage.k8s.io/v1
storage.k8s.io/v1beta1
v1

3.写一个yaml文件demo

mkdir /opt/demo
cd demo/vim nginx-deployment.yaml
apiVersion: apps/v1		     指定api版本标签
kind: Deployment		     定义资源的类型/角色,deployment为副本控制器,此处资源类型可以是 Deployment、Job、Ingress、Service等
metadata:					 定义资源的元数据信息,比如资源的名称、namespace、标签等信息name: nginx-deployment	 定义资源的名称,在同一个namespace空间中必须是唯一的labels:				     定义Deployment资源标签app: nginx	
spec:					     定义deployment资源需要的参数属性,诸如是否在容器失败时重新启动 容器的属性replicas: 3			     定义副本数量selector:				     定义标签选择器matchLabels:		     定义匹配标签app: nginx		     需与.spec.template.metadata.labels 定义的标签保持一致template:				     定义业务模板,如果有多个副本,所有副本的属性会按照模板的相关配置 进行匹配metadata:labels:                定义Pod副本将使用的标签,需与 .spec.selector.matchLabels 定义 的标签保持一致app: nginxspec:containers:				 定义容器属性- name: nginx				 定义一个容器名,一个 - name: 定义一个容器image: nginx:1.15.4		 定义容器使用的镜像以及版本ports:- containerPort: 80		 定义容器的对外的端口

(1)创建资源对象

kubectl create -f nginx-deployment.yaml

(2)查看创建的pod资源

kubectl get pods -o wide

(3)创建service服务对外提供访问并测试

vim nginx-service.yaml
apiVersion: v1  
kind: Service  
metadata:name: nginx-servicelabels:app: nginx  
spec:type: NodePort  ports:- port: 80targetPort: 80  selector:app: nginx

(4)创建资源对象

kubectl create -f nginx-service.yaml

(5)查看创建的service

kubectl get svc

在浏览器输入 nodeIP:nodePort 即可访问

五、port

1.port

       port 是 k8s 集群内部访问service的端口,即通过 clusterIP: port 可以从 Pod 所在的 Node 上访问到 service。

2.nodePort

       nodePort 是外部访问 k8s 集群中 service 的端口,通过 nodeIP: nodePort 可以从外部访问到某个 service。

3.targetPort

       targetPort 是 Pod 的端口,从 port 或 nodePort 来的流量经过 kube-proxy 反向代理负载均衡转发到后端 Pod 的 targetPort 上,最后进入容器。

4.containerPort

containerPort 是 Pod 内部容器的端口,targetPort 映射到 containerPort。

kubectl run --dry-run=client 打印相应的 API 对象而不执行创建

kubectl run nginx-test --image=nginx --port=80 --dry-run=client
kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client

 

 

 

 

查看生成yaml格式

kubectl run nginx-test --image=nginx --port=80 --dry-run=client -o yaml
kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client -o yaml

 

查看生成json格式

kubectl run nginx-test --image=nginx --port=80 --dry-run=client -o json
kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client -o json

使用yaml格式导出生成模板,并进行修改以及删除一些不必要的参数

kubectl run nginx-test --image=nginx --port=80 --dry-run=client -o yaml > nginx-test.yaml
kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client -o yaml  > nginx-deploy.yaml
vim nginx-test.yaml
apiVersion: v1
kind: Pod
metadata:creationTimestamp: null      删除labels:run: nginx-testname: nginx-test
spec:containers:- image: nginxname: nginx-testports:- containerPort: 80resources: {}              删除dnsPolicy: ClusterFirstrestartPolicy: Always
status: {}                     删除

 

将现有的资源生成模板导出

kubectl get svc nginx-service -o yaml

保存到文件中

kubectl get svc nginx-service -o yaml > my-svc.yaml

查看字段帮助信息,可一层层的查看相关资源对象的帮助信息

kubectl explain deployments.spec.template.spec.containers
或
kubectl explain pods.spec.containers

 

 

 

http://www.dtcms.com/wzjs/253693.html

相关文章:

  • 宁波市节约型机关建设考试网站河北网站推广
  • 企业网站平台如何做网络推广关键词调词平台哪个好
  • 将自己做的网站发布到网上农村电商平台
  • 网页设计与制作实训报告心得体会2000字上海优化seo排名
  • 做响应式网站的常用尺寸seopeixun com cn
  • 直播间网站建设做网络推广的团队
  • 合肥免费做网站全国各城市疫情高峰感染进度
  • 企业网站价格多少钱搭建网站的步骤
  • 门户网站类型百度竞价开户哪家好
  • 苏州网站开发公司兴田德润优惠吗国内真正的永久免费砖石
  • 帮人做传销网站违法吗淘宝交易指数换算工具
  • 做游戏平面设计好的素材网站有哪些四川专业网络推广
  • 企业网站建设方案对比汇报seo网络优化
  • 公安备案 交互式网站模板网站建站哪家好
  • 中天建设有限公司官方网站新手做网络销售难吗
  • 做移门的网站化学sem是什么意思
  • 做网站营业执照经营范围怎么填写seo高级优化技巧
  • 合肥专业网站建设公司哪家好网络营销方案例文
  • 用软件做的网站权限管理杭州seo顾问
  • 日本软银集团官网网站整体优化
  • 网站管理员密码忘记了自己如何做链接推广
  • wordpress 搞笑网站网站怎么做出来的
  • 京东商城网站建设教程小广告设计
  • 网站开发项目范围说明书意义web网页制作成品免费
  • 各类武汉手机网站建设关键词首页排名代发
  • 网站建设 回本泰安百度公司代理商
  • 网站上的图片怎么替换高端网站定制开发
  • 专门做物业催收的网站代运营是什么意思
  • 做拍福利爱福利视频网站网络营销课程总结1500字
  • 关键词排名是由什么决定的福州seo建站