如何使用相同的舵图部署多个 Pod?

Gau*_*ola 6 kubernetes kubernetes-helm

我想在同一命名空间内的不同 pod 中部署多个 ML 模型。但是,每当我从 aws ECR 中提取新映像并使用 helm 部署它时,它都会终止当前正在运行的 pod 并创建一个新的 pod。所以我无法部署多个模型。每次它都会杀死前一个并制作一个新的豆荚。

helm upgrade --install tf-serving ./charts/tf-serving/ --namespace mlhub
Run Code Online (Sandbox Code Playgroud)

或者

helm upgrade --recreate-pods --install tf-serving ./charts/tf-serving/ --namespace mlhub
Run Code Online (Sandbox Code Playgroud)
tf-serving-8559fb87d-2twwl        1/1     Running       0          37s  
tf-serving-8559fb87d-m6hgs        0/1     Terminating   0          45s
Run Code Online (Sandbox Code Playgroud)

它杀死了前一个并创建了一个新的,但是两个模型的图像也不同,标签也不同。

小智 11

您可以使用一个 Helm 图表来创建多个版本。例如部署第一个模型:

helm install ./charts/tf-serving/ --name tf-serving --namespace mlhub
Run Code Online (Sandbox Code Playgroud)

如果您以后想添加另一个:

helm install ./charts/tf-serving/ --name tf-serving2 --namespace mlhub
Run Code Online (Sandbox Code Playgroud)

现在,当您运行时,helm list您将能够同时看到tf-servingtf-serving2

请注意,您不能拥有多个具有相同名称的相同种类的 Kubernetes 资源,因此我建议{{ .Release.Name }}在您的图表中使用value 作为所有已部署资源的前缀。