我正在Ansible上进行kubernetes蓝绿色部署。
我知道使用Terraform可能会更容易,但是我们没有使用它:S。
我得到的变量是:
-应用名称
-应用程序版本
-副本数
部署步骤大致如下:
1-查找是否已部署应用程序
2a-如果没有应用程序,则将其部署为新应用。
2b-如果有应用程序,请将其设置为蓝色。
2c-如果该应用程序与一个部署相同,请检查副本数并在必要时重新缩放。
3-部署新应用程序,然后等待Pod启动。
4- Pod运行后,将服务更改为新的部署。
5-删除蓝色应用程序
您建议使用什么字典或局部事实来处理变量?
可以在角色内部使用它们吗?
这是我正在使用的container-deployment.yml,仅用于常规应用程序部署:
- hosts: master
gather_facts: no
become: true
roles:
- namespace <-- this step will create the namespace
- app-build <-- this will create the image for the build
- deployment <-- deploy the "deployment"
- service <-- create the service
任何建议将不胜感激。
谢谢