我正在尝试以特定顺序在图表(x)内创建5个部署的Helm图表(x):
头盔/耕种机版本:“ v2.12.3” Kubectl版本:Major:“ 1”,Minor:“ 17” Minikube版本:v1.6.2
我目前所拥有的: 资源: ==> v1 /部署
NAME
我可以轻松地部署图表(x),但是一旦运行hes ls,我的(x)图表就会按照上面的顺序随机排列。我只有一个图表名称(x),并且在(x)以内:
Chart.yaml 图表 模板 values.yaml
模板和图表是目录,其余是文件。 是否有特定的方法或技巧可以让我的x(图表)按我想要的顺序排列?我已经进行了一些研究,但是我不确定头盔喷雾是否正确,因为我正尝试部署1个具有不同部署方式的图表,而不是伞形图表和许多其他子图表。 让我知道您是否需要更多信息。
答案 0 :(得分:3)
Helm是程序包管理器,可让您将应用程序定义为集群上的一组组件,并提供从头到尾管理这些组的机制。
头盔本身未创建Pod,而是将请求发送到Kubernetes api,然后Kubernetes正在创建所有内容。
我知道如何使用Helm来实现它。
部署Kinds
的头盔顺序是硬编码的here。但是,如果要将相同类型的部署顺序设置为k8s,则可以使用annotations
完成。
您可以设置注释:Pre-install与hook-weight
挂钩,如this示例中所示(挂钩权重中的较低值具有更高的优先级)。在Github上可以找到类似的情况。
它看起来像下面的例子:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
helm.sh/hook: pre-install
helm.sh/hook-weight: "10"
labels:
app.kubernetes.io/instance: test
...
您可以检查首先使用kubectl get events
创建的部署。但是,Kubernetes仍在计划创建Pod。
要完全获得所需的内容,可以使用initContainers和hardcode
“ sleep”命令。
第一次部署使用睡眠1s,第二次部署使用5s,第三次使用10s,取决于多长时间部署需要创建所有Pod。
您可以查看this文章,但请记住spec.containers
和spec.initContainers
是两件事。