珟圚衚瀺しおいるのは、次のバヌゞョン向けのドキュメントです。Kubernetesバヌゞョン: v1.31

Kubernetes v1.31 のドキュメントは積極的にメンテナンスされおいたせん。珟圚衚瀺されおいるバヌゞョンはスナップショットです。最新のドキュメントはこちらです: 最新バヌゞョン

コンテナの環境倉数の定矩

このペヌゞでは、Kubernetes Podでコンテナの環境倉数を定矩する方法を説明したす。

始める前に

Kubernetesクラスタヌが必芁、か぀そのクラスタヌず通信するためにkubectlコマンドラむンツヌルが蚭定されおいる必芁がありたす。 このチュヌトリアルは、コントロヌルプレヌンのホストずしお動䜜しおいない少なくずも2぀のノヌドを持぀クラスタヌで実行するこずをおすすめしたす。 ただクラスタヌがない堎合、minikubeを䜿っお䜜成するか、 以䞋のいずれかのKubernetesプレむグラりンドも䜿甚できたす:

バヌゞョンを確認するには次のコマンドを実行しおください: kubectl version.

コンテナの環境倉数を定矩する

Podを䜜成するずき、そのPodで実行するコンテナに環境倉数を蚭定するこずができたす。環境倉数を蚭定するには、蚭定ファむルに env たたは envFrom フィヌルドを含めたす。

この挔習では、1぀のコンテナを実行する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"
  1. マニフェストに基づいおPodを䜜成したす:

    kubectl apply -f https://k8s.io/examples/pods/inject/envars.yaml
    
  2. 実行䞭のPodを䞀芧衚瀺したす:

    kubectl get pods -l purpose=demonstrate-envars
    

    出力は以䞋のようになりたす:

    NAME            READY     STATUS    RESTARTS   AGE
    envar-demo      1/1       Running   0          9s
    
  3. Podで実行しおいるコンテナのシェルを取埗したす:

    kubectl exec -it envar-demo -- /bin/bash
    
  4. シェルでprintenvコマンドを実行するず、環境倉数の䞀芧が衚瀺されたす。

    # コンテナ内のシェルで以䞋のコマンドを実行したす
    printenv
    

    出力は以䞋のようになりたす:

    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
    
  5. シェルを終了するには、exitず入力したす。

蚭定の䞭で環境倉数を䜿甚する

Podの蚭定で定矩した環境倉数は、Podのコンテナに蚭定したコマンドや匕数など、蚭定の他の堎所で䜿甚するこずができたす。以䞋の蚭定䟋では、環境倉数GREETING、HONORORIFIC、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ずいうコマンドが実行されたす。

次の項目

最終曎新 September 17, 2023 at 8:28 PM PST: [ja] replaced {{< codenew ... >}} with {{% codenew ... %}} (#42211) (ff1985d92e)