k8s入门之ConfigMap(九)
2022/4/28 23:16:02
本文主要是介绍k8s入门之ConfigMap(九),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
ConfigMap是k8s的配置管理工具,通常用来保存明文的配置信息,以key-value形式传递配置。
一、使用命令创建ConfigMap对象
1.通过--from-literal参数创建
kubectl create configmap mycm1 --from-literal=appid=order-app --from-literal=appsecret=dfdg12342
(1)查看创建结果
kubectl get secret
(2)使用describe命令查看详情
kubectl describe secret mysecret1
(3)输出yaml文件格式查看详情
kubectl get secret mysecret1 -o yaml
2.通过已有的应用配置文件创建
(1)创建一个应用的配置文件
vi appsettings.json
(2)写入以下测试内容
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "AllowedHosts": "*" }
(3)使用--from-file参数指定该文件
kubectl create cm mycm2 --from-file=appsettings.json
--from-file可以使用多次;也可以使用目录,表示该目录下所有的配置文件都会创建成cm对象,默认key为文件名。
(4)查看创建结果
二、使用yaml文件创建ConfigMap
1.创建yaml文件
vi cm-my3.yaml
2.编写yaml文件内容
apiVersion: v1 kind: ConfigMap metadata: name: mycm3 data: ordersvc-conf: |+ IP: "192.168.59.110" Port: 10000
3.执行创建命令
kubectl apply -f cm-my3.yaml
4.查看创建结果
三、使用ConfigMap对象
1.通过环境变量的形式
liunx自带的命令env,用来查看当前系统的环境变量,我们可以把cm对象设置到环境变量上来查看。
(1)新建pod对象的yaml文件
vi mycm1-env.yaml
(2)编写yaml文件内容
apiVersion: v1 kind: Pod metadata: name: pod-test-mycm1 spec: containers: - name: pod-test-mycm1-bb image: busybox command: ["/bin/sh", "-c", "env"] # 从cm对象中获取对应key的值赋值给环境变量 env: - name: APPID valueFrom: configMapKeyRef: name: mycm1 key: appid - name: APPSECRET valueFrom: configMapKeyRef: name: mycm1 key: appsecret
(3)创建pod
kubectl create -f mycm1-env.yaml
(4)查看pod,在默认名称空间下
通过查看此pod的日志,可以看到输出的环境变量信息是mycm1对象的信息
2.通过vloume挂载方式
(1)新建pod对象的yaml文件
vi mycm2-volume.yaml
(2)编写yaml文件内容
apiVersion: v1 kind: Pod metadata: name: pod-test-mycm2 spec: containers: - name: pod-test-mycm2-bb image: busybox command: ["/bin/sh", "-c", "cat /etc/cms/my-appsettings.json"] volumeMounts: - name: cms mountPath: /etc/cms volumes: - name: cms configMap: name: mycm2 items: # 把cm对象挂载到文件名 - key: appsettings.json path: my-appsettings.json
(3)创建pod
kubectl create -f mycm2-volume.yaml
(4)查看pod,在默认名称空间下
通过查看此pod的日志,可以看到输出的信息是mycm2对象中的数据
这篇关于k8s入门之ConfigMap(九)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23云原生周刊:利用 eBPF 增强 K8s
- 2024-12-20/kubernetes 1.32版本更新解读:新特性和变化一目了然
- 2024-12-19拒绝 Helm? 如何在 K8s 上部署 KRaft 模式 Kafka 集群?
- 2024-12-16云原生周刊:Kubernetes v1.32 正式发布
- 2024-12-13Kubernetes上运行Minecraft:打造开发者平台的例子
- 2024-12-12深入 Kubernetes 的健康奥秘:探针(Probe)究竟有多强?
- 2024-12-10运维实战:K8s 上的 Doris 高可用集群最佳实践
- 2024-12-022024年最好用的十大Kubernetes工具
- 2024-12-02OPA守门人:Kubernetes集群策略编写指南
- 2024-11-26云原生周刊:K8s 严重漏洞