在pod规范中,有一个选项enableServiceLinks
。当设置为false时,与在创建吊舱时运行的服务相关的环境变量将不会注入到pod中。
问题是,我预期在默认名称空间上的kubernetes clusterIp服务也会发生这种情况:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.116.0.1 <none> 443/TCP 27d
但它将环境变量注入到pod中,如下所示:
KUBERNETES_SERVICE_PORT=443
KUBERNETES_PORT=tcp://10.116.0.1:443
NODE_VERSION=12.18.0
HOSTNAME=static-web
YARN_VERSION=1.22.4
SHLVL=1
HOME=/root
test_value=8585
TERM=xterm
KUBERNETES_PORT_443_TCP_ADDR=10.116.0.1
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_PORT_443_TCP=tcp://10.116.0.1:443
KUBERNETES_SERVICE_HOST=10.116.0.1
PWD=/indecision-app
用于部署的部署文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: indecision-app-deployment
labels:
app: indecision-app
spec:
selector:
matchLabels:
app: indecision-app
template:
metadata:
labels:
app: indecision-app
spec:
enableServiceLinks: false
containers:
- name: indecision-app
image: hleal18/indecision-app:latest
ports:
- containerPort: 8080
这行为正确吗?是否有API支持的方法来避免这些要注入的服务环境变量?
发布于 2020-06-24 08:06:45
根据源代码
我们总是希望从主服务命名空间中为主服务添加可变的环境,即使
enableServiceLinks
是false。
这基本上意味着你会也不应该阻止那些特定的环境变量被注入到豆荚中。
我希望这能解决你的问题。
https://stackoverflow.com/questions/62472241
复制相似问题