我在生成 Pod yaml 时在环境属性中设置端口值。
master $ kubectl run nginx --image=nginx --restart=Never --env=MY_PORT=8080 --dry-run -o yaml > Pod.yaml
Run Code Online (Sandbox Code Playgroud)
我正在尝试在 Pod yaml 的 ports 部分中使用环境属性 MY_PORT。
spec:
containers:
- env:
- name: MY_PORT
value: "8080"
image: nginx
name: nginx
ports:
- containerPort: $(MY_PORT)
Run Code Online (Sandbox Code Playgroud)
当我尝试创建 Pod 时,收到以下错误消息。
error: error validating "Pod.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 theseerrors, turn validation off with --validate=false
Run Code Online (Sandbox Code Playgroud)
我尝试引用 ${MY_PORT} 、 MY_PORT 等,但始终出现与上面相同的错误。
我如何在整数字段中使用环境变量值。
我创建了一个 POD 并将其公开为 service\xc2\xa0 使用以下命令:
\n\n\xc2\xa0
\n\nkubectl run nginx --image=nginx --restart=Never --port=80 --expose\n
Run Code Online (Sandbox Code Playgroud)\n\n当我执行以下命令时,我得到两个不同的 IP\xc2\xa0addresses。下面的IP地址分别代表什么?在集群中调用我的服务时,其他服务应使用哪个 IP。
\n\nmaster $ kubectl get ep nginx\n\nNAME\xc2\xa0 \xc2\xa0 ENDPOINTS\xc2\xa0 \xc2\xa0 \xc2\xa0 AGE\n\nnginx\xc2\xa0 \xc2\xa010.40.0.1:80\xc2\xa0 \xc2\xa011m\n\nmaster $ kubectl get svc nginx\n\nNAME\xc2\xa0 \xc2\xa0 TYPE\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 CLUSTER-IP\xc2\xa0 \xc2\xa0 \xc2\xa0 EXTERNAL-IP\xc2\xa0 \xc2\xa0PORT(S)\xc2\xa0 \xc2\xa0AGE\n\nnginx\xc2\xa0 \xc2\xa0ClusterIP\xc2\xa0 \xc2\xa010.103.78.253\xc2\xa0 \xc2\xa0<none>\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 80/TCP\xc2\xa0 \xc2\xa0 12m\n
Run Code Online (Sandbox Code Playgroud)\n