Kar*_*iji 3 kubernetes devops minikube kubernetes-helm
我正在尝试创建一个 Helm 图表 (x),其中图表 (x) 内按特定顺序进行 5 个部署:
\n\nHelm/Tiller 版本:“v2.12.3”\nKubectl 版本:主要:“1”,次要:“17”\nMinikube 版本:v1.6.2
\n\n我目前拥有的:\n资源:\n==> v1/Deployment
\n\n姓名
\n\n我可以轻松部署图表 (x),但一旦运行 helm ls,我的 (x) 图表就会按随机顺序排列,如上所示。我只有一个图表名称 (x),在 (x) 内我有:
\n\nChart.yaml 图表 模板 value.yaml
\n\n模板和图表是目录,其余的是文件。\n 有没有特定的方法或技巧可以让我的 x(图表)按我想要的顺序排列?我\xe2\x80\x99已经做了一些研究,我不太确定 helm Spray 是否正确调用,因为我正在尝试使用不同的部署来部署 1 个图表,而不是伞图和许多其他子图表。\n让我知道您是否需要更多信息。
\nPjo*_*erS 11
Helm是包管理器,允许您将应用程序定义为集群上的一组组件,并提供从头到尾管理这些组件的机制。
Helm 本身并不创建 Pod,它会向 Kubernetes api 发送请求,然后 Kubernetes 会创建一切。
我有一个想法如何使用 Helm 来实现。
Helm 的部署顺序在这里Kinds被硬编码。但是,如果您想为 k8s 设置相同类型的部署顺序,可以使用.annotations
您可以设置注释:在本例中使用类似的方式预安装钩子(钩子权重的值越低,优先级越高)。类似的案例可以在Github上找到。hook-weight
它看起来像下面的例子:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
annotations:
helm.sh/hook: pre-install
helm.sh/hook-weight: "10"
labels:
app.kubernetes.io/instance: test
...
Run Code Online (Sandbox Code Playgroud)
您可以使用 检查首先创建的部署kubectl get events。但是,Pod 的创建仍然由 Kubernetes 安排。
要准确获取您需要的内容,您可以使用initContainers和hardcode“sleep”命令。
第一次部署睡眠 1 秒,第二次部署 5 秒,第三次部署 10 秒,取决于部署创建所有 pod 需要多长时间。
您可以查看这篇文章,但请记住spec.containers和spec.initContainers是两个不同的东西。
| 归档时间: |
|
| 查看次数: |
9108 次 |
| 最近记录: |