我们需要将名称为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