K8s-configMap
文章目录
configmap是k8s中的统一配置重心
实践
编写yaml:
apiVersion: v1
kind: ConfigMap
metadata:
name: myapp-config
data: # 在此下定义config,k-v配置
Test-key1: test-value
Test-key2: kevinkrcai
发布configMap
kubectl apply -f nginx-config.yaml
查看配置:
kubectl get configMap
查看配置内容:
configMap配置发布好了,如何使用?
第一种方式是通过环境变量的形式注入到Pod中:
apiVersion: v1
kind: Pod
metadata:
name: nginx-with-envconfig
# 指定 label,便于检索
labels:
app: myapp
spec:
containers:
- name: nginx
# 指定镜像
image: nginx:alpine
# 指定暴露端口
ports:
- containerPort: 80
envFrom: # 注入环境变量
- configMapRef:
name: myapp-config
发布pod
kubectl apply -f nginx-withconfig-env.yaml
进入pod中,打印环境变量
kubectl exec nginx-with-envconfig printenv
第二种是通过volumes挂载配置文件到pod本地
apiVersion: v1
kind: Pod
metadata:
name: nginx-config-volumn
# 指定 label,便于检索
labels:
app: myapp
spec:
containers:
- name: nginx
# 指定镜像
image: nginx:alpine
# 指定暴露端口
ports:
- containerPort: 80
volumeMounts:
- mountPath: /etc/config
name: configmapvolume
volumes:
- name: configmapvolume
configMap:
name: myapp-config # 讲configmap挂载到/etc/config下
进入pod查看配置:
kubectl exec -ti nginx-config-volumn /bin/sh