diff --git a/environment.sh b/environment.sh index 9f53261..819b434 100644 --- a/environment.sh +++ b/environment.sh @@ -1,17 +1,22 @@ #!/bin/bash # 定基本环境变量并导出 -# 所有端口都为主机对外爆露的端口 +# 不同的环境采用不同的DOMAIN +# HOST_IP 设置为部署服务器的主机IP export DOMAIN=bazhong export NETWORK="swarm_network_$DOMAIN" export HOST_IP=127.0.0.1 +# 镜像仓库地址 export REGISTRY=registry.t-aaron.com -export SKYWALKING_UI_DOMAIN=sky-${DOMAIN}.t-aaron.com -export CONSUL_DOMAIN=consul-${DOMAIN}.t-aaron.com -export XXLJOB_DOMAIN=xxljob-${DOMAIN}.t-aaron.com -export OIDC_SERVER_DOMAIN=oidc-${DOMAIN}.t-aaron.com -export MINIO_DOMAIN=minio-${DOMAIN}.t-aaron.com -export MINIO_CONSOLE_DOMAIN=minioconsole-${DOMAIN}.t-aaron.com -export AIRPORT_DOMAIN=airport-${DOMAIN}.t-aaron.com + +# 主机的域名后缀 +export DOMAIN_END=t-aaron.com +export SKYWALKING_UI_DOMAIN=sky-${DOMAIN}.${DOMAIN_END} +export CONSUL_DOMAIN=consul-${DOMAIN}.${DOMAIN_END} +export XXLJOB_DOMAIN=xxljob-${DOMAIN}.${DOMAIN_END} +export OIDC_SERVER_DOMAIN=oidc-${DOMAIN}.${DOMAIN_END} +export MINIO_DOMAIN=minio-${DOMAIN}.${DOMAIN_END} +export MINIO_CONSOLE_DOMAIN=minioconsole-${DOMAIN}.${DOMAIN_END} +export AIRPORT_DOMAIN=airport-${DOMAIN}.${DOMAIN_END} export REGISTRY_HOST=${REGISTRY}/tuoheng/ #export REGISTRY_HOST="" @@ -19,11 +24,14 @@ export REGISTRY_HOST=${REGISTRY}/tuoheng/ #Nginx 配置 export NGINX_NAME=NGINX_${DOMAIN} export NGINX_IMAGE=${REGISTRY_HOST}nginx:${DOMAIN} +# 主机对外爆露的HTTP端口 export NGINX_HTTP_PORT=8899 +# 主机对外爆露的HTTPS端口 export NGINX_HTTPS_PORT=2443 export NGINX_MEMORY=256m -#MySql 配置 +#MySql 配置 +# 数据库对外爆露端口 export MYSQL_PORT=3308 export MYSQL_ROOT_PASSWORD=tuoheng2024 export MYSQL_IMAGE=${REGISTRY_HOST}mysql:8.0.25 @@ -32,6 +40,7 @@ export MYSQL_NAME=MYSQL_${DOMAIN} export MYSQL_MEMORY=1g #Redis 配置 + export REDIS_PORT=6380 export REDIS_IMAGE=${REGISTRY_HOST}redis:latest export REDIS_DATA=${NETWORK}_redis_data @@ -39,6 +48,7 @@ export REDIS_NAME=REDIS_${DOMAIN} export REDIS_MEMORY=512m #MQTT 配置 +# MQTT对外爆露端口 export MQTT_PORT=1883 export MQTT_WS_PORT=9001 export MQTT_IMAGE=${REGISTRY_HOST}eclipse-mosquitto:latest @@ -46,13 +56,15 @@ export MQTT_NAME=MQTT_${DOMAIN} export MQTT_MEMORY=512m #Kafka 配置 +# Kafka对外爆露端口 export KAFKA_PORT=9092 export KAFKA_IMAGE=bitnami/kafka:latest export KAFKA_NAME=KAFKA_${DOMAIN} -export KAFKA_MEMORY=512m - +export KAFKA_MEMORY=1g +export KAFKA_DATA=${NETWORK}_kafka_data #SRS 配置 +# SRS对外爆露端口 export SRS_NAME=SRS_${DOMAIN} export SRS_HTTP_PORT=8080 export SRS_RTMP_PORT=1935 @@ -67,7 +79,9 @@ export MINIO_NAME=MINIO_${DOMAIN} export MINIO_MEMORY=512m export MINIO_IMAGE=quay.io/minio/minio export MINIO_DATA=${NETWORK}_minio_data +# Minio对外爆露端口 export MINIO_API_PORT=9000 +# Minio控制台对外爆露端口 export MINIO_CONSOLE_PORT=9002 export MINIO_ROOT_USER=miniopassword export MINIO_ROOT_PASSWORD=miniopassword @@ -78,6 +92,7 @@ export MINIO_SECRET_KEY=minioaccesskey export ES_NAME=ES_${DOMAIN} export ES_IMAGE=elasticsearch:7.8.0 export ES_MEMORY=1g +# Elasticsearch对外爆露端口 export ES_PORT=9200 export ES_DATA=${NETWORK}_es_data @@ -88,6 +103,7 @@ export SKYWALKING_OAP_IMAGE=apache/skywalking-oap-server:8.6.0-es7 export SKYWALKING_UI_IMAGE=apache/skywalking-ui:8.6.0 export SKYWALKING_OAP_MEMORY=512m export SKYWALKING_UI_MEMORY=512m +# SkyWalking UI对外爆露端口 export SKYWALKING_UI_PORT=8181 export SW_AGENT_COLLECTOR_BACKEND_SERVICES=${SKYWALKING_OAP_NAME}:11800 export SKYWALKING_USERNAME=skywalking @@ -129,7 +145,7 @@ export GATEWAY_NAME=GATEWAY${DOMAIN} export GATEWAY_IMAGE=${REGISTRY_HOST}gateway:${DOMAIN} export GATEWAY_JAR=tuoheng_gateway.jar export GATEWAY_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/gateway/${GATEWAY_JAR} -export GATEWAY_MEMORY=512m +export GATEWAY_MEMORY=1g #河湖长 export HHZ_API_NAME=HHZ-API${DOMAIN} @@ -148,8 +164,9 @@ export AIRPORT_NAME=AIRPORT${DOMAIN} export AIRPORT_IMAGE=${REGISTRY_HOST}airport:${DOMAIN} export AIRPORT_JAR=tuoheng_airport_admin.jar export AIRPORT_REMOTE_JAR=/home/th/workspace/jndsj/jar/airport/${AIRPORT_JAR} -export AIRPORT_MEMORY=512m -export AIRPORT_WEB_DIST=/home/th/workspace/jndsj/web/tuoheng_airport_web/dist +export AIRPORT_MEMORY=1g +#export AIRPORT_WEB_DIST=/home/th/workspace/jndsj/web/tuoheng_airport_web/dist +export AIRPORT_WEB_DIST=/Users/sunpeng/workspace/remote/docker/tuoheng_airport_web/dist #export AIRPORT_WEB_DIST=/Users/sunpeng/workspace/remote/docker/tuoheng_airport_web/dist export BUSINESS_NAME=BUSINESS${DOMAIN} diff --git a/init/2.volumn.sh b/init/2.volumn.sh index e846de9..7098dd3 100755 --- a/init/2.volumn.sh +++ b/init/2.volumn.sh @@ -43,4 +43,10 @@ else fi - +source ../environment.sh +if ! docker volume inspect ${KAFKA_DATA} >/dev/null 2>&1; then + docker volume create ${KAFKA_DATA} + echo "创建 ${KAFKA_DATA} 卷成功" +else + echo "${KAFKA_DATA} 卷已存在" +fi diff --git a/init/6.kafka.sh b/init/6.kafka.sh index ac80dc3..75ec189 100755 --- a/init/6.kafka.sh +++ b/init/6.kafka.sh @@ -43,7 +43,7 @@ docker run -d \ -e KAFKA_CFG_NODE_ID=1 \ -e KAFKA_CFG_PROCESS_ROLES=broker,controller \ -e KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:29093 \ --e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${HOST_IP}:${KAFKA_PORT} \ +-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${KAFKA_NAME}:9092 \ -e KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@${KAFKA_NAME}:29093 \ -e KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER \ -e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \ @@ -57,6 +57,7 @@ docker run -d \ -e KAFKA_CFG_LOG_RETENTION_HOURS=168 \ -e KAFKA_CFG_LOG_RETENTION_BYTES=-1 \ -e KAFKA_CFG_DELETE_TOPIC_ENABLE=true \ +--mount type=volume,source=${KAFKA_DATA},target=/bitnami/kafka \ --memory ${KAFKA_MEMORY} \ --restart unless-stopped \ ${KAFKA_IMAGE} diff --git a/start/airport.sh b/start/airport.sh index 9ef7591..5efef00 100755 --- a/start/airport.sh +++ b/start/airport.sh @@ -27,7 +27,7 @@ docker run --pull always -d \ --env SPRING_NEWMQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \ --env SPRING_NEWMQTT_URL=tcp://${MQTT_NAME}:1883 \ --env SPRING_NEWMQTT_NEWURL=tcp://${MQTT_NAME}:1883 \ ---env SPRING_KAFKA_COMMON_BOOTSTRAP-SERVERS=${KAFKA_NAME}:9092 \ +--env SPRING_KAFKA_COMMON_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \ --env MINIO_OSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \ --env MINIO_DAJIOSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \ --env MINIO_OSS_ACCESS_KEY=${MINIO_ACCESS_KEY} \ diff --git a/start/oidcadmin.sh b/start/oidcadmin.sh index 2e7a8c0..debce5b 100755 --- a/start/oidcadmin.sh +++ b/start/oidcadmin.sh @@ -22,7 +22,7 @@ docker run --pull always -d \ --env SPRING_DATASOURCE_USERNAME=root \ --env SPRING_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD} \ --env TZ=Asia/Shanghai \ ---env SPRING_KAFKA_COMMON_BOOTSTRAP-SERVERS=${KAFKA_NAME}:9092 \ +--env SPRING_KAFKA_COMMON_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \ --mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \ --memory ${OIDC_ADMIN_MEMORY} \ --restart unless-stopped \ diff --git a/start/oidcservice.sh b/start/oidcservice.sh index b86f4cc..118f9cb 100755 --- a/start/oidcservice.sh +++ b/start/oidcservice.sh @@ -26,7 +26,7 @@ docker run --pull always -d \ --env OAUTH2_TOKEN_ISSUER=https://${OIDC_SERVER_DOMAIN}:2443 \ --env SPRING_SECURITY_OAUTH2_RESOURCE-SERVER_JWT_ISSUER-URI=https://${OIDC_SERVER_DOMAIN}:2443 \ --env TZ=Asia/Shanghai \ ---env SPRING_KAFKA_COMMON_BOOTSTRAP-SERVERS=${KAFKA_NAME}:9092 \ +--env SPRING_KAFKA_COMMON_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \ --mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \ --memory ${OIDC_SERVER_MEMORY} \ --restart unless-stopped \ diff --git a/start/说明.md b/start/说明.md new file mode 100644 index 0000000..5e80c27 --- /dev/null +++ b/start/说明.md @@ -0,0 +1,28 @@ +整体: + 1: 在构建服务器上面构建各个服务 + builder 构建后端服务 + nginx 构建前端服务 + 2: 在需要部署的服务器上执行start中的命令 + 先执行init中的脚本初始化环境 + +environment.sh 环境参数文件,构建时候和部署时候都依赖这个文件,必须保证一致 +nginx的vhosts里面的cert文件需要更新为域名的配置文件 +1: 刷MySql数据 +2: 刷Kafka数据 + 以下 KAFKA_bazhong 要换成真实容器ID + docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic airport-push-voltage-imitateFly + docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic airport-push-voltage-task + docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic airport-push-voltage-test + docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic business-update-dataPermissions-task + docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-alg-online-tasks + docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-alg-offline-tasks + docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --list +3: 建minio的权限 + +部署在大数据服务器: + 低空(预备) + 大数据的mysql的数据 + mqtt需要在综管改(使用容器内新的mqtt) + minio + srs + 视频流录制的配置文件覆盖 \ No newline at end of file