【问题标题】:Filename of configMap shows up as env in the PodconfigMap 的文件名在 Pod 中显示为 env
【发布时间】:2020-11-16 01:06:03
【问题描述】:

我有一个名为 config.txt 的文件,用于在 minikube 集群中创建 configmap myconfig

但是,当我在 Pod 中使用 myconfig 时,文件 config.txt 的名称也会显示为 ENV 的一部分。

如何改正?

> cat config.txt
var3=val3
var4=val4

> kubectl create cm myconfig --from-file=config.txt
configmap/myconfig created

> kubectl describe cm myconfig
Name:         myconfig
Namespace:    default
Labels:       <none>
Annotations:  <none>

Data
====
config.txt:
----
var3=val3
var4=val4

Events:  <none>

Pod 定义

> cat nginx.yml 
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: nginx
  name: nginx
spec:
  containers:
  - image: nginx
    name: nginx
    envFrom:
      - configMapRef:
          name: myconfig
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Never
status: {}

> kubectl create -f nginx.yml
pod/nginx created

Pod EVN 检查,注意 config.txt=var3=val3 行 预计它只是 var3=val3

> kubectl exec -it nginx -- env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=nginx
TERM=xterm
config.txt=var3=val3
var4=val4

KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1
KUBERNETES_SERVICE_HOST=10.96.0.1
KUBERNETES_SERVICE_PORT=443
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_PORT=tcp://10.96.0.1:443
NGINX_VERSION=1.19.4
NJS_VERSION=0.4.4
PKG_RELEASE=1~buster
HOME=/root

【问题讨论】:

标签: bash nginx kubernetes


【解决方案1】:

像这样创建 configmap 就可以完成这项工作:

kubectl create cm myconfig --from-env-file=config.txt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-27
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    相关资源
    最近更新 更多