更新时间:2020-12-29 09:51
您可以在 Pod 中使用配置项,主要包括以下使用场景:
更多关于配置项的信息,可参见 Configure a Pod to Use a ConfigMap。
您可以使用配置项定义 Pod 中环境变量,使用 valueFrom
引用配置项数据。
登录控制台,在左侧导航栏点击 集群管理 > 集群详情。
在集群列表页,点击集群名称进入集群详情页。
在左侧导航栏点击 工作负载 > 容器组(Pods)。
点击 从 YAML 创建,在输入框中输入以下内容,点击 创建。
下面是一个编排示例。
apiVersion: v1
kind: Pod
metadata:
name: config-pod-1
namespace: yournamespace #改成当前的命名空间名称
spec:
containers:
- name: test-container
image: busybox
command: [ "/bin/sh", "-c", "env" ]
env:
- name: SPECIAL_LEVEL_KEY
valueFrom: #使用valueFrom来指定env引用配置项的value值
configMapKeyRef:
name: special-config #引用的配置文件名称
key: SPECIAL_LEVEL #引用的配置项key
restartPolicy: Never
您可以使用配置项设置容器中的命令或者参数值,使用环境变量替换语法 $(VAR_NAME)
来进行。
登录控制台,在左侧导航栏点击 集群管理 > 集群详情。
在集群列表页,点击集群名称进入集群详情页。
在左侧导航栏点击 工作负载 > 容器组(Pods)。
点击 从 YAML 创建,在输入框中输入以下内容,点击 创建。
下面是一个编排示例。
apiVersion: v1
kind: Pod
metadata:
name: config-pod-3
namespace: yournamespace # 改成当前的命名空间名称
spec:
containers:
- name: test-container
image: busybox
command: [ "/bin/sh", "-c", "echo $(SPECIAL_LEVEL_KEY) $(SPECIAL_TYPE_KEY)" ]
env:
- name: SPECIAL_LEVEL_KEY
valueFrom:
configMapKeyRef:
name: special-config
key: SPECIAL_LEVEL
- name: SPECIAL_TYPE_KEY
valueFrom:
configMapKeyRef:
name: special-config
key: SPECIAL_TYPE
restartPolicy: Never
运行该 pod 后,会输出如下结果。very charm
您也可以在数据卷里面使用配置项,在 volumes 下指定配置项名称,会将 key/values 的数据存储到 mountPath 路径下(本例中是 /etc/config
)。最终生成以 key 为文件名,values 为文件内容的配置文件。
登录控制台,在左侧导航栏点击 集群管理 > 集群详情。
在集群列表页,点击集群名称进入集群详情页。
在左侧导航栏点击 工作负载 > 容器组(Pods)。
点击 从 YAML 创建,在输入框中输入以下内容,点击 创建。
下面是一个编排示例。
apiVersion: v1
kind: Pod
metadata:
name: config-pod-4
namespace: yournamespace #改成当前的命名空间名称
spec:
containers:
- name: test-container
image: busybox
command: [ "/bin/sh", "-c", "ls /etc/config/" ] #列出该目录下的文件名
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
configMap:
name: special-config
restartPolicy: Never
运行 pod 后,会输出配置项的 key。SPECIAL_TYPE
SPECIAL_LEVEL
在文档使用中是否遇到以下问题
更多建议
匿名提交