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
相关推荐
Zhao_yani1 小时前
k8s基础知识
云原生·容器·kubernetes
styshoo1 小时前
NVSentinel 数据流梳理
kubernetes·gpu·ai-infra·nvsentinel
zx78542 小时前
Kubernetes 生产级实战:从零部署 LNMP 架构 ECShop 商城(完整指南)
容器·架构·kubernetes
IT大白鼠3 小时前
K8S发展历史及未来展望
云原生·容器·kubernetes
weixin_439930644 小时前
Kubernetes(K8s)入门实践
云原生·容器·kubernetes·k8s
众人皆醒我独醉18 小时前
Pod 一直 Terminating,死活删不掉?三个凶手,每一个你都意想不到
面试·kubernetes
飞翔沫沫情19 小时前
K8s Alloy 采集 Pod 控制台日志
云原生·容器·kubernetes
潮起鲸落入海1 天前
Kubernetes Metric Server, Quota and Limits
容器·kubernetes
摇滚侠1 天前
云原生 Java 架构师的第一课 K8s+Docker+KubeSphere+DevOps 19-25
java·云原生·kubernetes
咕噜咕噜的猪大侠1 天前
《K8s 核心知识梳理:Deployment 滚动更新、JobCronJob、DaemonSet 和 Service》
云原生·容器·kubernetes