【发布时间】:2019-11-16 22:26:49
【问题描述】:
我需要从我的 pod 内的环境变量中注入容器端口。怎么做?
已通过文档,链接:- 1.https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/ 2.https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
namespace: default
spec:
containers:
- name: nginx-container
image: nginx
ports:
- containerPort: $(MY_CONTAINER_PORT)
env:
- name: MY_CONTAINER_PORT
value: 80
error: error validating "nginx-pod-exposed-through-env.yaml": error validating data: ValidationError(Pod.spec.containers[0].ports[0].containerPort): invalid type for io.k8s.api.core.v1.ContainerPort.containerPort: got "string", expected "integer"; if you choose to ignore these errors, turn validation off with --validate=false
【问题讨论】:
-
你好,也许您需要使用“80”而不是仅使用 80
-
我已经试过了,还是不行。 :(
-
你试图做错事。环境变量和容器的端口号没有关系。容器启动后,可以在容器内部访问环境变量。容器的端口描述了创建容器的配置。如果您能多描述一下您的需求,会更容易回答您的问题
-
如果我理解正确,您需要将环境变量值指定为端口号,那么您正在尝试做相反的事情。查看此页面以获取更多信息kubernetes.io/docs/tasks/inject-data-application/…
-
我认为this 能按预期回答您的问题-