青蛙小白

使用OpenVPN将Kubernetes集群网络暴露给本地开发网络

Kubernetes集群内部是一套单独的网络,与外部网络相隔离,Kubernetes提供了NodePort、LoadBalancer、Ingress等方式用于将集群内部的Service暴露到集群外部, 但这些方式都更适用于将边缘服务暴露出去。例如,一个产品由很多微服务组成,这些微服务大多数都是内部服务,只有少数作为边缘服务需要暴露到集群外部供用户使用。 而开发人员是存在从Kubernetes外部访问和调试这些内部服务的需求的,尤其是针对测试环境的Kubernetes集群,这个需求更加必要。针对这个需求,有以下两种实现方式:

团队环境:OpenVPN安装

为了方便团队成员从异地访问开发环境,考虑使用OpenVPN搭建虚拟局域网。部署的环境和版本信息如下: CentOS 7 OpenVPN 1.easy-rsa生成证书 从这里下载easy-rsa。 unzip easy-rsa-old-master.zip cd easy-rsa-old-master/easy-rsa/2.0 ls build-ca build-key-pkcs12 inherit-inter pkitool build-dh build-key-server list-crl revoke-full build-inter build-req openssl-0.9.6.cnf sign-req build-key build-req-pass openssl-0.9.8.cnf vars build-key-pass clean-all openssl-1.0.0.cnf whichopensslcnf ln -s openssl-1.0.0.cnf openssl.cnf 可修改vars文件中定义的变量用于生成证书的基本信息。下面生成CA证书: