需求背景
terraform-controller是一个实现kubevela整合terraform能力的插件,本质上也是一个Operator,核心能力就是提供自定义的Configuration资源定义+Configuration资源控制器。通过Configuration资源的Spec声明hcl代码,Configuration资源控制器监听Configuration资源的创建、更新、销毁,执行terraform apply和terraform destroy命令,实现申请、更新IaC资源(基础设施),和删除IaC资源。
terraform-controller的实现原理就是通过创建一个Job来启动一个Pod,在Pod中启动一个带terraform的镜像容器,来执行terraform apply或terraform destroy命令。在terraform-controller一章中我们会详细介绍terraform-controller的工作原理。
由于terraform-controller不支持配置Job的最大重试次数,如果terraform apply执行失败,例如云平台账号没有足够的费用去申请IaC资源,Job的控制器会不断的拉起Pod重试。正常情况,这种重试并不会有什么副作用,在案例中,我们只需要给账号充值,重试还能使得自动恢复IaC的申请,完成应用的部署。
然而,在自研混合云平台的背景下,由于前期研发人员投入有限,很多IaC的申请,背后都是“人工智能”,就是通过提交工单的方式申请,而这种失败的重试,可能会导致提交非常多的工单,不仅是占用数据库资源,还会导致重要工单被这些无限重复的工单覆盖。
这个问题笔记已经向社区反馈https://github.com/kubevela/ter
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: 什么是ip地址?什么是物理地址? 如何查询网站IP地址和物理地址?
🌟IP地址和物理地址,了解一下! 你是否曾经听说过IP地址和物理地址呢?这两种地址在计算机网络中起着非常重要的作用。今天,我们就来简单了解一下这两种地址之间的区别和联系,以及如何查询这两种地址。 🌟IP地址是什么? 首先,让我们来了解一下IP地址。IP…