新聞中心
為容器設(shè)置環(huán)境變量
本頁將展示如何為 Kubernetes Pod 下的容器設(shè)置環(huán)境變量。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比沁源網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式沁源網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋沁源地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
在開始之前
你必須擁有一個(gè) Kubernetes 的集群,同時(shí)你的 Kubernetes 集群必須帶有 kubectl 命令行工具。 建議在至少有兩個(gè)節(jié)點(diǎn)的集群上運(yùn)行本教程,且這些節(jié)點(diǎn)不作為控制平面主機(jī)。 如果你還沒有集群,你可以通過 Minikube 構(gòu)建一個(gè)你自己的集群,或者你可以使用下面任意一個(gè) Kubernetes 工具構(gòu)建:
- Katacoda
- 玩轉(zhuǎn) Kubernetes
為容器設(shè)置一個(gè)環(huán)境變量
創(chuàng)建 Pod 時(shí),可以為其下的容器設(shè)置環(huán)境變量。通過配置文件的 ?env ?或者 ?envFrom ?字段來設(shè)置環(huán)境變量。
本示例中,將創(chuàng)建一個(gè)只包含單個(gè)容器的 Pod。Pod 的配置文件中設(shè)置環(huán)境變量的名稱為 ?DEMO_GREETING?, 其值為 ?"Hello from the environment"?。下面是 Pod 的配置清單:
apiVersion: v1
kind: Pod
metadata:
name: envar-demo
labels:
purpose: demonstrate-envars
spec:
containers:
- name: envar-demo-container
image: gcr.io/google-samples/node-hello:1.0
env:
- name: DEMO_GREETING
value: "Hello from the environment"
- name: DEMO_FAREWELL
value: "Such a sweet sorrow"
- 基于配置清單創(chuàng)建一個(gè) Pod:
- 獲取一下當(dāng)前正在運(yùn)行的 Pods 信息:
kubectl get pods -l purpose=demonstrate-envars查詢結(jié)果應(yīng)為:
NAME READY STATUS RESTARTS AGE envar-demo 1/1 Running 0 9s - 列出 Pod 容器的環(huán)境變量:
kubectl exec envar-demo -- printenv打印結(jié)果應(yīng)為:
NODE_VERSION=4.4.2 EXAMPLE_SERVICE_PORT_8080_TCP_ADDR=10.3.245.237 HOSTNAME=envar-demo ... DEMO_GREETING=Hello from the environment DEMO_FAREWELL=Such a sweet sorrow
kubectl apply -f https://K8S.io/examples/pods/inject/envars.yaml
說明: 通過 ?
env?或 ?envFrom?字段設(shè)置的環(huán)境變量將覆蓋容器鏡像中指定的所有環(huán)境變量。
說明: 環(huán)境變量可以互相引用,但是順序很重要。 使用在相同上下文中定義的其他變量的變量必須在列表的后面。 同樣,請避免使用循環(huán)引用。
在配置中使用環(huán)境變量
你在 Pod 的配置中定義的環(huán)境變量可以在配置的其他地方使用, 例如可用在為 Pod 的容器設(shè)置的命令和參數(shù)中。 在下面的示例配置中,環(huán)境變量 ?GREETING ?,?HONORIFIC ?和 ?NAME ?分別設(shè)置為 ?Warm greetings to? , ?The Most Honorable? 和 ?Kubernetes?。然后這些環(huán)境變量在傳遞給容器 ?env-print-demo? 的 CLI 參數(shù)中使用。
apiVersion: v1
kind: Pod
metadata:
name: print-greeting
spec:
containers:
- name: env-print-demo
image: bash
env:
- name: GREETING
value: "Warm greetings to"
- name: HONORIFIC
value: "The Most Honorable"
- name: NAME
value: "Kubernetes"
command: ["echo"]
args: ["$(GREETING) $(HONORIFIC) $(NAME)"]創(chuàng)建后,命令 ?echo Warm greetings to The Most Honorable Kubernetes? 將在容器中運(yùn)行。
本文題目:創(chuàng)新互聯(lián)kubernetes教程:Kubernetes 為容器設(shè)置環(huán)境變量
鏈接分享:http://fisionsoft.com.cn/article/cdheeph.html


咨詢
建站咨詢
