K8s配置管理:ConfigMap教程(九)有哪些疑问?

2026-05-06 03:321阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计744个文字,预计阅读时间需要3分钟。

K8s配置管理:ConfigMap教程(九)有哪些疑问?

ConfigMap是k8s的配置管理工具,常用来保存明文配置信息,以key-value形式传递配置。一、使用命令创建ConfigMap对象

1.通过--from-literal参数创建:

kubectl create configmap mycm1 --from-literal=app=info

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文件

K8s配置管理:ConfigMap教程(九)有哪些疑问?

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对象中的数据

本文共计744个文字,预计阅读时间需要3分钟。

K8s配置管理:ConfigMap教程(九)有哪些疑问?

ConfigMap是k8s的配置管理工具,常用来保存明文配置信息,以key-value形式传递配置。一、使用命令创建ConfigMap对象

1.通过--from-literal参数创建:

kubectl create configmap mycm1 --from-literal=app=info

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文件

K8s配置管理:ConfigMap教程(九)有哪些疑问?

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对象中的数据