【Kubernetes】Pod 注入環境變量


環境

  1. kubernetes 1.20.2
  2. Spring Boot 2.5.0-M1

目標

在 Spring Boot 中,環境變量的值的優先級比配置文件中的高,所以我們給 Pod 添加環境變量,
來改變 Spring Boot 值,這里以修改端口號為例,從 8080 修改到 80。

增加環境變量

rc.yaml

apiVersion: v1
kind: ReplicationController
metadata:
  name: rc-demo
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
        - name: pod-demo
          image: jiangbo920827/spring-demo:external
          ports:
            - containerPort: 80
          env:
            - name: SERVER_PORT
              value: "80"

查看 Pod 狀態

[root@master kubernetes]# kubectl get pods -o wide
NAME            READY   STATUS    RESTARTS   AGE   IP             NODE    NOMINATED NODE   READINESS GATES
rc-demo-b7r9f   1/1     Running   0          76s   10.244.1.106   node1   <none>           <none>
rc-demo-b9mqr   1/1     Running   0          76s   10.244.1.104   node1   <none>           <none>
rc-demo-r6nv8   1/1     Running   0          76s   10.244.1.105   node1   <none>           <none>

驗證

訪問 hostname

[root@master kubernetes]# curl 10.244.1.105/hostname
rc-demo-r6nv8 external[root@master kubernetes]#

訪問數據庫值

[root@master kubernetes]# curl 10.244.1.105/users
[{"name":"jiangbo","age":44}][root@master kubernetes]#

查看環境變量

[root@master kubernetes]# kubectl exec rc-demo-r6nv8 -- printenv | grep SERVER
SERVER_PORT=80

總結

通過給 Pod 注入環境變量,修改 Spring Boot 項目中的配置,來達到動態配置的目的。

附錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM