gpt4 book ai didi

kubernetes - 干掉这个 kubernetes 配置 yaml 文件的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-02 12:14:48 25 4
gpt4 key购买 nike

我有一个用于 kubernetes 部署的配置 yaml 文件,如下所示:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
app: <some_app>
name: <some_app>
namespace: dataengineering
spec:
replicas: 1
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
app: <some_app>
spec:
dnsPolicy: ClusterFirst
restartPolicy: Always
terminationGracePeriodSeconds: 30
containers:
- image: 127579856528.dkr.ecr.us-west-2.amazonaws.com/dataengineering/<some_app>:latest
imagePullPolicy: Always
name: <some_app>
env:
- name: ES_HOST
value: "vpc-some-name-dev-wrfkk5v7kidaro67ozjrv4wdeq.us-west-2.es.amazonaws.com"
- name: ES_PORT
value: "443"
- name: DATALOADER_QUEUE
valueFrom:
configMapKeyRef:
name: <some_name>
key: DATALOADER_QUEUE
- name: AWS_DEFAULT_REGION
value: "us-west-2"
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: <some_name>
key: AWS_ACCESS_KEY_ID
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: <some_name>
key: AWS_SECRET_ACCESS_KEY
...

目前,该文件位于 dev/deployment.yaml但我也想要一个 prod/deployment.yaml .除了复制整个文件之外,有没有更好的方法来干燥这个文件,以便它可以用于 dev 和 prod 集群?该文件的不同部分是一些环境变量(我为 prod 和 dev 使用了不同的 DATALOADER_QUEUE 变量,以及 AWS key 。可以做什么?

我研究了一些选项,例如 configmap。如何做到这一点?什么是挂载卷?我正在阅读: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#add-configmap-data-to-a-volume但我不确定它是什么.... 什么是音量?如何访问存储在此“卷”中的数据?

图像可以从 prod 切换到 dev 吗?我知道这看起来很奇怪...

最佳答案

这样的事情将有助于环境变量:

  envFrom:
- configMapRef:
name: myapp-config
- secretRef:
name: myapp-secrets

然后,您可以为 dev 和 prod 使用不同的命名空间,这样引用就不必改变。要处理标签,请查看 Kustomize 叠加层并在叠加层级别设置标签。

关于kubernetes - 干掉这个 kubernetes 配置 yaml 文件的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58368044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com