環境變數 - daniel-qa/Azure-Kubernetes-Service GitHub Wiki
- 直接在 yaml 檔設定 env
apiVersion: v1
kind: Pod
metadata:
name: myweb
spec:
- name: myweb
image: nginx
ports:
- containerPort: 8080
env:
- name: color
value: blue
env是array架構,所以每個環境變數要以-符號區隔
- 第二種方式, 在創建Pod時在後面加上-e參數
$ kubectl run my-web -e color=blue
在 kubernetes 官方網站的範例中,會使用字串方式 (兩個雙引號 “") 來進行設定
- 官方範例
apiVersion: v1
kind: Pod
metadata:
name: dependent-envars-demo
spec:
containers:
- name: dependent-envars-demo
args:
- while true; do echo -en '\n'; printf UNCHANGED_REFERENCE=$UNCHANGED_REFERENCE'\n'; printf SERVICE_ADDRESS=$SERVICE_ADDRESS'\n';printf ESCAPED_REFERENCE=$ESCAPED_REFERENCE'\n'; sleep 30; done;
command:
- sh
- -c
image: busybox
env:
- name: SERVICE_PORT
value: "80"
- name: SERVICE_IP
value: "172.17.0.1"
- name: UNCHANGED_REFERENCE
value: "$(PROTOCOL)://$(SERVICE_IP):$(SERVICE_PORT)"
- name: PROTOCOL
value: "https"
- name: SERVICE_ADDRESS
value: "$(PROTOCOL)://$(SERVICE_IP):$(SERVICE_PORT)"
- name: ESCAPED_REFERENCE
value: "$$(PROTOCOL)://$(SERVICE_IP):$(SERVICE_PORT)"