Where are these ENVVARS coming from???
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 42/100
- Issue 類型
- 缺陷
- 描述清晰度
- 基本清楚
- 活躍度
- 冷清
- 技術堆疊
- docker, kubernetes
研究方向
從 Kubernetes Deployment 和 Service 清單以及 issue 中描述的容器行為開始。調查 Kubernetes 如何向 pod 暴露與 Service 相關的環境變數,然後檢查 repository 是否記錄或控制了這項行為。完成的標準是解釋清楚來源,並確定所需的文件或程式碼變更。
由索引模型根據 Issue 內容生成。
描述
I've got a simple blue/green Kubernetes deployment using this container as described below:
apiVersion: apps/v1
kind: Deployment
metadata:
name: green-app
spec:
replicas: 1
selector:
matchLabels:
app: green-app
template:
metadata:
labels:
app: green-app
spec:
containers:
- name: http-https-echo
image: mendhak/http-https-echo
ports:
- containerPort: 8080
env:
- name: ECHO_INCLUDE_ENV_VARS
value: "1"
- name: APP_COLOR
value: "GREEN"
---
apiVersion: v1
kind: Service
metadata:
name: green-app
spec:
selector:
app: green-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: blue-app
spec:
replicas: 1
selector:
matchLabels:
app: blue-app
template:
metadata:
labels:
app: blue-app
spec:
containers:
- name: http-https-echo
image: mendhak/http-https-echo
ports:
- containerPort: 8080
env:
- name: ECHO_INCLUDE_ENV_VARS
value: "1"
- name: APP_COLOR
value: "BLUE"
---
apiVersion: v1
kind: Service
metadata:
name: blue-app
spec:
selector:
app: blue-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: color-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
# tls:
# - hosts:
# - '*.com'
rules:
- http:
paths:
- path: /green
pathType: Prefix
backend:
service:
name: green-app
port:
number: 80
- path: /blue
pathType: Prefix
backend:
service:
name: blue-app
port:
number: 80
Everything spins up and the /blue and /green endpoints work as they should.
But inside the blue are all of these environment variables referencing the green app (and vice versa)
/app $ env
KUBERNETES_PORT=tcp://172.20.0.1:443
GREEN_APP_PORT_80_TCP=tcp://172.20.144.83:80
KUBERNETES_SERVICE_PORT=443
NODE_VERSION=22.21.0
HOSTNAME=blue-app-64bd4f854f-x9v4j
YARN_VERSION=1.22.22
BLUE_APP_PORT_80_TCP=tcp://172.20.108.198:80
SHLVL=1
HOME=/home/node
ECHO_INCLUDE_ENV_VARS=1
GREEN_APP_SERVICE_HOST=172.20.144.83
BLUE_APP_SERVICE_HOST=172.20.108.198
TERM=xterm
KUBERNETES_PORT_443_TCP_ADDR=172.20.0.1
HTTP_PORT=8080
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
GREEN_APP_PORT=tcp://172.20.144.83:80
KUBERNETES_PORT_443_TCP_PORT=443
GREEN_APP_SERVICE_PORT=80
KUBERNETES_PORT_443_TCP_PROTO=tcp
HTTPS_PORT=8443
BLUE_APP_PORT=tcp://172.20.108.198:80
BLUE_APP_SERVICE_PORT=80
APP_COLOR=BLUE
GREEN_APP_PORT_80_TCP_ADDR=172.20.144.83
KUBERNETES_SERVICE_PORT_HTTPS=443
GREEN_APP_PORT_80_TCP_PORT=80
KUBERNETES_PORT_443_TCP=tcp://172.20.0.1:443
BLUE_APP_PORT_80_TCP_ADDR=172.20.108.198
GREEN_APP_PORT_80_TCP_PROTO=tcp
KUBERNETES_SERVICE_HOST=172.20.0.1
PWD=/app
BLUE_APP_PORT_80_TCP_PORT=80
BLUE_APP_PORT_80_TCP_PROTO=tcp
/app $
How can a simple pod that only has 2 environment variables defined (APP_COLOR and ECHO_INCLUDE_ENV_VARS) pickup all of these other variables? Where are they coming from!??!
- 主要語言
- Shell
- 星號
- 792
- 分支
- 152
- 平均合併
- 3 天 18 小時
- 30 天內合併 PR
- 3
貢獻指南
這個儲存庫沒有索引到貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
mendhak/docker-http-https-echo 的其他 Issue
-
難度 3/5 1-2 天 新手友好度 72/100
-
難度 4/5 3-5 天 新手友好度 35/100
mendhak/docker-http-https-echo#80 · 2 則留言 ·
-
難度 5/5 一週以上 新手友好度 35/100
-
難度 3/5 1-2 天 新手友好度 38/100
mendhak/docker-http-https-echo#60 · 1 則留言 ·
-
難度 3/5 1-2 天 新手友好度 45/100
mendhak/docker-http-https-echo#59 · 1 則留言 ·
查看 mendhak/docker-http-https-echo 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 70/100
-
難度 1/5 1 小時以內 新手友好度 85/100
-
難度 2/5 1-3 小時 新手友好度 75/100
-
bug easy help wanted
難度 2/5 1-3 小時 新手友好度 75/100
lacs-project/sysknife#503 ·
-
help wanted kind/documentation
難度 2/5 1-3 小時 新手友好度 75/100
liquidmetal-dev/flintlock#1239 ·