gpt4 book ai didi

kubernetes - 在Kubernetes ConfigMap中指定 `int`值吗?

转载 作者:行者123 更新时间:2023-12-02 12:22:59 26 4
gpt4 key购买 nike

有没有一种方法可以在ConfigMap中指定int值?当我尝试指定端口号时,出现以下错误。

error: error validating "my-deployment.yml": error validating data: expected type int, for field spec.template.spec.containers[0].ports[0].containerPort, got string; if you choose to ignore these errors, turn validation off with --validate=false

这是我正在使用的示例配置文件:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: my-service
spec:
replicas: 2
template:
metadata:
labels:
app: poweramp-email-service
spec:
containers:
- name: poweramp-email-service
env:
- name: SERVICE_PORT_NUM
valueFrom:
configMapKeyRef:
name: stg-config
key: poweramp-email-service.port
image: nginx
ports:
- containerPort: my-service.port

这是我用来使用命令生成ConfigMap的简单 stg.properties文件: kubectl create configmap stg-config --from-file stg.properties
my-service.port=9513

最佳答案

恐怕您不能在spec.template.spec.containers[0].ports[0].containerPort中使用configmap值,它用于配置值。

可以将其用于的选项(在this guide中指定)是

  • 作为环境变量
  • 作为命​​令行配置标志(使用环境变量)
  • 使用音量插件。

  • 如果要使端口可配置为您的部署/ pods ,则可以考虑使用 Helm。 Helm允许您在 list /定义中使用Go模板,然后可以在调用时覆盖它们。

    使用 MySQL Chart template as an example,您可以在此处将端口设置为配置选项,如下所示:
    ports:
    - name: mysql
    containerPort: {{ default 3306 .Values.mysqlPort }}

    然后从那里在 values.yaml中设置此值

    关于kubernetes - 在Kubernetes ConfigMap中指定 `int`值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42962229/

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