k8s Docker使用nacos配置中心
3.k8s&Docker配置Dockerfilerun.shdevops-config.yml4.项目配置文件bootstrap.yml5.Jenkins配置
·
1.在nacos中添加配置文件
2.引入nacos maven
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
3.k8s&Docker配置
${工程根目录}\src\main\docker\application\Dockerfile
FROM java:8
VOLUME /tmp
ADD *.jar app.jar
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone
ADD ./run.sh /tmp
RUN chmod a+x /tmp/run.sh
# JVM虚拟机参数
ENV JAVA_OPTS=""
# 分布式配置中心分组名称
ENV ACM_GROUP=""
# 分布式配置中心端点名称
ENV ACM_END_POINT=""
# 分布式配置中心文件类型
ENV ACM_FILE_EXTENSION="yaml"
# 分布式配置中心RAM角色名称
ENV ACM_RAM_ROLE_NAME=""
# 分布式配置中心命名空间
ENV ACM_NAMESPACE=""
# 应用端口
ENV SERVER_PORT="8596"
# 配置spring.profiles.active
ENV SPRING_PROFILES_ACTIVE=""
ENTRYPOINT [ "sh", "-c", "/tmp/run.sh" ]
${工程根目录}\src\main\docker\application\run.sh
#!/usr/bin/env bash
java $JAVA_OPTS -jar -Djava.security.egd=file:/dev/./urandom /app.jar \
--group=$ACM_GROUP \
--endpoint=$ACM_END_POINT \
--fileExtension=$ACM_FILE_EXTENSION \
--namespace=$ACM_NAMESPACE \
--ramRoleName=$ACM_RAM_ROLE_NAME \
--server.port=$SERVER_PORT \
--spring.profiles.active=$SPRING_PROFILES_ACTIVE
${工程根目录}\devops-config.yml
# ****************项目工程配置*********************
# 工程名称
projectName: xxx-server
# jar版本
jarVersion: 1.0.0
# 业务版本号
businessVersion: v1.0.0
# ****************docker镜像相关配置*********************
# 镜像仓库命名空间
dockerImageRepoNameSpace: xxx
# Jfrog仓库名称
jfogServiceName: xxx
#******************容器编排设置*****************************
k8s:
label:
key: node
value: poly
env:
dev:
# 命名空间
nameSpace: mg-tp-test
# 应用容器端口
appContainerPort: 8596
# 创建实例数量
instanceNum: 1
# JAVA_OPTS
javaOpts: ''
# 环境分支
springProfilesActive: dev
# 分布式配置中心
acm:
group: xxx-group
endpoint: xxx.aliyuncs.com
fileExtension: yaml
namespace: xxx
ramRoleName: xxx
4.项目配置文件
${工程根目录}\src\main\resources\bootstrap.yml
server:
servlet:
context-path: /xxx
port: 8596
spring:
application:
name: xxx-server
group: xxx
cloud:
nacos:
config:
enabled: true
server-addr: ${endpoint:}
file-extension: ${fileExtension:}
refresh-enabled: true
group: ${group:}
namespace: ${namespace:}
shared-dataids: ${sharedDataids:}
username: ${username:}
password: ${password:}
5.Jenkins配置
docker pull 192.168.1.101:5000/xxx-server:${Tag}
docker rm -f xxx-server
docker run -d \
--restart=always \
--log-driver json-file \
--log-opt max-size=10m \
--log-opt max-file=3 \
--name xxx-server \
-p 8596:8596 \
-e SPRING_PROFILES_ACTIVE=dev \
-e endpoint='192.168.1.101:8848' \
-e fileExtension=yaml \
-e group='xxx' \
-e namespace=xxx \
-e username=nacos \
-e password=nacos \
192.168.1.101:5000/xxx-server:${Tag}
更多推荐
已为社区贡献1条内容
所有评论(0)