正如各种Google文章(示例:this blog)所指出的那样,这种(通过代理和clusterIP连接Kube集群)方法不适用于生产环境,但对开发很有用。
我的问题是为什么它不适合生产?为什么通过nodeport服务进行连接比代理和clusterIP更好?
答案 0 :(得分:2)
让我们区分需要连接到群集的三种情况
连接到Kubernetes API服务器 为了管理目的,需要连接到API服务器。您的应用程序的用户与它无关。 可以使用以下选项
kubectl proxy
使Kubernetes API在本地主机上可用。将外部流量连接到在Kubernetes集群中运行的应用程序。您想在这里向您的用户公开您的应用程序。您需要配置Service,它们可以为以下类型
入口:这不是一种服务,而是另一种Kubernetes资源。例如,通过配置NGINX Ingress,您可以仅在外部LoadBalancer上处理到多个ClusterIP服务的流量。
kubectl port-forward
:Port forwarding example要求在系统上配置kubectl
,因此不能用于所有应用程序的用户从以上说明中可以看到,代理和端口转发选项对于将外部流量连接到正在运行的应用程序不是可行的选项,因为它需要安装kubectl
并配置有效的{{1 }}授予对您群集的访问权限。