k8s Docker使用nacos配置中心
Posted 抓手
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s Docker使用nacos配置中心相关的知识,希望对你有一定的参考价值。
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
以上是关于k8s Docker使用nacos配置中心的主要内容,如果未能解决你的问题,请参考以下文章