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
相关推荐
sbjdhjd27 分钟前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全
热爱Liunx的丘丘人1 小时前
1、什么是K8s
云原生·容器·kubernetes
小匠石钧知8 小时前
07_在k8s集群中安装ingress-nginx
nginx·容器·kubernetes·ingress
谢亮_vipxieliang1 天前
Kubernetes 1.36 深度解读:从 kubelet 安全到 GPU 原生调度的 70 项改进
安全·kubernetes·kubelet
wzq11_6661 天前
kubernetes集群——灰度发布
云原生·容器·kubernetes
vipxieliang1 天前
Kubernetes 的“操作系统化”:从容器编排到 AI 基础设施控制平面
kubernetes
Zhu7581 天前
在k8s环境中,离线部署与使用Topograph
云原生·容器·kubernetes
ToddyBear1 天前
从 Pod 编排到数据互联:基于 K8s 与 Snowflake 打造下一代异构查询桥梁实践
云原生·容器·kubernetes
A-刘晨阳1 天前
GitLab + ArgoCD 实现 Kubernetes GitOps 自动化部署
运维·人工智能·git·kubernetes·自动化·云计算·argocd
张小凡vip1 天前
Kubernetes--k8s---了解和使用 ServiceAccount
容器·贪心算法·kubernetes