如何在 Helm 图表中创建多容器应用程序?
How can one create a multi-container application in helm charts?
我没有在 helm 图表上看到任何关于多容器 pod 应用程序的文档。谁能指出如何做到这一点?
像这样https://linchpiner.github.io/k8s-multi-container-pods.html or https://www.mirantis.com/blog/multi-container-pods-and-container-communication-in-kubernetes/
所以基本上有一个包含多个容器的 pod。
helm 图表支持这个吗?
更新:
我现在已经能够使用此帮助来部署 pod(最终示例 pod 定义)
https://github.com/helm/charts/blob/master/stable/keycloak/templates/test/test-pod.yaml
但是我如何拥有副本,例如增加 pods 的数量,我会启动类似 deployment.yaml 的文件?
它应该在模板中得到支持,本质上是在 Pod 规范中使用具有多个容器的模板。该 Pod 规范也可以在其他抽象中,如 Deployments、DaemonSets、StatefulSets 等。
示例:
https://github.com/helm/charts/blob/master/stable/mysql/templates/deployment.yaml
https://github.com/helm/charts/blob/master/stable/lamp/templates/deployment.yaml
这里还有一些:
https://github.com/helm/charts/tree/master/stable
您可以像这样扩展您的部署副本:
kubectl scale deployment mysql-deployment --replicas=10
更多相关内容here
在模板上,您可以在部署规范中指定 replicas
。
例如:
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: my-dep
namespace: kube-system
labels:
k8s-app: my-app
spec:
replicas: 1 <= here
selector:
matchLabels:
k8s-app: my-app
template:
metadata:
labels:
k8s-app: my-app
name: my-app
spec:
serviceAccountName: mysa
terminationGracePeriodSeconds: 60
containers:
- image: mycontainer
name: myappcontainer
ports:
- name: http
containerPort: 80
- name: admin
containerPort: 8080
args:
- --opt1
- --opt2
- --opt3
- image: mycontainer2
name: myappcontainer2
我没有在 helm 图表上看到任何关于多容器 pod 应用程序的文档。谁能指出如何做到这一点?
像这样https://linchpiner.github.io/k8s-multi-container-pods.html or https://www.mirantis.com/blog/multi-container-pods-and-container-communication-in-kubernetes/
所以基本上有一个包含多个容器的 pod。
helm 图表支持这个吗?
更新: 我现在已经能够使用此帮助来部署 pod(最终示例 pod 定义)
https://github.com/helm/charts/blob/master/stable/keycloak/templates/test/test-pod.yaml
但是我如何拥有副本,例如增加 pods 的数量,我会启动类似 deployment.yaml 的文件?
它应该在模板中得到支持,本质上是在 Pod 规范中使用具有多个容器的模板。该 Pod 规范也可以在其他抽象中,如 Deployments、DaemonSets、StatefulSets 等。
示例:
https://github.com/helm/charts/blob/master/stable/mysql/templates/deployment.yaml https://github.com/helm/charts/blob/master/stable/lamp/templates/deployment.yaml
这里还有一些:
https://github.com/helm/charts/tree/master/stable
您可以像这样扩展您的部署副本:
kubectl scale deployment mysql-deployment --replicas=10
更多相关内容here
在模板上,您可以在部署规范中指定 replicas
。
例如:
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: my-dep
namespace: kube-system
labels:
k8s-app: my-app
spec:
replicas: 1 <= here
selector:
matchLabels:
k8s-app: my-app
template:
metadata:
labels:
k8s-app: my-app
name: my-app
spec:
serviceAccountName: mysa
terminationGracePeriodSeconds: 60
containers:
- image: mycontainer
name: myappcontainer
ports:
- name: http
containerPort: 80
- name: admin
containerPort: 8080
args:
- --opt1
- --opt2
- --opt3
- image: mycontainer2
name: myappcontainer2