fix(config): Correct Sentinel container IP configuration
This commit is contained in:
@@ -188,6 +188,7 @@ services:
|
|||||||
- NACOS_SERVERS=${NACOS_SERVERS:-192.168.1.101:8848,192.168.1.102:8848,192.168.1.103:8848}
|
- NACOS_SERVERS=${NACOS_SERVERS:-192.168.1.101:8848,192.168.1.102:8848,192.168.1.103:8848}
|
||||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||||
- SENTINEL_DASHBOARD_PORT=8080
|
- SENTINEL_DASHBOARD_PORT=8080
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.101}
|
||||||
- GATEWAY_IP=${HOST_IP:-192.168.1.101}
|
- GATEWAY_IP=${HOST_IP:-192.168.1.101}
|
||||||
- JAVA_OPTS=-Xms256m -Xmx512m
|
- JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
healthcheck:
|
healthcheck:
|
||||||
@@ -230,6 +231,7 @@ services:
|
|||||||
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
||||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||||
- SENTINEL_DASHBOARD_PORT=8080
|
- SENTINEL_DASHBOARD_PORT=8080
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.101}
|
||||||
- AUTH_IP=${HOST_IP:-192.168.1.101}
|
- AUTH_IP=${HOST_IP:-192.168.1.101}
|
||||||
- JAVA_OPTS=-Xms256m -Xmx512m
|
- JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
healthcheck:
|
healthcheck:
|
||||||
@@ -275,6 +277,7 @@ services:
|
|||||||
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
||||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||||
- SENTINEL_DASHBOARD_PORT=8080
|
- SENTINEL_DASHBOARD_PORT=8080
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.101}
|
||||||
- USER_IP=${HOST_IP:-192.168.1.101}
|
- USER_IP=${HOST_IP:-192.168.1.101}
|
||||||
- JAVA_OPTS=-Xms256m -Xmx512m
|
- JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -322,6 +325,7 @@ services:
|
|||||||
- MINIO_BUCKET=video-platform
|
- MINIO_BUCKET=video-platform
|
||||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||||
- SENTINEL_DASHBOARD_PORT=8080
|
- SENTINEL_DASHBOARD_PORT=8080
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.101}
|
||||||
- CONTENT_IP=${HOST_IP:-192.168.1.101}
|
- CONTENT_IP=${HOST_IP:-192.168.1.101}
|
||||||
- JAVA_OPTS=-Xms256m -Xmx512m
|
- JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -366,6 +370,7 @@ services:
|
|||||||
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
||||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||||
- SENTINEL_DASHBOARD_PORT=8080
|
- SENTINEL_DASHBOARD_PORT=8080
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.101}
|
||||||
- COMMENT_IP=${HOST_IP:-192.168.1.101}
|
- COMMENT_IP=${HOST_IP:-192.168.1.101}
|
||||||
- JAVA_OPTS=-Xms256m -Xmx512m
|
- JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -406,6 +411,7 @@ services:
|
|||||||
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
||||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||||
- SENTINEL_DASHBOARD_PORT=8080
|
- SENTINEL_DASHBOARD_PORT=8080
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.101}
|
||||||
- RECOMMEND_IP=${HOST_IP:-192.168.1.101}
|
- RECOMMEND_IP=${HOST_IP:-192.168.1.101}
|
||||||
- JAVA_OPTS=-Xms256m -Xmx512m
|
- JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -446,6 +452,7 @@ services:
|
|||||||
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
||||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||||
- SENTINEL_DASHBOARD_PORT=8080
|
- SENTINEL_DASHBOARD_PORT=8080
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.101}
|
||||||
- ADMIN_IP=${HOST_IP:-192.168.1.101}
|
- ADMIN_IP=${HOST_IP:-192.168.1.101}
|
||||||
- JAVA_OPTS=-Xms256m -Xmx512m
|
- JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|||||||
@@ -211,6 +211,7 @@ services:
|
|||||||
- NACOS_SERVERS=${NACOS_SERVERS:-192.168.1.101:8848,192.168.1.102:8848,192.168.1.103:8848}
|
- NACOS_SERVERS=${NACOS_SERVERS:-192.168.1.101:8848,192.168.1.102:8848,192.168.1.103:8848}
|
||||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||||
- SENTINEL_DASHBOARD_PORT=8080
|
- SENTINEL_DASHBOARD_PORT=8080
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.102}
|
||||||
- GATEWAY_IP=${HOST_IP:-192.168.1.102}
|
- GATEWAY_IP=${HOST_IP:-192.168.1.102}
|
||||||
- JAVA_OPTS=-Xms256m -Xmx512m
|
- JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -247,6 +248,7 @@ services:
|
|||||||
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
||||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||||
- SENTINEL_DASHBOARD_PORT=8080
|
- SENTINEL_DASHBOARD_PORT=8080
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.102}
|
||||||
- AUTH_IP=${HOST_IP:-192.168.1.102}
|
- AUTH_IP=${HOST_IP:-192.168.1.102}
|
||||||
- JAVA_OPTS=-Xms256m -Xmx512m
|
- JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -287,6 +289,7 @@ services:
|
|||||||
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
||||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||||
- SENTINEL_DASHBOARD_PORT=8080
|
- SENTINEL_DASHBOARD_PORT=8080
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.102}
|
||||||
- USER_IP=${HOST_IP:-192.168.1.102}
|
- USER_IP=${HOST_IP:-192.168.1.102}
|
||||||
- JAVA_OPTS=-Xms256m -Xmx512m
|
- JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -334,6 +337,7 @@ services:
|
|||||||
- MINIO_BUCKET=video-platform
|
- MINIO_BUCKET=video-platform
|
||||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||||
- SENTINEL_DASHBOARD_PORT=8080
|
- SENTINEL_DASHBOARD_PORT=8080
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.102}
|
||||||
- CONTENT_IP=${HOST_IP:-192.168.1.102}
|
- CONTENT_IP=${HOST_IP:-192.168.1.102}
|
||||||
- JAVA_OPTS=-Xms256m -Xmx512m
|
- JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -378,6 +382,7 @@ services:
|
|||||||
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
||||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||||
- SENTINEL_DASHBOARD_PORT=8080
|
- SENTINEL_DASHBOARD_PORT=8080
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.102}
|
||||||
- COMMENT_IP=${HOST_IP:-192.168.1.102}
|
- COMMENT_IP=${HOST_IP:-192.168.1.102}
|
||||||
- JAVA_OPTS=-Xms256m -Xmx512m
|
- JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -418,6 +423,7 @@ services:
|
|||||||
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
||||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||||
- SENTINEL_DASHBOARD_PORT=8080
|
- SENTINEL_DASHBOARD_PORT=8080
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.102}
|
||||||
- RECOMMEND_IP=${HOST_IP:-192.168.1.102}
|
- RECOMMEND_IP=${HOST_IP:-192.168.1.102}
|
||||||
- JAVA_OPTS=-Xms256m -Xmx512m
|
- JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -458,6 +464,7 @@ services:
|
|||||||
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-redis_HA_Cluster_2024}
|
||||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||||
- SENTINEL_DASHBOARD_PORT=8080
|
- SENTINEL_DASHBOARD_PORT=8080
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.102}
|
||||||
- ADMIN_IP=${HOST_IP:-192.168.1.102}
|
- ADMIN_IP=${HOST_IP:-192.168.1.102}
|
||||||
- JAVA_OPTS=-Xms256m -Xmx512m
|
- JAVA_OPTS=-Xms256m -Xmx512m
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ docker exec mysql mysql -uroot -proot123456 -e "SHOW DATABASES;"
|
|||||||
#### 在 Node-01 (主节点) 创建复制用户
|
#### 在 Node-01 (主节点) 创建复制用户
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker exec mysql mysql -uroot -proot123456 << 'EOF'
|
docker exec -i mysql mysql -uroot -proot123456 << 'EOF'
|
||||||
CREATE USER IF NOT EXISTS 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'repl_password_2024';
|
CREATE USER IF NOT EXISTS 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'repl_password_2024';
|
||||||
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
|
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
|
||||||
FLUSH PRIVILEGES;
|
FLUSH PRIVILEGES;
|
||||||
@@ -276,7 +276,7 @@ EOF
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 在 Node-02 执行
|
# 在 Node-02 执行
|
||||||
docker exec mysql mysql -uroot -proot123456 << 'EOF'
|
docker exec -i mysql mysql -uroot -proot123456 << 'EOF'
|
||||||
CHANGE MASTER TO
|
CHANGE MASTER TO
|
||||||
MASTER_HOST='192.168.1.101',
|
MASTER_HOST='192.168.1.101',
|
||||||
MASTER_USER='repl',
|
MASTER_USER='repl',
|
||||||
@@ -294,7 +294,7 @@ docker exec mysql mysql -uroot -proot123456 -e "SET GLOBAL read_only = ON; SET G
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 在 Node-03 执行 (同上)
|
# 在 Node-03 执行 (同上)
|
||||||
docker exec mysql mysql -uroot -proot123456 << 'EOF'
|
docker exec -i mysql mysql -uroot -proot123456 << 'EOF'
|
||||||
CHANGE MASTER TO
|
CHANGE MASTER TO
|
||||||
MASTER_HOST='192.168.1.101',
|
MASTER_HOST='192.168.1.101',
|
||||||
MASTER_USER='repl',
|
MASTER_USER='repl',
|
||||||
@@ -673,6 +673,31 @@ video-gateway:
|
|||||||
|
|
||||||
**验证**:重启微服务后,Nacos 控制台应显示真实宿主机 IP(如 `192.168.1.101:9000`、`192.168.1.102:9000`)
|
**验证**:重启微服务后,Nacos 控制台应显示真实宿主机 IP(如 `192.168.1.101:9000`、`192.168.1.102:9000`)
|
||||||
|
|
||||||
|
### Q13: Sentinel 控制台显示容器内部 IP 或实例失联
|
||||||
|
|
||||||
|
**问题描述**:
|
||||||
|
- Sentinel 控制台显示机器列表 IP 为 `172.18.0.x` 等 Docker 内部 IP
|
||||||
|
- 部分实例显示"失联"状态,健康实例数不正确
|
||||||
|
- 跨节点无法进行限流降级
|
||||||
|
|
||||||
|
**原因**:与 Nacos 问题类似,Sentinel 客户端使用容器内部 IP 注册到 Dashboard,导致跨节点无法通信。
|
||||||
|
|
||||||
|
**解决方案**:在 docker-compose 中添加 `SPRING_CLOUD_SENTINEL_CLIENT_IP` 环境变量:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# Node-01 (192.168.1.101)
|
||||||
|
video-gateway:
|
||||||
|
environment:
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.101}
|
||||||
|
|
||||||
|
# Node-02 (192.168.1.102)
|
||||||
|
video-gateway:
|
||||||
|
environment:
|
||||||
|
- SPRING_CLOUD_SENTINEL_CLIENT_IP=${HOST_IP:-192.168.1.102}
|
||||||
|
```
|
||||||
|
|
||||||
|
**验证**:重启微服务后,Sentinel 控制台应显示真实宿主机 IP,且所有实例状态为"健康"
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 七、日常运维
|
## 七、日常运维
|
||||||
|
|||||||
Reference in New Issue
Block a user