azure git怎么使用_使用GitOps管理您的Kubernetes集群

2b686cf05f15a7b6ac8063049644743d.gif

在存在的6年中,Kubernetes一直是Cloud Native的核心,提升了可插拔系统,为整个生态系统的多样化做出了贡献。结果,该行业已经开发了多个领域,为诸如网络,runc,存储以及集群配置之类的组件提供了通用的解决方案。集群API是跨公共云基础架构管理中的关键工具之一,在Kubernetes发行方面具有独特而激进的立场。与诸如GitOps之类的模型相关联,Cluster API组合了一种机制,该机制利用了集群作为资源的概念。

这篇文章旨在概述如何使用Cluster API清单对ClusterOps进行建模,以及如何使用GitOps工具(例如ArgoCD和Flux)进行自动化构建。

理论上在创建集群方面,已经采用了许多解决方案和发行版来简化跨云服务商的Kubernetes引导过程。但是,在开放源代码领域中脱颖而出的工具之一是Cluster API,因为它为现有供应商(例如GCP,AWS,Azure,阿里云,Packet)之间的平台创建提供了一个通用接口,Cluster API将基础架构定义简化为两个清单,从而充分利用了Kubernetes构建块或CRD。自最新版本(v1alpha3)起,Cluster API引入了5种自定义资源:

6e413980a4af9af085b8e0aafe576bbe.png

                                           集群API CRD

Cluster -包含基础架构提供商创建Kubernetes集群所需的详细信息(例如,用于Pod,服务的CIDR块)

ControlPlane —概述了Kubeadm的声明性控制平面生命周期管理机制

Machine —封装了Kubernetes节点的配置(例如kubelet版本)

MachineSet-确保始终启动并运行所需数量的计算机资源(类似于ReplicaSet)

MachineDeployment —通过在MachineSet配置之间采用可靠的部署策略来协调对Machine资源的更改(类似于Deployment)

因此,概述了一个新概念,将群集标识为自定义资源(CaaCRD或CaaR)。使用Cluster API,将使用CRD概述Kubernetes控件和数据平面并将其存储为YAML清单。

平台生成的下一个有机步骤是模板和自动化。默认情况下,可以对一组清单进行参数设置并与Helm和Kustomize打包在一起。这使跨不同区域和云提供商的具有预定义技术要求的集群得以定制。另外,值得一提的是,将现有清单,图表和模板存储在git存储库中是一种很好的做法。这可以解锁GitOps工具的集成,从而解决了集群生成的自动化部分。

4a02935b19bc75cd9d4b21affbc18c22.png

GitOps是一种应用程序交付机制,它具有git存储库来表示所需的应用程序状态。这表明,IDE和集群部署之间的差异仅在PR之外。GitOps与数据自动调节相关联,这意味着它具有拉动系统,始终监视新提交。 Flux (CNCF沙盒项目)和 ArgoCD (CNCF孵化项目)展示了GitOps的流行实现。

实用的既然已经强调了所有技术概念,那么下一步就是将所有这些组件都放在同一个画布中。以下示例旨在概述有关如何使用ClusterAPI和ArgoCD在AWS中创建Kubernetes集群的指南。

要设置集群API,需要一个管理集群,可以使用Kind(Kubernetes的docker化版本)创建管理集群。一旦满足此要求,就可以初始化控制器管理器:

要设置集群API,需要一个管理集群,可以使用Kind(Kubernetes的docker化版本)创建管理集群。一旦满足此要求,就可以初始化控制器管理器:

9c88411d3ae997c305fbc170b5587910.png

一旦所有Cluster API组件启动并运行,就可以安装ArgoCD:

9739dc387931e89c950b350121b69c75.png

下一步是配置ArgoCD应用程序,请参考Helm chart,该chart 包含AWS中平台扩展的清单:

a04ba148252cb1524fe6bd2b6b1aff2a.png

就是这样!通过ArgoCD中的自动协调,将可以识别和应用集群控制和数据平面的资源。

结论

在Kubernetes的整个发展过程中,社区引擎受到各种举措的推动,这些举措进一步简化了群集配置过程,而与基础架构无关。从根本上讲,这是集群API的存在理由,它提供了一组强大的功能,以提供一致的平台部署体验。结合GitOps技术,这代表了一种强大的策略的起源,该策略可以使跨公共云供应商的Kubernetes分发完全自动化。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值