【K8s任務】為容器設置環境變量


參考:https://kubernetes.io/zh/docs/tasks/inject-data-application/define-environment-variable-container/

為容器設置一個環境變量

創建 Pod 時,可以為其下的容器設置環境變量。通過配置文件的 env 或者 envFrom 字段來設置環境變量。

本示例中,將創建一個只包含單個容器的 Pod。Pod 的配置文件中設置環境變量的名稱為 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"

說明: 通過 env 或 envFrom 字段設置的環境變量將覆蓋容器鏡像中指定的所有環境變量。

說明: 環境變量可以互相引用,但是順序很重要。 使用在相同上下文中定義的其他變量的變量必須在列表的后面。 同樣,請避免使用循環引用。

在配置中使用環境變量

您在 Pod 的配置中定義的環境變量可以在配置的其他地方使用, 例如可用在為 Pod 的容器設置的命令和參數中。 在下面的示例配置中,環境變量 GREETING ,HONORIFIC 和 NAME 分別設置為 Warm greetings to , The Most Honorable 和 Kubernetes。然后這些環境變量在傳遞給容器 env-print-demo 的 CLI 參數中使用。

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)"]

創建后,命令 echo Warm greetings to The Most Honorable Kubernetes 將在容器中運行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM