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

wordpress网站描述插件苏州地区网站制作

wordpress网站描述插件,苏州地区网站制作,网站建设内容方法,网站建设栏目内容华子目录 Canary金丝雀发布什么是金丝雀发布Canary发布方式基于header#xff08;http包头#xff09;灰度发布基于权重的金丝雀发布 Canary金丝雀发布 什么是金丝雀发布 金丝雀发布也称为灰度发布#xff0c;是一种软件发布策略主要目的是在将新版本的软件全面推广到生产环… 华子目录 Canary金丝雀发布什么是金丝雀发布Canary发布方式基于headerhttp包头灰度发布基于权重的金丝雀发布 Canary金丝雀发布 什么是金丝雀发布 金丝雀发布也称为灰度发布是一种软件发布策略主要目的是在将新版本的软件全面推广到生产环境之前先在一小部分用户或服务器上进行测试和验证以降低因新版本引入重大问题而对整个系统造成的影响是一种Pod的发布方式。金丝雀发布采取先添加、再删除的方式保证Pod的总量不低于期望值。并且在更新部分Pod后暂停更新当确认新Pod版本运行正常后再进行其他版本的Pod的更新 Canary发布方式 三种发布方式 优先级head大于cookie大于weight其中header和weight用的最多 基于headerhttp包头灰度发布 我们可以看到如果包头中有stagegray的键值对就访问新版本包头中没有那个键值对就访问旧版本 通过Annotaion扩展创建灰度ingress配置灰度头部key以及value灰度流量验证完毕后切换正式ingress到新版本之前我们在做升级时可以通过控制器做滚动更新默认25%利用header可以使升级更为平滑通过key和value 测试新的业务体系是否有问题 创建2个deployment控制器 #发现没有运行的pod [rootk8s-master service]# kubectl get pods No resources found in default namespace.#创建一个deployment控制器控制器中运行一个pod [rootk8s-master service]# kubectl create deployment deployment --image myapp:v1 --dry-runclient -o yaml deployment-v1.yml[rootk8s-master service]# vim deployment-v1.yml [rootk8s-master service]# cat deployment-v1.yml apiVersion: apps/v1 kind: Deployment #指明这是一个deployment控制器 metadata: #控制器的元数据labels: #控制器的标签app: deployment1 #控制器的标签name: deployment1 #控制器的名字 spec: 控制器的规格replicas: 1 #pod数量selector: #pod选择器matchLabels: #声明的要管理的podapp: myappv1 #标签为appmyappv1的pod会被管理template: #pod的模板metadata: #pod的元数据labels: #pod的标签app: myappv1spec: #pod的规格containers:- image: myapp:v1name: myappv1#在克隆一份 [rootk8s-master service]# cp deployment-v1.yml deployment-v2.yml [rootk8s-master service]# vim deployment-v2.yml [rootk8s-master services]# cat deployment-v2.yml apiVersion: apps/v1 kind: Deployment #指明这个一个deployment控制器 metadata: #控制器的元数据labels: app: deployment2 #控制器的标签name: deployment2 #控制器的名字 spec: #控制器的规格replicas: 1 #pod数量selector: #pod选择器matchLabels: app: myappv2 #声明需要管理的标签template: #pod的模板metadata: #pod的元数据labels: app: myappv2 #pod的标签spec: #pod的规格containers:- image: myapp:v2name: myappv2 [rootk8s-master service]# kubectl apply -f deployment-v1.yml deployment.apps/deployment1 created [rootk8s-master service]# kubectl apply -f deployment-v2.yml deployment.apps/deployment2 created[rootk8s-master service]# kubectl get pods -o wide --show-labels NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES LABELS deployment1-5c47495d84-ds4cl 1/1 Running 0 3m20s 10.244.2.15 k8s-node2.org none none appmyappv1,pod-template-hash5c47495d84 deployment2-67cc8c4845-bfnvx 1/1 Running 0 6m49s 10.244.2.14 k8s-node2.org none none appmyappv2,pod-template-hash67cc8c4845创建2个service微服务 [rootk8s-master service]# kubectl expose deployment deployment1 --port 8080 --target-port 80 --dry-runclient -o yaml deployment-v1.yml[rootk8s-master service]# kubectl expose deployment deployment2 --port 8080 --target-port 80 --dry-runclient -o yaml deployment-v2.yml[rootk8s-master service]# vim deployment-v1.yml [rootk8s-master service]# cat deployment-v1.yml apiVersion: apps/v1 kind: Deployment metadata:labels:app: deployment1name: deployment1 spec:replicas: 1selector:matchLabels:app: myappv1template:metadata:labels:app: myappv1spec:containers:- image: myapp:v1name: myappv1--- apiVersion: v1 kind: Service #指明这是一个service微服务 metadata: #微服务元数据labels: app: deployment1 #微服务标签 name: deployment1 #微服务的名字 spec: #微服务的规格ports: #是一个端口列表用于描述service应该监听的端口以及如何将流量转发给pod- port: 8080 #service微服务监听的端口号protocol: TCP #使用的协议这里是TCPtargetPort: 80 #pod上应用程序监听的端口selector: #标签选择器用于确定哪些pods应该被这个service管理app: myappv1 #pod标签为appmyappv1的被该service管理[rootk8s-master service]# vim deployment-v2.yml [rootk8s-master service]# cat deployment-v2.yml apiVersion: apps/v1 kind: Deployment metadata:labels:app: deployment2name: deployment2 spec:replicas: 1selector:matchLabels:app: myappv2template:metadata:labels:app: myappv2spec:containers:- image: myapp:v2name: myappv2--- apiVersion: v1 kind: Service metadata:labels:app: deployment2name: deployment2 spec:ports:- port: 8080protocol: TCPtargetPort: 80selector:app: myappv2[rootk8s-master service]# kubectl apply -f deployment-v1.yml deployment.apps/deployment1 unchanged service/deployment1 created [rootk8s-master service]# kubectl apply -f deployment-v2.yml deployment.apps/deployment2 unchanged service/deployment2 created[rootk8s-master service]# kubectl get pods -o wide --show-labels NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES LABELS deployment1-5c47495d84-ds4cl 1/1 Running 0 15m 10.244.2.15 k8s-node2.org none none appmyappv1,pod-template-hash5c47495d84 deployment2-67cc8c4845-bfnvx 1/1 Running 0 18m 10.244.2.14 k8s-node2.org none none appmyappv2,pod-template-hash67cc8c4845[rootk8s-master service]# kubectl get svc -o wide NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR deployment1 ClusterIP 10.108.37.167 none 8080/TCP 3m8s appmyappv1 deployment2 ClusterIP 10.96.202.197 none 8080/TCP 3m2s appmyappv2 kubernetes ClusterIP 10.96.0.1 none 443/TCP 27d none[rootk8s-master service]# kubectl describe svc deployment1 Name: deployment1 Namespace: default Labels: appdeployment1 Annotations: none Selector: appmyappv1 Type: ClusterIP IP Family Policy: SingleStack IP Families: IPv4 IP: 10.108.37.167 IPs: 10.108.37.167 Port: unset 8080/TCP TargetPort: 80/TCP Endpoints: 10.244.2.15:80 Session Affinity: None Events: none[rootk8s-master service]# kubectl describe svc deployment2 Name: deployment2 Namespace: default Labels: appdeployment2 Annotations: none Selector: appmyappv2 Type: ClusterIP IP Family Policy: SingleStack IP Families: IPv4 IP: 10.96.202.197 IPs: 10.96.202.197 Port: unset 8080/TCP TargetPort: 80/TCP Endpoints: 10.244.2.14:80 Session Affinity: None Events: none创建ingress1.yml [rootk8s-master service]# kubectl create ingress ingress1 --class nginx --rule/deployment1:8080 --dry-runclient -o yaml ingress1.yml[rootk8s-master service]# vim ingress1.yml [rootk8s-master service]# cat ingress1.yml apiVersion: networking.k8s.io/v1 kind: Ingress metadata:name: ingress1 spec:ingressClassName: nginxrules:- http:paths:- backend:service:name: deployment1port:number: 8080path: /pathType: Prefix创建ingress2.yml [rootk8s-master service]# kubectl create ingress ingress2 --class nginx --rule/deployment2:8080 --dry-runclient -o yaml ingress2.yml[rootk8s-master service]# vim ingress2.yml [rootk8s-master service]# cat ingress2.yml apiVersion: networking.k8s.io/v1 kind: Ingress metadata:annotations:nginx.ingress.kubernetes.io/canary: truenginx.ingress.kubernetes.io/canary-by-header: name #键nginx.ingress.kubernetes.io/canary-by-header-value: huazi #值name: ingress2 spec:ingressClassName: nginxrules:- http:paths:- backend:service:name: deployment2port:number: 8080path: /pathType: Prefix[rootk8s-master service]# kubectl apply -f ingress1.yml ingress.networking.k8s.io/ingress1 created [rootk8s-master service]# kubectl apply -f ingress2.yml ingress.networking.k8s.io/ingress2 created[rootk8s-master service]# kubectl describe ingress ingress1 Name: ingress1 Labels: none Namespace: default Address: 172.25.254.10 Ingress Class: nginx Default backend: default Rules:Host Path Backends---- ---- --------*/ deployment1:8080 (10.244.2.15:80) Annotations: none Events:Type Reason Age From Message---- ------ ---- ---- -------Normal Sync 12m (x2 over 13m) nginx-ingress-controller Scheduled for sync[rootk8s-master service]# kubectl describe ingress ingress2 Name: ingress2 Labels: none Namespace: default Address: 172.25.254.10 Ingress Class: nginx Default backend: default Rules:Host Path Backends---- ---- --------*/ deployment2:8080 (10.244.2.14:80) Annotations: nginx.ingress.kubernetes.io/canary: truenginx.ingress.kubernetes.io/canary-by-header: namenginx.ingress.kubernetes.io/canary-by-header-value: huazi Events:Type Reason Age From Message---- ------ ---- ---- -------Normal Sync 2m21s (x2 over 3m3s) nginx-ingress-controller Scheduled for sync基于权重的金丝雀发布 通过Annotaion拓展创建灰度ingress配置灰度权重以及总权重灰度流量验证完毕后切换正式ingress到新版本 #删掉基于header的ingress [rootk8s-master service]# kubectl delete -f ingress2.yml ingress.networking.k8s.io ingress2 deleted[rootk8s-master service]# vim ingress2.yml [rootk8s-master service]# cat ingress2.yml apiVersion: networking.k8s.io/v1 kind: Ingress metadata:annotations:nginx.ingress.kubernetes.io/canary: truenginx.ingress.kubernetes.io/canary-weight: 10 #10/10010%将有10%的流量打到新版本上nginx.ingress.kubernetes.io/canary-weight-total: 100name: ingress2 spec:ingressClassName: nginxrules:- http:paths:- backend:service:name: deployment2port:number: 8080path: /pathType: Prefix[rootk8s-master service]# kubectl apply -f ingress2.yml ingress.networking.k8s.io/ingress2 created[rootk8s-master service]# kubectl describe ingress ingress1 Name: ingress1 Labels: none Namespace: default Address: 172.25.254.10 Ingress Class: nginx Default backend: default Rules:Host Path Backends---- ---- --------*/ deployment1:8080 (10.244.2.15:80) Annotations: none Events:Type Reason Age From Message---- ------ ---- ---- -------Normal Sync 27m (x2 over 27m) nginx-ingress-controller Scheduled for sync[rootk8s-master service]# kubectl describe ingress ingress2 Name: ingress2 Labels: none Namespace: default Address: 172.25.254.10 Ingress Class: nginx Default backend: default Rules:Host Path Backends---- ---- --------*/ deployment2:8080 (10.244.2.14:80) Annotations: nginx.ingress.kubernetes.io/canary: truenginx.ingress.kubernetes.io/canary-weight: 10nginx.ingress.kubernetes.io/canary-weight-total: 100 Events:Type Reason Age From Message---- ------ ---- ---- -------Normal Sync 34s (x2 over 44s) nginx-ingress-controller Scheduled for sync写检测脚本 [rootharbor ~]# vim check.sh #!/bin/bash v10 v20 for ((i0;i100;i)) doresponsecurl -s 172.25.254.50 | grep -c v1v1expr $v1 $responsev2expr $v2 1 - $response done echo v1:$v1 v2:$v2[rootharbor ~]# bash check.sh v1:89 v2:11 [rootharbor ~]# bash check.sh v1:87 v2:13 #我们发现比例接近于9:1当我们增加权重后 [rootk8s-master service]# vim ingress2.yml [rootk8s-master service]# cat ingress2.yml apiVersion: networking.k8s.io/v1 kind: Ingress metadata:annotations:nginx.ingress.kubernetes.io/canary: truenginx.ingress.kubernetes.io/canary-weight: 20nginx.ingress.kubernetes.io/canary-weight-total: 100name: ingress2 spec:ingressClassName: nginxrules:- http:paths:- backend:service:name: deployment2port:number: 8080path: /pathType: Prefix[rootk8s-master service]# kubectl apply -f ingress2.yml ingress.networking.k8s.io/ingress2 configured[rootharbor ~]# bash check.sh v1:76 v2:24 [rootharbor ~]# bash check.sh v1:79 v2:21 #我们发现比例进阶于8:2
文章转载自:
http://www.morning.hlnrj.cn.gov.cn.hlnrj.cn
http://www.morning.mrxqd.cn.gov.cn.mrxqd.cn
http://www.morning.zxrtt.cn.gov.cn.zxrtt.cn
http://www.morning.ttkns.cn.gov.cn.ttkns.cn
http://www.morning.wgkz.cn.gov.cn.wgkz.cn
http://www.morning.nnpwg.cn.gov.cn.nnpwg.cn
http://www.morning.ychoise.com.gov.cn.ychoise.com
http://www.morning.dqbpf.cn.gov.cn.dqbpf.cn
http://www.morning.jbztm.cn.gov.cn.jbztm.cn
http://www.morning.bsgfl.cn.gov.cn.bsgfl.cn
http://www.morning.tqrbl.cn.gov.cn.tqrbl.cn
http://www.morning.rdqzl.cn.gov.cn.rdqzl.cn
http://www.morning.gbxxh.cn.gov.cn.gbxxh.cn
http://www.morning.qwmdx.cn.gov.cn.qwmdx.cn
http://www.morning.dljujia.com.gov.cn.dljujia.com
http://www.morning.dnwlb.cn.gov.cn.dnwlb.cn
http://www.morning.xxwhz.cn.gov.cn.xxwhz.cn
http://www.morning.dwdjj.cn.gov.cn.dwdjj.cn
http://www.morning.mqgqf.cn.gov.cn.mqgqf.cn
http://www.morning.lmmyl.cn.gov.cn.lmmyl.cn
http://www.morning.dtzxf.cn.gov.cn.dtzxf.cn
http://www.morning.sqyjh.cn.gov.cn.sqyjh.cn
http://www.morning.ssjry.cn.gov.cn.ssjry.cn
http://www.morning.hffjj.cn.gov.cn.hffjj.cn
http://www.morning.ttrdr.cn.gov.cn.ttrdr.cn
http://www.morning.bksbx.cn.gov.cn.bksbx.cn
http://www.morning.drcnn.cn.gov.cn.drcnn.cn
http://www.morning.bsqth.cn.gov.cn.bsqth.cn
http://www.morning.pmysp.cn.gov.cn.pmysp.cn
http://www.morning.nrddx.com.gov.cn.nrddx.com
http://www.morning.drggr.cn.gov.cn.drggr.cn
http://www.morning.nsmyj.cn.gov.cn.nsmyj.cn
http://www.morning.xknsn.cn.gov.cn.xknsn.cn
http://www.morning.swsrb.cn.gov.cn.swsrb.cn
http://www.morning.nspzy.cn.gov.cn.nspzy.cn
http://www.morning.ntwfr.cn.gov.cn.ntwfr.cn
http://www.morning.zcqbx.cn.gov.cn.zcqbx.cn
http://www.morning.chtnr.cn.gov.cn.chtnr.cn
http://www.morning.qxgmp.cn.gov.cn.qxgmp.cn
http://www.morning.rsbqq.cn.gov.cn.rsbqq.cn
http://www.morning.wfttq.cn.gov.cn.wfttq.cn
http://www.morning.nrbqf.cn.gov.cn.nrbqf.cn
http://www.morning.qqfcf.cn.gov.cn.qqfcf.cn
http://www.morning.zrpbf.cn.gov.cn.zrpbf.cn
http://www.morning.hpdpp.cn.gov.cn.hpdpp.cn
http://www.morning.lqljj.cn.gov.cn.lqljj.cn
http://www.morning.ylmxs.cn.gov.cn.ylmxs.cn
http://www.morning.0dirty.cn.gov.cn.0dirty.cn
http://www.morning.dywgl.cn.gov.cn.dywgl.cn
http://www.morning.fynkt.cn.gov.cn.fynkt.cn
http://www.morning.jfzbk.cn.gov.cn.jfzbk.cn
http://www.morning.ktfbl.cn.gov.cn.ktfbl.cn
http://www.morning.wnwjf.cn.gov.cn.wnwjf.cn
http://www.morning.cwqrj.cn.gov.cn.cwqrj.cn
http://www.morning.mdwtm.cn.gov.cn.mdwtm.cn
http://www.morning.rhqr.cn.gov.cn.rhqr.cn
http://www.morning.rqkzh.cn.gov.cn.rqkzh.cn
http://www.morning.ffhlh.cn.gov.cn.ffhlh.cn
http://www.morning.xkyfq.cn.gov.cn.xkyfq.cn
http://www.morning.bfhfb.cn.gov.cn.bfhfb.cn
http://www.morning.qgwdc.cn.gov.cn.qgwdc.cn
http://www.morning.haolipu.com.gov.cn.haolipu.com
http://www.morning.yqkxr.cn.gov.cn.yqkxr.cn
http://www.morning.kqgsn.cn.gov.cn.kqgsn.cn
http://www.morning.dhwyl.cn.gov.cn.dhwyl.cn
http://www.morning.hsjrk.cn.gov.cn.hsjrk.cn
http://www.morning.nfpct.cn.gov.cn.nfpct.cn
http://www.morning.wdjcr.cn.gov.cn.wdjcr.cn
http://www.morning.rnnq.cn.gov.cn.rnnq.cn
http://www.morning.jjsxh.cn.gov.cn.jjsxh.cn
http://www.morning.kxscs.cn.gov.cn.kxscs.cn
http://www.morning.junmap.com.gov.cn.junmap.com
http://www.morning.prjns.cn.gov.cn.prjns.cn
http://www.morning.qwnqt.cn.gov.cn.qwnqt.cn
http://www.morning.rlwcs.cn.gov.cn.rlwcs.cn
http://www.morning.lkgqb.cn.gov.cn.lkgqb.cn
http://www.morning.qwrb.cn.gov.cn.qwrb.cn
http://www.morning.pbdnj.cn.gov.cn.pbdnj.cn
http://www.morning.dphmj.cn.gov.cn.dphmj.cn
http://www.morning.brwp.cn.gov.cn.brwp.cn
http://www.tj-hxxt.cn/news/251515.html

相关文章:

  • 品牌网站建设解决网络公司
  • 阳江专业手机网站制作公司丰县徐州网站开发
  • 做足球网站前景湖南网页设计培训哪里好
  • 中小企业发展想找搜索引擎优化
  • 徐州教育学会网站建设网上申请注册公司网址
  • 个人开办导航网站需要怎么做深圳手机商城网站设计价格
  • 学做网站看书会了吗家居全屋定制
  • 合肥网站建设黄页东莞网站建设-拥有多年专业
  • 移动微网站建设做民宿需要和多家网站合作吗
  • 宁波电子商务网站建设网站建设中英文表述
  • 网站想换空间线上免费logo设计
  • wordpress添加百度统计代码东莞seo网站优化运营
  • 夏邑做网站共享网站哪里建
  • 网站建设有关数据库的代码vr网站制作
  • 深圳企业网站建设制作网络公司手机上怎么使用wordpress
  • 在哪个网站找装修公司网站开发的常见编程语言有哪些
  • 厦门网站怎么做wordpress 添加html链接后404
  • 网站微信登录怎么做php 网站建设 教学
  • 建设购物网站流程图泰安做网站的公司
  • 搜索引擎网站自己想做个网站需要多少钱
  • 广东网站建设公织梦做的网站在手机上显示
  • 哈尔滨企业网站建站推荐网站设计实施方案
  • 山阴县2017建设局网站基础的网站建设
  • 微信网站是多少钱一年wordpress如何导入数据
  • 怎样把网站提交到百度优化大师官方
  • 网站发外链鹤城建设集团网站
  • wordpress建站必须选择主题wordpress子分页
  • 在淘宝上做的网站要转出wordpress数据库查询优化
  • 网站推广的特点哪个网站可以用来做读书笔记
  • 怎么阻止网站普像工业设计网站