diff --git a/remi-nacos/src/main/resources/docker/Dockerfile b/remi-nacos/src/main/resources/docker/Dockerfile index f5ec545..c759a4c 100644 --- a/remi-nacos/src/main/resources/docker/Dockerfile +++ b/remi-nacos/src/main/resources/docker/Dockerfile @@ -3,14 +3,12 @@ # Author: DianJiu # 指定基础镜像,这是分阶段构建的前期阶段 FROM harbor.njydsz.com/library/jdk:17 as builder -# 维护者 -MAINTAINER Remi #VOLUME:挂载目录 VOLUME /temp #ADD 将app.jar文件将拷贝到容器中,默认拷贝到根路径下 #也可以直接写成ADD app.jar /app.jar 或者 ADD app.jar / -ADD remi-nacos-3.1.1.jar remi-nacos.jar +ADD remi-nacos-3.1.0.jar remi-nacos.jar #修改app.jar这个文件的访问时间和修改时间为当前时间,而不会修改文件的内容。 RUN bash -c "touch /remi-nacos.jar" diff --git a/remi-nacos/src/main/resources/docker/README.md b/remi-nacos/src/main/resources/docker/README.md index 3ed3bb9..8f74ce8 100644 --- a/remi-nacos/src/main/resources/docker/README.md +++ b/remi-nacos/src/main/resources/docker/README.md @@ -1,5 +1,7 @@ + +## 如果基于Docker部署项目 直接运行如下脚本即可 ```shell sh ./docker_deploy.sh -docker logs -f gateway -``` \ No newline at end of file +docker logs -f remi-nacos-web +``` diff --git a/remi-nacos/src/main/resources/docker/docker_deploy.sh b/remi-nacos/src/main/resources/docker/docker_deploy.sh index 06a90a9..3b075c8 100644 --- a/remi-nacos/src/main/resources/docker/docker_deploy.sh +++ b/remi-nacos/src/main/resources/docker/docker_deploy.sh @@ -1,15 +1,12 @@ #先删除原有的镜像 -docker stop sit-remi-nacos-web -docker rm -f sit-remi-nacos-web -docker images | grep sit-remi-nacos-web | awk '{print $3}' | xargs docker rmi -f -docker build -t sit-remi-nacos-web . -docker images | grep sit-remi-nacos-web +docker images | grep remi-nacos-web | awk '{print $3}' | xargs docker rmi -f +docker build -t remi-nacos-web . +docker images | grep remi-nacos-web #把新镜像推送到私服 -docker login -uadmin -pYdsz1020 harbor.njydsz.com -docker tag sit-remi-nacos-web harbor.njydsz.com/remi/sit-remi-nacos-web:3.1.1 -docker tag sit-remi-nacos-web harbor.njydsz.com/remi/sit-remi-nacos-web -docker push harbor.njydsz.com/remi/sit-remi-nacos-web:3.1.1 -docker push harbor.njydsz.com/remi/sit-remi-nacos-web -#启动最新的镜像服务 -docker run --restart=always -t -dit -p 8848:8848 --name sit-remi-nacos-web sit-remi-nacos-web -docker ps -a +docker login -uadmin -pRemi123 harbor.******.com +docker tag remi-nacos-web harbor.******.com/remi-top/remi-nacos-web:3.1.0 +docker tag remi-nacos-web harbor.******.com/remi-top/remi-nacos-web +docker push harbor.******.com/remi-top/remi-nacos-web:3.1.0 +docker push harbor.******.com/remi-top/remi-nacos-web +#基于Docker启动容器 +docker run --restart=always -t -dit -p 8848:8848 --name remi-nacos-web harbor.******.com/remi-top/remi-nacos-web diff --git a/remi-nacos/src/main/resources/k8s/Dockerfile b/remi-nacos/src/main/resources/k8s/Dockerfile new file mode 100644 index 0000000..c759a4c --- /dev/null +++ b/remi-nacos/src/main/resources/k8s/Dockerfile @@ -0,0 +1,22 @@ +# Docker image for springboot application +# VERSION 0.0.1 +# Author: DianJiu +# 指定基础镜像,这是分阶段构建的前期阶段 +FROM harbor.njydsz.com/library/jdk:17 as builder +#VOLUME:挂载目录 +VOLUME /temp + +#ADD 将app.jar文件将拷贝到容器中,默认拷贝到根路径下 +#也可以直接写成ADD app.jar /app.jar 或者 ADD app.jar / +ADD remi-nacos-3.1.0.jar remi-nacos.jar + +#修改app.jar这个文件的访问时间和修改时间为当前时间,而不会修改文件的内容。 +RUN bash -c "touch /remi-nacos.jar" + +#ENTRYPOINT 应用启动命令 参数设定 +#由于tomcat的session id的生成主要通过java.security.SecureRandom生成随机数来实现,导致启动过程很慢 +#通过-Djava.security.egd=file:/dev/./urandom参数可以加快随机数产生过程 +ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/remi-nacos.jar"] + +#EXPOSE 容器暴露端口 +EXPOSE 8848 diff --git a/remi-nacos/src/main/resources/k8s/README.md b/remi-nacos/src/main/resources/k8s/README.md new file mode 100644 index 0000000..577c796 --- /dev/null +++ b/remi-nacos/src/main/resources/k8s/README.md @@ -0,0 +1,13 @@ + +## 如果基于K8S部署项目 直接运行如下脚本即可 +```shell +sh ./docker_deploy.sh + +sh ./k8s_deploy.sh + +kubectl get pods -n remi-top + +kubectl describe pod dev-remi-sys-app -n remi-top + +kubectl get deployment dev-remi-sys-app -n remi-top -o yaml +``` diff --git a/remi-nacos/src/main/resources/k8s/docker_deploy.sh b/remi-nacos/src/main/resources/k8s/docker_deploy.sh new file mode 100644 index 0000000..7829637 --- /dev/null +++ b/remi-nacos/src/main/resources/k8s/docker_deploy.sh @@ -0,0 +1,10 @@ +#先删除原有的镜像 +docker images | grep remi-nacos | awk '{print $3}' | xargs docker rmi -f +docker build -t remi-nacos . +docker images | grep remi-nacos +#把新镜像推送到私服 +docker login -uadmin -pRemi123 harbor.******.com +docker tag remi-nacos harbor.******.com/remi-top/remi-nacos:3.1.0 +docker tag remi-nacos harbor.******.com/remi-top/remi-nacos +docker push harbor.******.com/remi-top/remi-nacos:3.1.0 +docker push harbor.******.com/remi-top/remi-nacos diff --git a/remi-nacos/src/main/resources/k8s/k8s_deploy.sh b/remi-nacos/src/main/resources/k8s/k8s_deploy.sh new file mode 100644 index 0000000..51052ab --- /dev/null +++ b/remi-nacos/src/main/resources/k8s/k8s_deploy.sh @@ -0,0 +1,7 @@ +#先删除原有的Pod +kubectl delete deployment remi-nacos-web -n remi-top --grace-period=0 --force +kubectl delete svc remi-nacos-web -n remi-top +# 首次启动 需加载配置文件 +kubectl create -f nacos-config.yaml -n remi-top +#启动新的Pod +kubectl create -f nacos-deploy.yaml -n remi-top \ No newline at end of file diff --git a/remi-nacos/src/main/resources/k8s/nacos-config.yaml b/remi-nacos/src/main/resources/k8s/nacos-config.yaml new file mode 100644 index 0000000..874a6ad --- /dev/null +++ b/remi-nacos/src/main/resources/k8s/nacos-config.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: nacos-config + labels: + app: nacos +data: + mysql.host: "192.168.31.31" + mysql.db.name: "remi-nacos" + mysql.port: "3306" + mysql.user: "root" + mysql.password: "Remi@123" \ No newline at end of file diff --git a/remi-nacos/src/main/resources/k8s/nacos-deploy.yaml b/remi-nacos/src/main/resources/k8s/nacos-deploy.yaml new file mode 100644 index 0000000..ecce0a9 --- /dev/null +++ b/remi-nacos/src/main/resources/k8s/nacos-deploy.yaml @@ -0,0 +1,116 @@ +## Service +apiVersion: v1 +kind: Service +metadata: + name: nacos + labels: + app: nacos +spec: + type: NodePort + ports: + - port: 8848 + name: server + targetPort: 8848 + nodePort: 30999 + - port: 9848 + name: client-rpc + targetPort: 9848 + nodePort: 31999 + - port: 9849 + name: raft-rpc + targetPort: 9849 + - port: 7848 + name: old-raft-rpc + targetPort: 7848 + selector: + app: nacos +--- +## Secret +apiVersion: v1 +kind: Secret +metadata: + name: nacos-auth-secret +stringData: + tokenKey: "U3RhcnRkaXNOYWNvc0N1c3RvbVNlY3JldEtleTIwMjQ=" +--- +## Deployment +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nacos +spec: + replicas: 2 + selector: + matchLabels: + app: nacos + template: + metadata: + labels: + app: nacos + spec: + containers: + - name: nacos + image: harbor.******.com/library/remi-nacos + resources: + limits: + memory: "2Gi" + cpu: "1000m" + requests: + memory: "1Gi" + cpu: "500m" + ports: + - containerPort: 8848 + name: client + - containerPort: 9848 + name: client-rpc + - containerPort: 9849 + name: raft-rpc + - containerPort: 7848 + name: old-raft-rpc + env: + - name: SPRING_DATASOURCE_PLATFORM + value: "mysql" + - name: MYSQL_SERVICE_HOST + valueFrom: + configMapKeyRef: + name: nacos-config + key: mysql.host + - name: MYSQL_SERVICE_DB_NAME + valueFrom: + configMapKeyRef: + name: nacos-config + key: mysql.db.name + - name: MYSQL_SERVICE_PORT + valueFrom: + configMapKeyRef: + name: nacos-config + key: mysql.port + - name: MYSQL_SERVICE_USER + valueFrom: + configMapKeyRef: + name: nacos-config + key: mysql.user + - name: MYSQL_SERVICE_PASSWORD + valueFrom: + configMapKeyRef: + name: nacos-config + key: mysql.password + - name: MODE + value: "standalone" + - name: NACOS_SERVER_PORT + value: "8848" + - name: PREFER_HOST_MODE + value: "hostname" + - name: TZ + value: Asia/Shanghai + - name: NACOS_AUTH_ENABLE + value: "true" + - name: NACOS_AUTH_TOKEN + valueFrom: + secretKeyRef: + name: nacos-auth-secret + key: tokenKey + - name: NACOS_AUTH_IDENTITY_KEY + value: "X-AUTH-KEY" + - name: NACOS_AUTH_IDENTITY_VALUE + value: "startdis" diff --git a/remi-sys/remi-sys-app/src/main/resources/k8s/k8s_deploy.sh b/remi-sys/remi-sys-app/src/main/resources/k8s/k8s_deploy.sh index 5e2f307..628fc1f 100644 --- a/remi-sys/remi-sys-app/src/main/resources/k8s/k8s_deploy.sh +++ b/remi-sys/remi-sys-app/src/main/resources/k8s/k8s_deploy.sh @@ -2,4 +2,4 @@ kubectl delete deployment dev-remi-sys-app -n remi-top --grace-period=0 --force kubectl delete svc dev-remi-sys-app -n remi-top #启动新的Pod -kubectl create -f dev-remi-sys-app.yaml -n remi-vip \ No newline at end of file +kubectl create -f dev-remi-sys-app.yaml -n remi-top \ No newline at end of file diff --git a/remi-sys/remi-sys-web/src/main/resources/k8s/k8s_deploy.sh b/remi-sys/remi-sys-web/src/main/resources/k8s/k8s_deploy.sh index 80e3ee4..3b3e031 100644 --- a/remi-sys/remi-sys-web/src/main/resources/k8s/k8s_deploy.sh +++ b/remi-sys/remi-sys-web/src/main/resources/k8s/k8s_deploy.sh @@ -2,4 +2,4 @@ kubectl delete deployment dev-remi-sys-web -n remi-top --grace-period=0 --force kubectl delete svc dev-remi-sys-web -n remi-top #启动新的Pod -kubectl create -f dev-remi-sys-web.yaml -n remi-vip \ No newline at end of file +kubectl create -f dev-remi-sys-web.yaml -n remi-top \ No newline at end of file