有没有办法在 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
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的示例配置文件:
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
Run Code Online (Sandbox Code Playgroud)
这是stg.properties我用来使用以下命令生成 ConfigMap 的简单文件:kubectl create configmap stg-config --from-file stg.properties
my-service.port=9513
Run Code Online (Sandbox Code Playgroud)
恐怕你不能使用 configmap 值spec.template.spec.containers[0].ports[0].containerPort,它用于配置值。
您可以使用它的选项(在本指南中指定)是
如果您想为您的部署/pod 配置端口,您可以考虑使用Helm。Helm 允许您在清单/定义中使用 Go 模板,然后您可以在调用时覆盖它们。
以此MySQL Chart 模板为例,您可以将此处的端口设置为配置选项,如下所示:
ports:
- name: mysql
containerPort: {{ default 3306 .Values.mysqlPort }}
Run Code Online (Sandbox Code Playgroud)
然后从那里,在您的values.yaml中设置这个值
| 归档时间: |
|
| 查看次数: |
18897 次 |
| 最近记录: |