100映射,本地可访问
parent
f986017688
commit
ca2c1be7a8
|
|
@ -0,0 +1,181 @@
|
|||
# GBS Dubbo NodePort 映射与还原记录
|
||||
|
||||
记录时间:2026-07-03
|
||||
|
||||
## 背景
|
||||
|
||||
本地项目连接 100 开发环境 Nacos 后,Dubbo consumer 从 `jjb-dragon-facade` 获取到的 provider 地址是 k8s Pod IP,例如:
|
||||
|
||||
```text
|
||||
10.244.178.143:20880
|
||||
```
|
||||
|
||||
本地电脑无法直连 k8s Pod 网段,因此曾临时采用方案 A:通过 NodePort 暴露 k8s 内 Dubbo provider,并让 provider 注册 `192.168.20.100:32xxx` 到 Nacos。
|
||||
|
||||
## 临时映射操作
|
||||
|
||||
### 1. 创建 Dubbo NodePort Service
|
||||
|
||||
为实际注册 Dubbo provider 的底座服务创建 `*-dubbo` NodePort Service,端口范围如下:
|
||||
|
||||
```text
|
||||
jjb-saas-system 32080
|
||||
jjb-saas-auth 32081
|
||||
jjb-saas-events 32082
|
||||
jjb-saas-security 32083
|
||||
jjb-saas-message 32084
|
||||
jjb-saas-login 32085
|
||||
jjb-saas-base 32086
|
||||
jjb-saas-process-layout 32087
|
||||
jjb-saas-user 32088
|
||||
jjb-saas-official 32089
|
||||
jjb-saas-facade 32090
|
||||
jjb-saas-open-platform 32091
|
||||
jjb-saas-application 32092
|
||||
jjb-saas-attachment 32093
|
||||
jjb-saas-formily-design 32094
|
||||
jjb-saas-desk 32095
|
||||
jjb-saas-config 32096
|
||||
jjb-saas-document 32097
|
||||
jjb-saas-component-design 32098
|
||||
jjb-saas-view 32099
|
||||
jjb-saas-gateway 32100
|
||||
```
|
||||
|
||||
Service 结构示例:
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: jjb-saas-message-dubbo
|
||||
namespace: jjb-dragon
|
||||
spec:
|
||||
type: NodePort
|
||||
selector:
|
||||
app: jjb-saas-message-pod
|
||||
ports:
|
||||
- name: dubbo
|
||||
protocol: TCP
|
||||
port: 20880
|
||||
targetPort: 20880
|
||||
nodePort: 32084
|
||||
```
|
||||
|
||||
### 2. 设置 Deployment 运行时环境变量
|
||||
|
||||
给对应 Deployment 设置:
|
||||
|
||||
```bash
|
||||
kubectl set env deployment/<service>-deploy -n jjb-dragon \
|
||||
DUBBO_IP_TO_REGISTRY=192.168.20.100 \
|
||||
DUBBO_PORT_TO_REGISTRY=<nodePort>
|
||||
```
|
||||
|
||||
示例:
|
||||
|
||||
```bash
|
||||
kubectl set env deployment/jjb-saas-message-deploy -n jjb-dragon \
|
||||
DUBBO_IP_TO_REGISTRY=192.168.20.100 \
|
||||
DUBBO_PORT_TO_REGISTRY=32084
|
||||
```
|
||||
|
||||
### 3. 开放防火墙端口
|
||||
|
||||
```bash
|
||||
firewall-cmd --permanent --add-port=32080-32100/tcp
|
||||
firewall-cmd --reload
|
||||
```
|
||||
|
||||
### 4. 临时映射备份位置
|
||||
|
||||
```text
|
||||
/root/codex-backups/dubbo-nodeport-20260703125329
|
||||
```
|
||||
|
||||
## 还原操作
|
||||
|
||||
用户要求 100 环境不要映射 Dubbo 到外部端口,因此已执行还原。
|
||||
|
||||
### 1. 清理 Deployment 环境变量
|
||||
|
||||
```bash
|
||||
kubectl set env deployment/<service>-deploy -n jjb-dragon \
|
||||
DUBBO_IP_TO_REGISTRY- \
|
||||
DUBBO_PORT_TO_REGISTRY-
|
||||
```
|
||||
|
||||
### 2. 删除 Dubbo NodePort Service
|
||||
|
||||
```bash
|
||||
kubectl delete svc <service>-dubbo -n jjb-dragon --ignore-not-found=true
|
||||
```
|
||||
|
||||
已删除范围:
|
||||
|
||||
```text
|
||||
jjb-saas-application-dubbo
|
||||
jjb-saas-attachment-dubbo
|
||||
jjb-saas-auth-dubbo
|
||||
jjb-saas-base-dubbo
|
||||
jjb-saas-component-design-dubbo
|
||||
jjb-saas-config-dubbo
|
||||
jjb-saas-desk-dubbo
|
||||
jjb-saas-document-dubbo
|
||||
jjb-saas-events-dubbo
|
||||
jjb-saas-facade-dubbo
|
||||
jjb-saas-formily-design-dubbo
|
||||
jjb-saas-gateway-dubbo
|
||||
jjb-saas-login-dubbo
|
||||
jjb-saas-message-dubbo
|
||||
jjb-saas-official-dubbo
|
||||
jjb-saas-open-platform-dubbo
|
||||
jjb-saas-process-layout-dubbo
|
||||
jjb-saas-security-dubbo
|
||||
jjb-saas-system-dubbo
|
||||
jjb-saas-user-dubbo
|
||||
jjb-saas-view-dubbo
|
||||
```
|
||||
|
||||
### 3. 关闭防火墙端口
|
||||
|
||||
```bash
|
||||
firewall-cmd --permanent --remove-port=32080-32100/tcp
|
||||
firewall-cmd --reload
|
||||
```
|
||||
|
||||
### 4. 还原前备份位置
|
||||
|
||||
```text
|
||||
/root/codex-backups/dubbo-nodeport-restore-20260703180914
|
||||
```
|
||||
|
||||
## 还原后验证
|
||||
|
||||
### k8s 验证
|
||||
|
||||
```bash
|
||||
kubectl get svc -n jjb-dragon | grep -- '-dubbo'
|
||||
kubectl get deploy -n jjb-dragon -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.spec.template.spec.containers[0].env}{"\n"}{end}' | grep 'DUBBO_.*TO_REGISTRY'
|
||||
```
|
||||
|
||||
结果:无 `*-dubbo` Service,无 `DUBBO_IP_TO_REGISTRY` / `DUBBO_PORT_TO_REGISTRY` 环境变量。
|
||||
|
||||
### 本机端口验证
|
||||
|
||||
从本机测试:
|
||||
|
||||
```text
|
||||
192.168.20.100:32080-32100 全部 CLOSED
|
||||
```
|
||||
|
||||
### Nacos 验证
|
||||
|
||||
`jjb-dragon-facade` 中不再存在 `192.168.20.100:32xxx` provider。服务重启后重新回到 k8s 内部注册方式,即 Pod IP,例如 `10.244.*:20880`。
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 本次还原没有修改本地项目代码。
|
||||
2. 本次还原没有重新打镜像。
|
||||
3. 本次还原会使本地电脑不能再通过 `192.168.20.100:32xxx` 直连 k8s 内 Dubbo provider。
|
||||
4. 如后续仍需要本地调用 k8s Dubbo 服务,建议优先采用独立 local-dev namespace 或 VPN/内网路由方案,避免影响正式线上环境。
|
||||
|
|
@ -0,0 +1,247 @@
|
|||
|
||||
底座基础镜像
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
名称
|
||||
|
||||
|
||||
镜像地址
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-application-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-application:ota-20260304-2
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-attachment-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-dragon-jjb-saas-attachment-v2:ipass-20250906-2
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-auth-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-auth:ota-20260528-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-base-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-base:ota-20260528-2
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-bpm-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-bpm:ota-20251111-2
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-component-design-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-component-design:ota-20251111-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-config-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-config:ota-20260115-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-data-center-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-data-center:ota-20251111-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-desk-deploy
|
||||
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-desk:ota-20260116-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-document-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-document:ota-20250617-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-events-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-events:ota-20251119-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-facade-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-facade:ota-20260603-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-formily-design-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/wbyw-dragon-jjb-saas-formily-design:wb-20250904-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-gateway-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-gateway:oat-20250902-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-login-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-login:ota-20251216-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-message-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-message:ota-20260317-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-netty-server-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-netty-server:ota-20250820-3
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-official-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-dragon-jjb-saas-official-v2:ipass-20250816-2
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-open-platform-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-open-platform:ota-20260401-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-process-layout-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-process-layout:ota-20250926-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-security-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-dragon-jjb-saas-security-v2:ipass-20250906-2
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-system-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-system:ota-20260427-1
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-user-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-user:20251107-1808
|
||||
|
||||
|
||||
|
||||
|
||||
jjb-saas-view-deploy
|
||||
|
||||
|
||||
jjb-registry-registry.cn-hangzhou.cr.aliyuncs.com/ali_img_ns/prod-aly-ota-dragon-jjb-saas-view:ota-20241129-1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue