具有相同镜像版本但配置不同的容器

问题描述 投票:0回答:1

有没有办法让应用程序拥有 2 个具有相同映像版本但在 OpenShift 上具有不同名称和资源的容器?

例如:在同一个命名空间中,给定一个带有副本集的微服务:6,元数据名称为“app-banking”,我希望有 3 个带有 envs ABC 且名称为“app-banking-aaa-”的 Pod ”,以及其他 3 个名为“app-banking-bbb 和 envs VXZ”的 pod。

在网上没有找到类似的东西。

由于我们有两个 Kafka Bootstraps 服务器,因此我们有一些消费者服务,我们正在尝试在同一命名空间中实现“跨代理”解决方案。

因此 3 个 pod 将具有连接到 Bootstrap-Server1 的环境,其他 3 个 pod 将具有连接到 Bootstrap-Server2 的环境。

感谢您的帮助。

kubernetes deployment containers openshift
1个回答
0
投票
在 OpenShift/Kubernetes 上部署应用程序时,需要在集群上创建 Deployments*1 资源。

Deployments 是 Kubernetes 中的资源之一,可帮助您管理应用程序 (Pod)。 部署具有用于指定容器映像 url 和环境变量的字段。这样就可以轻松地使用相同的容器映像但使用不同的环境变量来部署应用程序。这是一个例子。

apiVersion: apps/v1 kind: Deployment metadata: name: app-banking-aaa labels: app: app-banking-aaa spec: replicas: 3 selector: matchLabels: app: app-banking-aaa template: metadata: labels: app: app-banking-aaa spec: containers: - name: app-banking image: https://path-to-your-registry/your-app:tag1 env: - name: ABC value: abc
您可能需要在部署中添加更多字段,但是上述部署可以帮助您了解需要做什么。

我认为您还需要搜索 ConfigMap 和 Secrets 资源以在 Deployments 中定义环境变量。

*1:

https://kubernetes.io/docs/concepts/workloads/controllers/deployment/

© www.soinside.com 2019 - 2024. All rights reserved.