使用kuboard界面配置springcloud的其中一個模塊設置環境變量,使用nacos配置地址等有關設置


總結:
工作負載類型是StatefulSet的pod,不論其上層的service是nodeport還是Headless, 對外提供的地址格式是: <pod name>.<service>:<port>, 這種情況針對的是一個pod.

雖然在pod中ping其他pod的service也能ping通,但是配置文件中寫service的話卻無法連接。

1.nacos
nacos的工作負載類型是StatefulSet,pod+nodeport,對外連接使用的地址是:nacos-0.nacos:8848

nacos里添加的配置文件參數寫法:

2.mysql
mysql的工作負載類型是StatefulSet,pod+Headless,對外連接使用的地址是:saber-db-0.saber-db:3306

3.redis
redis的工作負載類型是StatefulSet,pod+Headless,對外連接使用的地址是:redis-0.redis:6379

4.假設的一個springcloud框架中的一個模塊,使用nacos作為配置和注冊中心

先添加一個ConfigMap,具體內容如下:

然后在添加設置應用的時候,環境變量選擇上一步創建的ConfigMap,配置,配置字典引用

然后命令/參數中的參數設置如下:

--spring.profiles.active=${PROFILE} --spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR} --spring.cloud.nacos.discovery.server-addr=${NACOS_SERVER_ADDR} --spring.cloud.sentinel.transport.dashboard=${SENTINEL_DASHBOARD_ADDR} --server.port=80

參數中變量會從設置的環境變量中取,環境變量中的參數是從ConfigMap中設置來的。

之所以這樣設置,后期修改配置的話,只需要修改ConfigMap就可以了,命令/參數中的參數就沒必要修改,除非有新增的環境變量,命令/參數中的參數需要使用

不是直接在命令/參數中的參數中直接設置,比如,設置成spring.profiles.active=test

引申知識

docker鏡像文件中啟動命令與k8s中的命令/參數的關系如下:

結合查看的Docker中的參數設置

FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER smallchill@163.com
RUN mkdir -p /blade/auth
WORKDIR /blade/auth
EXPOSE 8010
ADD ./target/blade-auth.jar ./app.jar
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]
CMD ["--spring.profiles.active=test"]

kuboard界面上容器的命令參數設置如下:

兩者結合的最終效果是:

ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"] + k8s中的參數:--spring.profiles.active=${PROFILE} --spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR} --spring.cloud.nacos.discovery.server-addr=${NACOS_SERVER_ADDR} --spring.cloud.sentinel.transport.dashboard=${SENTINEL_DASHBOARD_ADDR} --server.port=80
# k8s中的參數變量值從ConfigMap中獲取


免責聲明!

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



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