zoukankan      html  css  js  c++  java
  • 为容器设置环境变量

    为容器设置一个环境变量

    创建 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"
    
    1. 基于配置清单创建一个 Pod:

      kubectl apply -f https://k8s.io/examples/pods/inject/envars.yaml
      
    1. 获取一下当前正在运行的 Pods 信息:

      kubectl get pods -l purpose=demonstrate-envars
      

      查询结果应为:

      NAME            READY     STATUS    RESTARTS   AGE
      envar-demo      1/1       Running   0          9s
      
    1. 列出 Pod 容器的环境变量:

      kubectl exec envar-demo -- 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
      
    说明: 通过 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 将在容器中运行。

    作者:tigergao
    功不唐捐 玉汝于成
  • 相关阅读:
    软件工程第一次实验——软件开发文档与工具的安装与使用
    软件工程第四次作业——ATM管理系统
    软件工程第三次作业——举例分析流程图与活动图的区别与联系
    软件工程第二次作业——小学四则运算题目生成程序
    mac终端进入mysql
    计算机网络
    类和对象(未完成)
    html_css
    Mac下使用C语言生成和使用动态链接库
    模运算
  • 原文地址:https://www.cnblogs.com/tigergaonotes/p/15711831.html
Copyright © 2011-2022 走看看