k8s配置configmap指定到容器的指定文件

我们需要将名称为walletkey.properties的文件做成configmap,然后将walletkey.properties文件单独挂载出来到/data/walletkey.properties,且不能覆盖/data目录,具体如下

1、创建configmap

configmap文件内容

其中walletkey.properties: >-引用部分是文本内容

yaml 复制代码
---
apiVersion: v1
data:
  walletkey.properties: >-
    wallet.keys.data[0].coin=bnb

    wallet.keys.data[0].seed=abcdedfefeds

    wallet.keys.data[0].type=eth


    wallet.keys.data[1].coin=arb

    wallet.keys.data[1].seed=abcdedfefeds

    wallet.keys.data[1].type=eth



    wallet.keys.data[2].coin=op

    wallet.keys.data[2].seed=abcdedfefeds

    wallet.keys.data[2].type=eth



    wallet.keys.data[3].coin=matic

    wallet.keys.data[3].seed=abcdedfefeds

    wallet.keys.data[3].type=eth


    wallet.keys.data[4].coin=sol

    wallet.keys.data[4].seed=abcdedfefeds

    wallet.keys.data[4].type=sol


    wallet.keys.data[5].coin=btc

    wallet.keys.data[5].seed=abcdedfefeds

    wallet.keys.data[5].type=btc
kind: ConfigMap
metadata:
  name: walletkey.properties
  namespace: bitget
  resourceVersion: '4866437'

创建configmap

handlebars 复制代码
kubectl create -f configmap.yaml

查看创建好的configmap

handlebars 复制代码
kubectl get configmap walletkey.properties -n bitget

2、挂载操作

A方案、yaml配置

配置文件内容如下

handlebars 复制代码
          volumeMounts:
            - mountPath: /data/walletkey.properties
              name: volume-h77am
              readOnly: true
              subPath: walletkey.properties
      volumes:
        - configMap:
            defaultMode: 420
            items:
              - key: walletkey.properties
                path: walletkey.properties
            name: walletkey.properties
          name: volume-h77am

B方案、kuboard控制台操作

3、进入容器后我们可以看到我们的文本内容

handlebars 复制代码
root@wallet-597c57d89c-z6hvz:/data# ls /data/
data  logs  wallet-core.jar  wallet-core.uuid  walletkey.properties
root@wallet-core-597c57d89c-z6hvz:/data# cat /data/walletkey.properties 
wallet.keys.data[0].coin=bnb
wallet.keys.data[0].seed=abcdedfefeds
wallet.keys.data[0].type=eth

wallet.keys.data[1].coin=arb
wallet.keys.data[1].seed=abcdedfefeds
wallet.keys.data[1].type=eth


wallet.keys.data[2].coin=op
wallet.keys.data[2].seed=abcdedfefeds
wallet.keys.data[2].type=eth


wallet.keys.data[3].coin=matic
wallet.keys.data[3].seed=abcdedfefeds
wallet.keys.data[3].type=eth

wallet.keys.data[4].coin=sol
wallet.keys.data[4].seed=abcdedfefeds
wallet.keys.data[4].type=sol

wallet.keys.data[5].coin=btc
wallet.keys.data[5].seed=abcdedfefeds
wallet.keys.data[5].type=btc

如果我们有多个文件需要这样挂载的话,我们可以操作如下

yaml 复制代码
          volumeMounts:
            - mountPath: /data/leaf.properties
              name: volume-zhma7
              subPath: leaf.properties
            - mountPath: /data/bootstrap.yml
              name: volume-zhma7
              subPath: bootstrap.yml
          workingDir: /data
      volumes:
        - configMap:
            defaultMode: 420
            items:
              - key: leaf.properties
                path: leaf.properties
              - key: bootstrap.yml
                path: bootstrap.yml
            name: leaf.properties
          name: volume-zhma7

kuboard挂载方式

然后启动的时候可以

handlebars 复制代码
java -Dspring.config.location=/data/leaf.properties -jar yourapp.jar
相关推荐
奇特認5 小时前
kubernetes 环境部署
云原生·容器·kubernetes
ltl5 小时前
etcd 深度解剖:Watch、MVCC 与 Kubernetes 里的角色
kubernetes
mohesashou6 小时前
红帽linux的K8S部署
linux·kubernetes·ansible
CJY6218 小时前
k8s集群部署的方法原理
云原生·容器·kubernetes
ZY小袁9 小时前
K8S集群部署(脚本方法)
云原生·容器·kubernetes
FoldWinCard10 小时前
K8s集群部署的方法原理
大数据·容器·kubernetes
Kina_C13 小时前
从零搭建Kubernetes集群:Harbor私有仓库 + K8s v1.35 + Flannel网络插件完整部署指南
网络·容器·kubernetes
王da魔14 小时前
部署Kubernetes
云原生·容器·kubernetes
RobinDevNotes14 小时前
K8s+Megatron-LM+vLLM打通超大模型训练全链路
人工智能·kubernetes