k8s Configmap

本文介绍了如何在SpringBoot项目中使用KubernetesConfigMap作为配置中心,包括修改Dockerfile以从ConfigMap读取配置,创建ConfigMap,以及在Deployment配置中挂载ConfigMap,确保应用的配置更新无缝应用到运行中的Pod。
摘要由CSDN通过智能技术生成

项目背景

  • springboot demo工程有配置app.version=1.0,准备使用k8s Configmap做配置中心修改

  • springboot demo工程的Dockerfile设置从/config读取配置(涉及到k8s deployment配置)

使用外挂文件创建configmap

创建文件application.properties

cat >> /etc/k8s/application.properties <<-'EOF'
app.version=1.8
EOF

创建configmap

## 创建
kubectl create configmap springboot-cm --from-file /etc/k8s/application.properties
## 查看
kubectl get configmap

请添加图片描述

Deployment部署使用configmap

部署配置文件springboot-dep-cm.yml

注意26行和31行

apiVersion: apps/v1
kind: Deployment
metadata:
  name: java-demo-deployment
spec:
  selector:
    matchLabels:
      app: java-demo
  replicas: 2
  template:
    metadata:
      labels:
        app: java-demo
    spec:
      containers:
      - name: java-demo-ctr
        image: registry.cn-shanghai.aliyuncs.com/qgt/qgt-public:1.1
        ports:
        - containerPort: 8080
        resources:
          limits:
            memory: "500Mi"
            cpu: "100m"
        volumeMounts:
          # configmap映射到容器的/config目录(即springboot demo工程Dockerfile读取配置目录)
          - mountPath: /config
            name: config            
      volumes:
        - configMap:
            # 使用刚创建的configMap的名字
            name: springboot-cm
          name: config

创建部署

kubectl apply -f springboot-dep-cm.yml

部署完成后,进入pod内部查看

外部application.properties已经挂载到pod内部的/config/application.properties
请添加图片描述

测试接口

请添加图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值