[10.14 workshop] ACK应用灰度发布
前提条件
- 创建一个类型为Deployment的工作负载。有关具体操作,请参见使用镜像创建无状态Deployment应用。
- 创建一个服务(Service)。有关具体操作,请参见创建服务。
- 创建一个路由(Ingress)。有关具体操作,请参见创建路由(Ingress)。
操作步骤
步骤一:创建测试应用
使用以下YAML文件模板作为测试示例。该示例使用Deployment部署一个Web应用,并通过路由(Ingress)向外暴露服务(Service)。
apiVersion: apps/v1 kind: Deployment metadata: name: podinfo labels: app: podinfo spec: replicas: 4 minReadySeconds: 5 revisionHistoryLimit: 5 progressDeadlineSeconds: 60 strategy: rollingUpdate: maxUnavailable: 1 type: RollingUpdate selector: matchLabels: app: podinfo template: metadata: labels: app: podinfo spec: containers: - name: podinfod image: registry-vpc.cn-shanghai.aliyuncs.com/acs/rollouts-demo:green imagePullPolicy: IfNotPresent ports: - name: http containerPort: 8080 protocol: TCP readinessProbe: tcpSocket: port: 8080 initialDelaySeconds: 5 timeoutSeconds: 5 --- apiVersion: v1 kind: Service metadata: name: my-podinfo-svc spec: selector: app: podinfo ports: - protocol: TCP port: 80 targetPort: 8080 --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: podinfo labels: app: podinfo spec: rules: - host: app.example.com http: paths: - backend: serviceName: my-podinfo-svc servicePort: 80
步骤二:创建灰度发布
1、在控制台左侧导航栏中,单击集群。
(福利推荐:阿里云、腾讯云、华为云服务器最新限时优惠活动,云服务器1核2G仅88元/年、2核4G仅698元/3年,点击这里立即抢购>>>)
2、在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
3、在集群管理页左侧导航栏中,单击发布,然后选择灰度发布页签。
4、在灰度发布页面右侧,单击创建。
5、在创建面板,设置上述创建的Deployment、Service、Ingress,然后设置发布方式为手动发布。有关发布方式特性的描述详情,请参见灰度发布的高级选项。
6、单击确定。
完成创建灰度发布后,单击创建的灰度发布名称,发布状态显示初始化完毕。如果显示初始化中的话,可以多次单击刷新。
步骤三:执行灰度发布
开始灰度发布前,您需要先更新一下应用。本文示例以更新镜像tag为例,修改镜像tag中的green为blue。先发布两个Pod为新版本,同时将新版本的灰度流量设置为10%。
1、单击目标灰度发布名称,然后在详情页面,单击发布对象名称后面的编辑图标。
2、在查看YAML面板中,将green修改为blue,然后单击确定。
3、在灰度发布基本信息区域,编辑当前权重[0-100]为10,新版容器组副本数[0-4]为2。
可以看到,新版本的Pod已经创建。这时候访问应用观察流量情况,可以看到流量中绿色占比90%,蓝色占比10%。
4、根据业务的实际情况,不断调整新旧版容器数量,将旧版Pod缩容,新版Pod扩容,然后将更多的流量导入到新版本的Pod中。当测试完毕且没有问题时,单击页面右上方的确认发布,完成此次发布。
发布成功后,可以查看流量情况。当业务的所有流量都转向了新的Pod时,就完成了一次应用的发布。您可以单击页面右上方的完成,结束此次发布动作。
步骤四:查看历史记录
每次发布完成后,您可以查看发布的记录:
- 在灰度发布页面的历史记录区域,您可以查看所有创建的灰度发布的发布记录。
- 在每个创建的灰度发布详情页面下方的发布日志区域,查看发布的过程。
你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:
相关文章
- Jitpack发布Android库出现Direct local .aar file dependencies are not supported when building an AAR
- 关于Android12安装apk出现-108异常INSTALL_PARSE_FAILED_MANIFEST_MALFORMED的解决方法
- Android 多module情况下module依赖aar问题处理
- Android7.0以上的分享图片文件错误及解决方法
- Android开发 对接微信分享SDK总结
- Android RecyclerView使用ListAdapter高效刷新数据
- Android自动化测试工具调研
- Android 自动取色并设置沉浸式状态栏
- Java 断点下载(下载续传)服务端及客户端(Android)代码
- Android自定义View学习(1)——基础知识介绍
- Android webview只加载10%且出现白屏问题排查解决
- Android Studio安装插件重启插件消失
- Android Swtich开关样式调整
- Android 实现开机自启APP
- 关于TornadoFx和Android的全局配置工具类封装实现及思路解析
- Android shape与selector标签使用
- Android8.0 后台服务保活的一种思路
- 关于Android安装apk出现解析包异常问题情况总结
- Android 接入腾讯IM即时通信(详细图文)
- Android 语音播放(文字TTS)