首页 > 其他分享 >kubernetes ConfigMap只挂载一个文件

kubernetes ConfigMap只挂载一个文件

时间:2023-04-06 14:00:55浏览次数:46  
标签:ConfigMap name kubernetes yaml setting go device 挂载

1. 概述

挂载一整个目录的方式详见<<kubernetes ConfigMap的使用>>

这里特别说明如何挂载目录和挂载一个文件

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

2. 环境

2.1. 配置文件目录

/var/app/mage-go-device/conf/有两个文件: 一个const.yaml不可变更 一个setting.yaml可变更

2.1. ConfigMap

apiVersion: v1
kind: ConfigMap
metadata:
  name: dev
data:
  setting.yaml: |
      ServiceAdvHost: 127.0.0.1
      ServiceAdvEnable: true

      Kafka:
        Enable: false
        URL:  10.0.22.120:9092
        UserName: admin
        Password: u01202302011819
        DeviceTopic: "device"
        Group: "alpha"

只对setting.yaml的配置

3. 挂载configmap的整个目录

        volumeMounts:
        - name: config-volume
          mountPath: /var/app/mage-go-device/conf/
      volumes:
        - name: config-volume
          configMap:
            name: dev

采用这种方式挂载,会挂载/var/app/mage-go-device/conf的整个目录都用configMap为dev的配置项替换

但是dev的配置项没有配置const.yaml,这样就导致pod里面无法访问const.yaml

这时候就需要只挂载一个文件setting.yaml

4. 挂载configmap的部分key到一个文件

        volumeMounts:
        - mountPath: /var/app/mage-go-device/conf/setting.yaml
          name: config-volume
          subPath: setting.yaml
      volumes:
        - name: config-volume
          configMap:
            name: dev

mountPath设置到具体的文件路径/var/app/mage-go-device/conf/setting.yaml

同时指定config-volume使用的subPath是:setting.yaml,这样就可以挂载某个文件了

标签:ConfigMap,name,kubernetes,yaml,setting,go,device,挂载
From: https://www.cnblogs.com/zhanchenjin/p/17292523.html

相关文章

  • Kubernetes 集群监控 controller-manager & scheduler 组件
    一、问题描述在上篇Kubernetes集群监控kube-prometheus部署我们实现kube-prometheus的安装,我们可以看到监控指标大部分的配置都是正常的,只有两个没有管理到对应的监控目标,比如kube-controller-manager和kube-scheduler这两个系统组件。没有监控目标❝备注:controller-man......
  • Kubernetes + Spring Cloud 集成链路追踪 SkyWalking
    一、概述1、什么是SkyWalking?分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。官网地址:http://skywalking.apache.org/2、SkyWalking特性多种监控手段,语言......
  • Kubernetes 集群部署 NFS 网络存储
    一、搭建NFS服务器1、背景介绍Kubernetes对Pod进行调度时,以当时集群中各节点的可用资源作为主要依据,自动选择某一个可用的节点,并将Pod分配到该节点上。在这种情况下,Pod中容器数据的持久化如果存储在所在节点的磁盘上,就会产生不可预知的问题,例如,当Pod出现故障,Kubernetes......
  • k8s入门篇-Kubernetes的基本概念和术语
    1.k8s基本概念概述Kubernetes中的大部分概念如Node、Pod、ReplicationController、Service等都可以被看作一种资源对象,几乎所有资源对象都可以通过Kubernetes提供的kubectl工具(或者API编程调用)执行增、删、改、查等操作并将其保存在etcd中持久化存储。从这个角度来看,Kubernetes......
  • 使用 kubeadm 安装单 master kubernetes 集群
    配置要求检查centos/hostname检查网络安装docker及kubelet初始化master节点初始化worker节点获得join命令参数初始化worker常见错误原因移除worker节点并重试检查初始化结果安装IngressController配置要求对于Kubernetes初学者,在搭建K8S集群时,推荐在阿里云或......
  • Kubernetes 如何安装 NFS-Subdir-External-Provisioner存储插件?
    一、搭建NFS服务器1、背景介绍Kubernetes对Pod进行调度时,以当时集群中各节点的可用资源作为主要依据,自动选择某一个可用的节点,并将Pod分配到该节点上。在这种情况下,Pod中容器数据的持久化如果存储在所在节点的磁盘上,就会产生不可预知的问题,例如,当Pod出现故障,Kubernetes......
  • 四、kubernetes-存储抽象
    1.先搭建nfs服务器2.每台节点都挂载nfs目录文件夹3.使用原生方式挂载的nfs数据,在pod删除后数据不会删除服务器原生方式挂载,将/usr/share/nginx/html挂载到nfs文件夹下apiVersion:apps/v1kind:Deploymentmetadata:labels:app:nginx-pv-demoname:nginx-pv-de......
  • 01. Jenkins - 安装说明(War / Kubernetes)
    CI/CD日常运维中常常听到CI/CD这个词,它其实包含整个研发生命周期的三个阶段:CI,Continuousintegration,持续集成CD,Continuousdelivery,持续交付CD,Continuousdeployment,持续部署大致的流程图如下:而对于Kubernete的CI/CD工具目前也有很多,比如Jenkins、GitlabCI以及......
  • kubernetes——容器集群管理软件
    摘要Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。Kubernetes一个核心的特点就是能够自主的管理容器来保证云平台中的容器按照用户的期望状态运行......
  • Kubernetes——身份与权限认证
    摘要Kubernetes中的网络可以说对初次接触Kubernetes或者没有网络方面经验的人来说可能是其中最难的部分。Kubernetes本身并不提供网络功能,只是把网络接口开放出来,通过插件的形式实现。一、扁平网络Flannel二、非Overlay扁平网络Calico三、基于eBPF的网络Cilium博文参考......