如“kubectl port-转发如何工作?”中所述
kubectl port-转发
将到本地端口的连接转发到pod上的端口。
与kubectl proxy相比,kubectl port-转发更通用,因为它可以转发TCP流量,而kubectl proxy只能转发HTTP流量。
例如,参见亚历克斯·巴拉什科夫的“库伯内特斯端口转发前所未有的简单”:
端口转发主要用于访问内部集群资源和调试。
它是如何工作的?
一般来说,使用端口转发,您可以在“localhost”上获取集群中启动的任何服务。
例如,如果您在6379上的集群中安装了Redis,则使用如下命令:
kubectl port-forward redis-master-765d459796-258hz 7000:6379
您可以将Redis从集群转发到localhost:7000,在本地访问它并对其执行任何操作。
有关有限的HTTP访问,请参阅kubectl代理,例如Joe Beda的“保护库伯内特斯仪表板”:
访问集群最简单和最常见的方法是通过kubectl代理。这将创建一个本地Web服务器,通过库伯内特斯API服务器安全地将数据代理到仪表板。
如“安装分步指南”所示
kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
使用kubectl访问仪表板
kubectl proxy
它将代理服务器之间您的机器和库伯内特斯API服务器。
现在,要在浏览器中查看仪表板,请在主VM的浏览器中导航到以下地址:
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/