• Kubernetes(K8S) 配置管理-ConfigMap 介绍


    作用:存储不加密数据到 etcd,让 Pod 以变量或者 Volume 挂载到容器中
    场景:配置文件

    创建配置文件

    redis.properties

    redis.host=127.0.0.1
    redis.port=6379
    redis.password=123456
    

    创建 ConfigMap

    # 根据 redis.properties 创建 redis-config 
    [root@k8smaster ~]# kubectl create configmap redis-config --from-file=redis.properties
    # 查看 configmap
    [root@k8smaster ~]# kubectl get cm
    # 查看 redis-config 的详情
    [root@k8smaster ~]# kubectl describe cm redis-config
    

    以 Volume 的形式进行挂载到 pod 容器中

    cm.yaml

    apiVersion: v1
    kind: Pod
    metadata:
      name: mypod
    spec:
      containers:
        - name: busybox
          image: busybox
          command: [ "/bin/sh","-c","cat /etc/config/redis.properties" ]
          volumeMounts:
          - name: config-volume
            mountPath: /etc/config
      volumes:
        - name: config-volume
          configMap:
            name: redis-config
      restartPolicy: Never
    
    # 创建 yaml文件
    [root@k8smaster ~]# vi cm.yaml
    # 创建pod
    [root@k8smaster ~]# kubectl apply -f cm.yaml
    # 启动后可以查看日志
    [root@k8smaster ~]# kubectl logs mypod
    

    以变量的形式进行挂载

    创建 yaml,声明变量信息 configmap 创建
    myconfig.yaml

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: myconfig
      namespace: default
    data:
      special.level: info
      special.type: hello 
    

    config-var.yaml

    apiVersion: v1
    kind: Pod
    metadata:
      name: mypod
    spec:
      containers:
        - name: busybox
          image: busybox
          command: [ "/bin/sh", "-c", "echo $(LEVEL) $(TYPE)" ]
          env:
            - name: LEVEL
              valueFrom:
                configMapKeyRef:
                  name: myconfig
                  key: special.level
            - name: TYPE
              valueFrom:
                configMapKeyRef:
                  name: myconfig
                  key: special.type
      restartPolicy: Never
    
    [root@k8smaster ~]# vi myconfig.yaml
    [root@k8smaster ~]# kubectl apply -f myconfig.yaml
    # 以变量形式进行挂载
    [root@k8smaster ~]# vi config-var.yaml
    [root@k8smaster ~]# kubectl apply -f config-var.yaml
    
  • 相关阅读:
    LoadingCache
    DoIP通信中的TLS加密
    走进Spring Boot的世界
    BluePrism注册下载并安装-RPA第一章
    【高并发基础】Spring 事务传播级别及造成死锁的隐患分析
    小型气象站的分类和选型要点
    datax从ES读写数据
    【AI视野·今日Robot 机器人论文速览 第五十三期】Thu, 12 Oct 2023
    如何使用 NFTScan 的 TON API 实现 NFT 应用开发?
    谷粒学苑_第九天
  • 原文地址:https://www.cnblogs.com/vipsoft/p/16931288.html