zoukankan      html  css  js  c++  java
  • Kubernetes configMap(配置文件存储)

    Kubernetes configMap(配置文件存储)

    官方文档:https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/

    与Secret类似,区别在于ConfigMap保存的是不需要加密配置信息。
    应用场景:应用配置

    创建测试配置文件

    1、创建测试配置文件
    vim redis.properties

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

    2、通过命令创建引用配置文件

    kubectl create configmap redis-config --from-file=./redis.properties

    3、查看创建的配置文件
    kubectl get cm

    NAME DATA AGE
    redis-config 1 8s

    4、查看详细信息
    kubectl describe cm redis-config

    Name: redis-config
    Namespace: default
    Labels: <none>
    Annotations: <none>
    
    Data
    ====
    redis.properties:
    ----
    redis.host=127.0.0.1
    redis.port=6379
    redis.password=123456
    
    Events: <none>

    通过volume导入方式

    1、创建yaml文件
    vim 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

    2、创建容器

    kubectl create -f cm.yaml 

    3、查看结果
    kubectl logs mypod

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

    通过变量名方式

    1、创建yaml文件
    vim myconfig.yaml

    apiVersion: v1
    kind: ConfigMap
    metadata:
      # 指定命名空间
      name: myconfig
      namespace: default
    # 指定level type
    data:
      # 指定变量 value则是配置文件的配置
      special.level: info
      special.type: hello

    2、创建容器

    kubectl create -f myconfig.yaml

    3、查看创建
    kubectl get cm

    NAME DATA AGE
    myconfig 2 23s
    redis-config 1 11m

    4、创建pod yaml
    vim 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:
                # 通过key加载配置文件
                configMapKeyRef:
                  # 使用的key
                  name: myconfig
                  key: special.level
            - name: TYPE
              valueFrom:
                configMapKeyRef:
                  # 使用的type
                  name: myconfig
                  key: special.type
      restartPolicy: Never

    5、查看验证
    kubectl logs mypod

    info hello
  • 相关阅读:
    el-cascader回显问题
    nuxt + ueditor国际化
    nuxt + element + i18n 国际化element(我用的i18n@8.x版本)
    CDH| 组件的使用-Flume| Kafka| Oozie基于Hue的任务调度
    CDH| Hive| Hue| Sqoop| Impala等组件安装部署
    CDH| 组件的安装-HDFS的配置 | Flume| Kafka|
    Flink| 实时需要分析
    Flink| 状态一致性
    Flink| 容错机制
    Flink| 第一个窗口触发时间
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/11424321.html
Copyright © 2011-2022 走看看