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
相关推荐
Harvey9035 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
陈桴浮海5 小时前
Kustomize实战:从0到1实现K8s多环境配置管理与资源部署
云原生·容器·kubernetes
张小凡vip6 小时前
Kubernetes--k8s中部署redis数据库服务
redis·kubernetes
Hello.Reader7 小时前
Flink Kubernetes HA(高可用)实战原理、前置条件、配置项与数据保留机制
贪心算法·flink·kubernetes
ShiLiu_mtx8 小时前
k8s - 7
云原生·容器·kubernetes
ghostwritten17 小时前
春节前夕,运维的「年关」:用 Kubeowler 给集群做一次「年终体检」
运维·云原生·kubernetes
[shenhonglei]1 天前
灰度发布功能需求说明书
kubernetes
liux35281 天前
基于kubeadm部署Kubernetes 1.26.4 集群指南
云原生·容器·kubernetes
小章UPUP2 天前
Kubernetes (K8s) 与 Podman 的比较
容器·kubernetes·podman
农民工老王2 天前
K8s 1.31 私有化部署实战:从 Calico 崩溃到 NFS 挂载失败的排坑全记录
云原生·kubernetes