一小时精通Kubernetes的配置资源ConfigMap

一小时精通Kubernetes的配置资源ConfigMap

K8S中资源非常多。但如果仅仅是入个门,只要掌握常见的资源就行了。

比如ConfigMap,deplyment,service,ingress,secret等


Kubernetes常见配置组件介绍。

ConfigMap 介绍

属于命名空间级别的

kubectl get configmaps 查看当前已有的configmaps

kubectl get configmaps 名称 -o yaml 查看,或者 kubectl describe 名称

ConfigMap 创建方式

其实cm的数据是放到了etcd里面的~

命令式

可缩写为cm

用 kubectl create

设置immutable=true,就不能动态更改了

声明式

用kubectl apply

ConfigMap 使用方式

  • 通过环境变量的方式直接传递pod
  • 使用volume的方式挂载到pod内的文件中

ConfigMap 实战案例


要查看 ConfigMap(ConfigMap)中的内容,可以使用以下命令:

1
kubectl get cm <configmap-name> -n <namespace> -o yaml

根据你的示例,要查看 wing-reverse-proxy-bsc ConfigMap 中的内容,可以运行以下命令:

1
kubectl get cm wing-reverse-proxy-bsc -n wing -o yaml

这将以 YAML 格式显示 ConfigMap 的详细信息,包括其中定义的键值对数据。你可以在输出中找到 data 部分,其中包含 ConfigMap 的内容。每个键值对都以键值对的形式显示。

如果你只想查看特定键的值,可以使用以下命令:

1
kubectl get cm <configmap-name> -n <namespace> -o jsonpath='{.data.<key>}'"

例如,要查看 wing-reverse-proxy-bsc ConfigMap 中名为 key1 的键的值,可以运行以下命令:

1
kubectl get cm wing-reverse-proxy-bsc -n wing -o jsonpath='{.data.key1}'

这将只输出 key1 的值。

请注意,替换 <configmap-name><namespace> 为实际的 ConfigMap 名称和命名空间。

apiVersion: v1
data:
config.json: |
{
“upstream_rpc_endpoints”: [“https://bsc-dataseed1.binance.org/“, “https://bsc-dataseed2.binance.org/“, “https://bsc-dataseed3.binance.org/“, “https://bsc-dataseed4.binance.org/“, “https://bsc-dataseed1.defibit.io/“, “https://bsc-dataseed2.defibit.io/“, “https://bsc-dataseed3.defibit.io/“, “https://bsc-dataseed4.defibit.io/“, “https://bsc-dataseed1.ninicoin.io/“, “https://bsc-dataseed2.ninicoin.io/“, “https://bsc-dataseed3.ninicoin.io/“, “https://bsc-dataseed4.ninicoin.io/“, “https://rpc.ankr.com/bsc“, “https://bscrpc.com“, “https://delicate-virulent-market.bsc.quiknode.pro/feb34cf4c39e54cdfbd1089a2b2c4c8a4a5df060/"],
“listen”: “:2023”
}
kind: ConfigMap
metadata:
creationTimestamp: “2023-06-02T23:27:30Z”
name: wing-reverse-proxy-bsc
namespace: wing
resourceVersion: “9925469463”
uid: 194ed7f2-3c21-4380-98af-484f056fd9fd