Kubernetes (十) 存储——Configmap配置管理

发布时间:2024年01月12日

一.Configmap作用? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? 实验环境:清除之前的ns pod svc networkpolicy......?

? ? ? ? ? ? ? ???? kubectl delete -f networkpolicy.yaml

? ? ? ? ? ? ? ??? ?kubectl delete svc myapp-v1
? ? ? ? ? ? ? ? ? ?kubectl delete svc myapp-v2
? ? ? ? ? ? ? ? ? ?kubectl delete deployments.apps myapp-deployment myapp-deployment-v2
? ? ? ? ? ? ? ? ? ?kubectl ?delete pod demo --force

? ? ? ? ? ? ? ? ? ?kubectl delete ns test --force

卷 | Kubernetesicon-default.png?t=N7T8https://v1-24.docs.kubernetes.io/zh-cn/docs/concepts/storage/volumes/

? ? 二. 四种创建方式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ?字面值创建? ? ??? ??

? ? ? ? ? ? ? ? ?? ??通过输入命令方式创建

kubectl?create?configmap?my-config?--from-literal=key1=config1?--from-literal=key2=config2

? ??? ? ? 通过文件创建? ? ? ?? ? ??

?kubectl?create?configmap?my-config-2?--from-file=/etc/resolv.conf

??? ?? 通过目录创建? ? ?

? kubectl?create?configmap?my-config-3?--from-file=test

? ? ?通过yeml文件创建? ? ? ?

apiVersion: v1
kind: ConfigMap
metadata:
? name: cm1-config
data:
? db_host: "bjzx" ? #内容自定义只要是键值对
? db_port: "fhzw"

三. configmap配置管理? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? ? ? 通过环境变量方式传递给pod? ? ? ??

? ? ? ? ? ? ? 编辑配置文件? ? ? ? ? ??vim?pod1.yaml

? ? ? ? ? ? ? ?apiVersion: v1
kind: Pod
metadata:
? name: pod1
spec:
? containers:
? ? - name: pod1
? ? ? image: busybox
? ? ? command: ["/bin/sh", "-c", "env"]
? ? ? env:
? ? ? ? - name: key1
? ? ? ? ? valueFrom: ? ? ? ? ? ? #从哪映射的值
? ? ? ? ? ? configMapKeyRef: ? ? #从cnm这里
? ? ? ? ? ? ? name: cm1-config
? ? ? ? ? ? ? key: db_host ? ? ? #取得值赋予给key1
? ? ? ? - name: key2
? ? ? ? ? valueFrom:
? ? ? ? ? ? configMapKeyRef:
? ? ? ? ? ? ? name: cm1-config
? ? ? ? ? ? ? key: db_port
? restartPolicy: Never

? ? ? ? 使用configmap设置命令行参数? ? ? ? ? ??? ? ? ? ?

?apiVersion: v1
kind: Pod
metadata:
? name: pod3
spec:
? containers:
? ? - name: pod3
? ? ? image: busybox
? ? ? command: ["/bin/sh", "-c", "echo $(db_host) $(db_port)"]
? ? ? envFrom:
? ? ? ? - configMapRef:
? ? ? ? ? ? name: cm1-config
? restartPolicy: Never

? ? ? ? ? ?通过数据卷使用configmap (使用最多的)??

apiVersion: v1
kind: Pod
metadata:
? name: pod4
spec:
? containers:
? ? - name: pod4
? ? ? image: busybox
? ? ? command: ["/bin/sh", "-c", "cat /config/db_host"]
? ? ? volumeMounts: ? ? ? ? ? ? ? ? #挂载卷
? ? ? - name: config-volume ? ? ? ? #定义挂载名字
? ? ? ? mountPath: /config ? ? ? ? ?#挂载点
? volumes: ? ? ? ? ? ? ? ? ? ? ? ? ?#映射的什么存储类型
? ? - name: config-volume
? ? ? configMap: ? ? ? ? ? ? ? ? ? ?#这里映射的configmap
? ? ? ? name: cm1-config ? ? ? ? ? ?#名字
? restartPolicy: Never
?

? ? 四. configmap热更新?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ???1. 创建配置文件? ? ? ? ???vim?nginx.conf

? ? ? ? ? ?? ? ? 2. 创建cnm

? kubectl?create?configmap?nginxconf?--from-file=nginx.conf

? ? ? ?? ? ? ? ?3. 创建Deloyment控制器

? ? ? ? ? ? ? 4.?编辑cm,修改端口? ? ? ? kubectl edit ?cm nginxconf

? ? ? ?? ?5.修改cm后,过上几秒配置信息会同步到容器,但是容器内运行的服务并不会加载生效,需要手动刷新,这里直接删除pod自动重建刷新

? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ??

? ? ? ? ? ? ??

? ? ? ? ?

文章来源:https://blog.csdn.net/BJZX_OL/article/details/135555182
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。