我想使用完全使用私有拓扑的KOPS创建一个kubernetes集群(所有主节点/工作节点都在私有子网中,API ELB是内部的)。
创建集群后-如何配置kubectl通过堡垒服务器使用ssh隧道?
答案 0 :(得分:2)
我找到了一种方法,使kubectl
可以通过SSH隧道运行,这并不理想,但是直到找到更好的方法,我才将其发布。
首先创建隧道:
ssh -f user@XX.XX.XXX.XX -L 6443:localhost:6443 -N
然后将~/.kube/config
文件复制到本地计算机上,并更改群集server
,以指向127.0.0.1,而不是服务器URL或IP地址。
在为创建主节点的服务器制作证书时,会出现以下错误:
Unable to connect to the server: x509: certificate is valid for 10.96.0.1, 10.0.0.1, not 127.0.0.1
您必须通过--insecure-skip-tls-verify=true
标志:
kubectl --insecure-skip-tls-verify=true version
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.3", GitCommit:"5e53fd6bc17c0dec8434817e69b04a25d8ae0ff0", GitTreeState:"clean", BuildDate:"2019-06-06T01:44:30Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.1", GitCommit:"4485c6f18cee9a5d3c3b4e523bd27972b1b53892", GitTreeState:"clean", BuildDate:"2019-07-18T09:09:21Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
我希望这会有所帮助,并且希望找到避免此--insecure-skip-tls-verify=true
标志的更好方法。
答案 1 :(得分:-1)
您仅可以通过SSH使用VPN,这对于您的kubectl来说是透明的,示例工具:https://github.com/sshuttle/sshuttle使用SSH和iptables创建VPN隧道
要求在堡垒主机上至少有python 2.3。