I am implementing the continuous integration and continuous deployment by using Ansible, Docker, Jenkins and Kubernetes. I already created one Kubernetes cluster with 1 master and 2 worker nodes by using Ansible and kubespray deployment. And I have 30 - 40 number of micro service application. I need to create that much of service and deployments.
My Confusion
When I am using Kubernetes package manager Kubernetes Helm chart, then do I need to initiate my chart on master node or in my base machine from where I I deployed my kubernet cluster ?
答案 0 :(得分:1)
您的困惑似乎在于Helm组件的配置和相互作用。 This explanation提供了很好的图形来表示关系。
如果使用传统的Helm / Tiller配置,Helm将本地安装在您的计算机上,并且假设您具有正确的kubectl
配置,则可以通过运行helm init
“初始化”集群将Tiller安装到您的集群中。耕种机将在kube-system
中作为部署运行,并具有RBAC特权来创建/修改/删除/查看图表资源。 Helm会自动为您管理所有API对象,而kube-scheduler会相应地将pod调度到您的所有节点。您不应该通过控制台直接与主节点和节点进行交互。
在这两种配置中,您始终将通过kubectl
访问群集来从本地计算机进行Helm部署。
希望这会有所帮助!
答案 1 :(得分:1)
如果您想在Kubernetes集群中运行helm客户端的方法,请检查Helm-Operator的概念。
我还建议您四处寻找“ GitOps”一词-将Git与Kubernetes结合在一起的一组实践,并将Git设置为声明性基础结构和应用程序的真实来源。
有两个很棒的OSS项目,它们实现了GitOps最佳实践: