【问题标题】:Best practice to publish K8s to internet将 K8s 发布到互联网的最佳实践
【发布时间】:2020-05-23 11:46:54
【问题描述】:

我有一个 K8s 集群,我想将它发布到互联网上。将 K8s 发布到互联网的最佳实践是什么?

K8s 安装在 3 个 VPS 的服务器上,并且在私有网络中。

我有以下想法:

使用代理。请求将通过代理并转发到 K8s。

或者直接到K8s。

【问题讨论】:

  • 发布k8s集群、服务还是api平面是什么意思?
  • 对不起,我的意思是发布我的服务。
  • 您的平台/基础设施是什么?你的 Kubernetes 版本是什么?你使用 kubeadm?
  • 平台是baremetal,一个由3个VPS组成的集群。 K8s的版本是1.16,我已经用Kubespray安装了。

标签: kubernetes


【解决方案1】:

一种方法是“OpenShift 路由器”样式 - 您有一个(或多个)节点,该节点具有公共 IP,并将其加入 K8s 集群,上面有一些不同的标签。然后你使用 NodeSelector 和 hostNetwork=true 在这个节点上启动像 Nginx 这样的入口控制器。在此方案中,Nginx 入口将在 Internet 上可用,并且能够发布您的服务。

另一种方法是拥有同一个公网IP的代理节点(不加入K8s),并使其对所有K8s节点的请求进行负载均衡。然后,您可以使用 NodePort 发布服务并为每个服务配置代理。或者您可以在 K8s 中将 Nginx 入口作为 NodePort 启动,并将来自代理节点的请求转发到 Nginx 入口 NodePort。

我更喜欢第一个选项,因为它更易于配置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 2011-07-11
    • 1970-01-01
    • 2020-12-19
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    相关资源
    最近更新 更多