Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes kubectl端口转发和代理之间的区别_Kubernetes - Fatal编程技术网

Kubernetes kubectl端口转发和代理之间的区别

Kubernetes kubectl端口转发和代理之间的区别,kubernetes,Kubernetes,kubectl代理和kubectl端口转发看起来很相似,有时让我感到困惑,我想知道它们的区别和它们自己的用例。如中所述“” kubectl端口转发将连接到本地端口的连接转发到pod上的端口 与kubectl-proxy相比,kubectl-port-forward更通用,因为它可以转发TCP流量,而kubectl-proxy只能转发HTTP流量 例如,请参见以下内容中的“”: 端口转发主要用于访问内部群集资源和调试 它是如何工作的 一般来说,使用端口转发,您可以在“本地主机”上获得集群中启动的任

kubectl代理
kubectl端口转发
看起来很相似,有时让我感到困惑,我想知道它们的区别和它们自己的用例。

如中所述“”

kubectl端口转发
将连接到本地端口的连接转发到pod上的端口

kubectl-proxy
相比,
kubectl-port-forward
更通用,因为它可以转发TCP流量,而
kubectl-proxy
只能转发HTTP流量

例如,请参见以下内容中的“”:

端口转发主要用于访问内部群集资源和调试

它是如何工作的

一般来说,使用端口转发,您可以在“本地主机”上获得集群中启动的任何服务。
例如,如果您在6379上的集群中安装了Redis,请使用以下命令:

kubectl port-forward redis-master-765d459796-258hz 7000:6379
您可以将Redis从集群转发到localhost:7000,在本地访问它,并使用它执行任何操作

有关有限的HTTP访问,请参见kubectl proxy,并以“发件人”为例:

访问集群最简单也是最常见的方法是通过kubectl代理。这将创建一个本地web服务器,该服务器通过Kubernetes API服务器将数据安全地代理到仪表板

如“”所示,从:

使用kubectl访问仪表板

kubectl proxy
它将在您的机器和Kubernetes API服务器之间代理服务器

现在,要在浏览器中查看仪表板,请在主VM的浏览器中导航到以下地址:

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/