通过代理和clusterIP连接Kube集群?

时间:2019-10-07 11:55:44

标签: kubernetes

正如各种Google文章(示例:this blog)所指出的那样,这种(通过代理和clusterIP连接Kube集群)方法不适用于生产环境,但对开发很有用。

我的问题是为什么它不适合生产?为什么通过nodeport服务进行连接比代理和clusterIP更好?

1 个答案:

答案 0 :(得分:2)

让我们区分需要连接到群集的三种情况

  1. 连接到Kubernetes API服务器 为了管理目的,需要连接到API服务器。您的应用程序的用户与它无关。 可以使用以下选项

    • 通过HTTPS直接连接到主IP
    • Kubectl Proxy使用kubectl proxy使Kubernetes API在本地主机上可用。
  2. 将外部流量连接到在Kubernetes集群中运行的应用程序。您想在这里向您的用户公开您的应用程序。您需要配置Service,它们可以为以下类型

    • NodePort :仅在> 30000的NodeIP和端口上可访问
    • ClusterIP :仅供内部使用。外部流量无法直接访问ClusterIP类型的服务。需要入口资源和入口控制器来接收外部流量。
    • LoadBalancer :允许您接收到一项服务和一项服务的外部流量

入口:这不是一种服务,而是另一种Kubernetes资源。例如,通过配置NGINX Ingress,您可以仅在外部LoadBalancer上处理到多个ClusterIP服务的流量。

  1. 开发人员需要对Pod /服务进行故障排除: kubectl port-forwardPort forwarding example要求在系统上配置kubectl,因此不能用于所有应用程序的用户

从以上说明中可以看到,代理和端口转发选项对于将外部流量连接到正在运行的应用程序不是可行的选项,因为它需要安装kubectl并配置有效的{{1 }}授予对您群集的访问权限。