连接k8s内网vpn教程

由于项目向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-testtfp-dev是k8s的命名空间的信息,zookeeper是命名空间内部相互访问的域名。

openvpn

  1. 搭建openvpn服务器,此服务器可访问k8s pod ip
  2. 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 |

使用说明

  1. 下载客户端、key文件,
  2. 一路下一步安装好客户端,
  3. 启动后,右键任务栏托盘区小图标,导入配置,选中那个key文件,
  4. 右键连接。

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,多个应该同理。

相关推荐
xy_recording10 分钟前
学习番外:Docker和K8S理解
学习·docker·kubernetes
虚伪的空想家1 小时前
K8S的dashboard部署与访问
云原生·容器·kubernetes·k8s·web·dashboard
BBluster1 小时前
Kubernetes(K8S)入门以及命令指南
云原生·容器·kubernetes
韩zj1 小时前
docker部署Gitlab社区版,步骤以及外网访问出现502的解决方式
docker·容器·gitlab
走上未曾设想的道路1 小时前
gitlab流水线与k8s集群的联通
kubernetes·gitlab
一个向上的运维者7 小时前
详细解读k8s的kind中service与pod的区别
容器·k8s
橙*^O^*安9 小时前
Go 语言基础:变量与常量
运维·开发语言·后端·golang·kubernetes
_Walli_12 小时前
k8s集群搭建(三)-------- Dashboard UI
云原生·容器·kubernetes
运维成长记13 小时前
云原生监控系统 Prometheus大总结 20250909
云原生·prometheus
橙*^O^*安17 小时前
Kubernetes集群部署Jenkins指南
云原生·容器·kubernetes·jenkins·devops