返回博客

探索 CloudSigma PaaS:如何通过公网 IP 访问 Kubernetes 应用程序

探索 CloudSigma PaaS:如何通过公网 IP 访问 Kubernetes 应用程序

CloudSigma PaaS 允许用户使用公共 IP 地址公开其应用程序。此地址需要附加到来自 Kubernetes 集群 环境。在 CloudSigma PaaS 环境中,有两种方法可以实现这一点:

  • 一种方法是将公共 IP 附加到专用负载均衡器。1-Public IP for Access to Kubernetes Application in Jelastic PaaS
  • 另一种方法是将公共 IP 附加到 Kubernetes 的 Worker 节点。

在本教程中, 我们将指导您如何使用这两种方法之一来获取 Kubernetes 应用程序访问权限。

为 Kubernetes 应用程序访问设置专用负载均衡器

首先,我们将学习如何设置 专用负载均衡器 以进行应用程序访问:

  1. 前往 CloudSigma Marketplace 以查找并安装 Kubernetes 集群。然后,部署您的应用程序。作为一个示例,我们将部署 Jakarta EE Cargo Tracker.
  2. 在您的 Kubernetes 集群旁,找到并单击 更改环境拓扑。在屏幕上打开的窗口中,添加一个专用负载均衡器节点。然后,像这样向其附加一个公共 IP 地址:

2-Public IP Jelastic PaaS

在我们的示例中,我们使用了 NGINX 负载均衡器节点。还有多种其他可用的负载均衡器,包括 HAProxy, LS Web ADC 和 Varnish。您可以选择您喜欢使用的任何一种。

完成拓扑修改后,应用的变化将如下所示:

3-Public IP for Access to Kubernetes Application in Jelastic PaaS

4-Public IP for Access to Kubernetes Application in Jelastic PaaS

3. 下一步是为自定义域名创建 A 记录。您将使用在前面步骤中使用的相同公共 IP 地址。在此示例中,我们将使用 cargo-tracker.cloudsigma.website:

5-Public IP for Access to Kubernetes Application in Jelastic PaaS

4. 现在我们可以将自定义域名附加到 K8s 集群。为此,我们将发送请求以签发受信任的 Let’s Encrypt SSL 证书:

  • 将鼠标悬停在负载均衡器上并单击 Add-Ons.
  • 找到并安装 Let’s Encrypt Free SSL:

6-Public IP for Access in Jelastic PaaS-02

  • 在配置中,输入您的自定义域名,然后单击 安装。在我们的例子中,域名如下:

7-Public IP for Access to Kubernetes Application in Jelastic PaaS-

最后,我们现在已经使我们的应用程序可以通过自定义域名进行访问 https://cargo-tracker.cloudsigma.website。我们还使用有效且受信任的 Let’s Encrypt SSL 证书对应用程序上的流量进行了加密。

使用 Kubernetes Worker 节点公共 IP 地址获取应用程序访问权限

接下来,我们将探讨使应用程序在 Kubernetes 集群外部可用的另一种方法。本质上,我们将学习如何将公共 IP 地址附加到 Kubernetes 集群中的 worker 节点,以便直接访问该应用程序:

8-Public IP for Access to Kubernetes Application in Jelastic PaaS

让我们继续使用之前向您展示的相同示例。我们将使用部署了 Cargo Tracker 应用程序的相同集群。以下是操作步骤:

1. 单击 更改环境拓扑。 将公共 IP 地址添加到 worker 节点:

9.1-Public IP for Access in Jelastic PaaS

2. 接下来,为您的自定义域名创建 A 记录并将其映射到您刚刚添加的 IP。请确保您使用的域名与前一章中使用的域名不同。例如,我们将使用以下域名:cargo-tracker-worker.cloudsigma.website:

9.2-Public IP for Access to Kubernetes Application in Jelastic PaaS

3. 将鼠标悬停在 Control Plane 或 Master 节点上并单击 Add-Ons。找到并安装 Certificate Manager。这将安装一个 cert-manager 控制器以及一个具有 LoadBalancer 服务类型的 NGINX ingress 控制器。后者包含与您的 worker 节点关联的 IP 地址。它将提供 “nginx-cert” ingress 类资源:

10-Public IP for Access to Kubernetes Application in Jelastic PaaS-01

4. 在给定字段中,输入您首选的域名,然后单击 应用:

11-Public IP for Access to Kubernetes Application in Jelastic PaaS

5. 在安装时,该插件还会安装一个名为 helloworld-cert. 您只需使用以下命令删除它使用的资源:

这些命令应使用以下方式输入并执行: SSH (SFTP)Web SSH Gate Control PlaneMaster Node。将鼠标悬停在节点上,然后单击 Web SSH 旁边的选项以访问网关。

另一个选项是将鼠标悬停在 控制平面 主节点 并单击 配置。从这里,转到 SFTP/SSH 网关 并按照给出的说明进行操作。

6. 为了终止应用程序 SSL 流量并处理到 cargo-tracker 服务的路由,我们需要创建一个名为 cargo-tracker-worker。 假设我们使用的是 cargo-tracker-worker-ingress.yaml。 您可以使用诸如 vi 之类的编辑器来创建文件,然后粘贴以下代码:

之后,按如下步骤操作:

7. 创建此 Ingress 后,证书管理器(Certificate Manager)将自动为您的新域名签发 Let’s Encrypt SSL 证书。请等待一两分钟,然后再检查您的应用程序是否可以在新的自定义域名上访问,在我们的示例中,该域名为 https://cargo-tracker-worker.cloudsigma.website

瞧!通过遵循这些步骤,您已使用两种不同的方法公开了您的应用程序。因此,您将看到两个 Ingress。对我们来说,它们是:

  • cargo-tracker

此 Ingress 用于处理通过专用负载均衡器的公网 IP 进入的应用程序流量。

  • cargo-tracker-worker

此 Ingress 设置为处理直接从绑定到 K8s 工作节点的 IP 流入的应用程序流量。

它们将显示如下:

12-Public IP for Access in Jelastic PaaS

根据您选择的实现方式,您在生产环境中只需要一个 ingress。CloudSigma PaaS 为其用户提供了许多工具来执行负载均衡,以满足其应用程序的需求。欢迎阅读并了解更多关于负载均衡在平台上的应用。我们还提供了关于使用诸如NGINXHAProxy等其他可用工具进行负载均衡的基础知识的详细指南。

您可以对 CloudSigma’s PaaS进行体验,通过我们的 7天免费试用,或者 联系我们,如果您希望我们为您提供更多详情和平台演示。 

免费试用 7 天

author

Zhenya Mocheva

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的创意设计师,专注于通过传统和创新营销渠道打造一致的企业形象。他擅长将艺术愿景与战略营销相融合,创造具有影响力的品牌叙事。

评论

暂无评论。发表第一条评论吧。