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

相关推荐
江畔何人初10 小时前
pod的定义以及创建过程
linux·运维·云原生
等什么君!12 小时前
docker -数据卷技术
运维·docker·容器
花酒锄作田12 小时前
Debian 13基于kubeadm和containerd部署单节点kubernetes
kubernetes·containerd·cilium
上天_去_做颗惺星 EVE_BLUE13 小时前
Docker高效使用指南:从基础到实战模板
开发语言·ubuntu·docker·容器·mac·虚拟环境
Gary董14 小时前
高并发的微服务架构如何设计
微服务·云原生·架构
东哥爱编程14 小时前
使用Runpod进行gpu serverless推理
云原生·serverless
好好沉淀14 小时前
Docker开发笔记(详解)
运维·docker·容器
Ankie Wan15 小时前
cgroup(Control Group)是 Linux 内核提供的一种机制,用来“控制、限制、隔离、统计”进程对系统资源的使用。
linux·容器·cgroup·lxc
lcx_defender17 小时前
【Docker】Docker部署运行nacos
运维·docker·容器
啦啦啦小石头17 小时前
docker添加用户权限不使用sudo
运维·docker·容器