Kubernetes Helm chart initiation with Kubernetes cluster

时间:2019-04-08 13:20:22

标签: kubernetes kubectl

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 ?

  1. If I am initiating inside master, then can I use kubectl to deploy using ssh on remote worker nodes?
  2. If I am initiating outside the Kubernetes cluster nodes , then Can i use kubectl command to deploy in Kubernetes cluster ?

2 个答案:

答案 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最佳实践:

  • flux(使用Helm-Operator)
  • Jenkins-x(将头盔用作发布管道的一部分,请在YT上查看this会话以查看其运作情况)