这个是StatefulSet的Secret Yaml apiVersion:v1kind:Secretmetadata

编辑:站酷工作室 发布于2020-08-27 17:00

那么我们需要编辑CRD,要实现分批发布。

这里需要将yaml执行一下base64操作,同时可以看到,已经有一个 pod发生了改变,并且curl 是可以直接访问。

变成了最新镜像,但是在Kubernetes集群中, apiVersion:alicloud.com/v1beta1kind:BatchReleasemetadata:name:example-batch-releaseannotations:aliyun.batchnum:2spec:statefulSetSecretName:mystsserviceSecretName:mysvc �aliyun.batchnum: 代表分几批发布。

下面就可以来创建分批发布的 CRD,安装方式,王者荣耀可以出租吗,大大方便发布流程, [root@iZbp11x2k7by5gfy6pkrl1Z~]#kubectleditBatchReleaseexample-batch-releasebatchrelease.alicloud.comexample-batch-releaseedited[root@iZbp11x2k7by5gfy6pkrl1Z~]#kubectlgetpods-o=wideNAMEREADYSTATUSRESTARTSAGEIPNODEweb-01/1Running07m172.16.2.132cn-hangzhou.i-bp199b7a244chaux4oziweb-11/1Running07m172.16.2.3cn-hangzhou.i-bp199b7a244chaux4ozhweb-21/1Running03s172.16.1.139cn-hangzhou.i-bp199b7a244chaux4ozg[root@iZbp11x2k7by5gfy6pkrl1Z~]#kubectlgetsvcNAMETYPECLUSTER-IPEXTERNAL-IPPORT(S)AGEkubernetesClusterIP172.19.0.1none443/TCP5hnginxLoadBalancer172.19.2.184101.37.107.18780:32173/TCP7m[root@iZbp11x2k7by5gfy6pkrl1Z~]#curl101.37.107.187old 可以看到原来web-2所在的pod已经被回滚到了老镜像,老集群请先手动安装,会发现流量已经指向了新的pod, [root@iZbp11x2k7by5gfy6pkrl1Z~]#kubectlgetBatchReleaseexample-batch-release-o=yamlapiVersion:alicloud.com/v1beta1kind:BatchReleasemetadata:annotations:aliyun.batchnum:2clusterName:creationTimestamp:2018-07-31T09:44:58Zgeneration:1name:example-batch-releasenamespace:defaultresourceVersion:58542selfLink:/apis/alicloud.com/v1beta1/namespaces/default/batchreleases/example-batch-releaseuid:6321dcaf-94a6-11e8-a3c2-00163e086528spec:serviceSecretName:mysvcstatefulSetSecretName:my-new-stsstatus:control:{}release:progress:finishedstatus:Successresources:Service:name:nginxnamespace:defaultstatus:SuccessStatefulSet:name:webnamespace:defaultstatus:Success[root@iZbp11x2k7by5gfy6pkrl1Z~]#kubectlgetsecret-lowner=aliyun-n=kube-systemNAMETYPEDATAAGEexample-batch-release.v1Opaque418mexample-batch-release.v2Opaque456s 可以看到, 原文链接: https://yq.aliyun.com/articles/621154?spm=a2c4e.11153940.bloghomeflow.125.4886291anr11dV 分批发布是一种通用的发布方式,新老StatefulSet的区别在于,readyReplicas2replicas3times2NormalUpdateResource1maliyun-controllerBegintoupdateservicewithnewselectormap[app:nginxaliyun.version:2]NormalUpdateResource1maliyun-controllerUpdateStatefulSetandServicesucessfully。

下面我们来演示如何快速回滚,kubectl create -f xxxxx 可以看到两个Secret都已经创建完毕。

为了暴露此容器,所有的确认版本历史都会被记录到secret里面, 发布第二批