由于项目向zookeeper等注册中心注册的ip是k8s虚拟内网ip,比如10.244.x.x
,开发主机识别不了这个ip地址, 连接不到通过注册中心注册的服务,所以采用vpn的方式将特定ip地址的解析映射进k8s内网。
注意:要使用k8s域名地址,需要先连上这个vpn。
访问k8s集群里面的zookeeper:
已连接vpn的情况下,使用长域名,比如:
zookeeper.tfp-test.svc.cluster.local
redis.tfp-test.svc.cluster.local
zookeeper.tfp-dev.svc.cluster.local
redis.tfp-dev.svc.cluster.local
中间的变动tfp-test
、tfp-dev
是k8s的命名空间的信息,zookeeper
是命名空间内部相互访问的域名。
openvpn
- 搭建openvpn服务器,此服务器可访问k8s pod ip
- openvpn windows 客户端下载,里面的openvpn-install-2.4.8-I602-WinXXX.exe
key文件:
|-------------------|--------------|-----------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 集群 | ip | key文件 | 验证地址 |
| k8s.fingard.cn | 10.60.44.219 | saas-k8s.ovpn | http://kuboard.kube-system.svc.cluster.local |
| luna.fingard.cn | 10.60.44.251 | luna-k8s.ovpn | http://kuboard.kube-system.svc.cluster.local |
| avatar.fingard.cn | 10.60.44.214 | avatar-k8s.ovpn | http://eolinker.ingress-out.svc.cluster.local:8400/eolinker_os/index.html |
使用说明
- 下载客户端、key文件,
- 一路下一步安装好客户端,
- 启动后,右键任务栏托盘区小图标,导入配置,选中那个key文件,
- 右键连接。
faq
使用不了其他网络
使用openvpn,访问不了百度之类的网站。
解决: 客户端配置注释掉这样的一行
# block-outside-dns
k8s内部域名不能访问
dns的问题。openvpn一般会自动设置新开启网卡的dns,但有时候会失败。这时可以手动设置解决。
找到kube-system命名空间下coredns 的servcice kube-dns的ip地址。把openvpn的网卡dns改下。
同时连两个openvpn
已管理员身份执行以下文件:
C:\Program Files\TAP-Windows\bin\addtap.bat
效果是添加一块虚拟网卡。 执行之后就可以同时连两个openvpn,多个应该同理。