You need to enable JavaScript to run this app.
导航

集群内应用对外暴露服务

最近更新时间2023.06.07 20:21:51

首次发布时间2021.12.17 18:56:34

本文主要描述容器服务集群中的应用,如何对外暴露服务,满足公网用户访问应用。

概述

集群中的工作负载允许通过 Service(LoadBalancer)和 Ingress 两种方式对公网用户提供服务。

业务暴露方式说明
Service(LoadBalancer)基于 TCP、UDP 协议,对外提供四层网络服务。
ingress基于 HTTP、HTTPS 协议,对外提供七层网络服务。

通过 Service 对外暴露服务

系统支持通过 Service(LoadBalancer)满足集群中四层服务的暴露需求。该方式中使用了弹性负载均衡 LoadBalancer,提供了更高可靠性的业务保障。

alt

通过 Ingress 对外暴露服务

系统支持通过 Ingress 资源满足集群中七层服务的暴露需求。Ingress 的本质是一系列流量转发规则,这些规则基于七层的 HTTP 和 HTTPS 协议,通过域名和路径的方式,对流量进行更细粒度的划分。

alt

注意事项

使用 Service(LoadBalancer)对外暴露服务时,LoadBalancer 需要绑定公网 IP。相关操作指导,请参见 绑定/解绑公网 IP

配置 Service 对外暴露服务

配置前检查

  • 创建完成集群、节点,保证集群、节点工作正常。详细操作,请参见 创建集群
  • 将应用镜像上传至镜像仓库。详细操作,请参见 推送和拉取镜像

配置步骤

说明

本文以创建无状态工作负载(Deployment)为例。

  1. 登录 容器服务控制台,在左侧导航栏单击 集群
  2. 集群 页面找到目标集群,单击集群名称。
  3. 在集群管理页面左侧导航栏选择 工作负载 > 无状态工作负载,创建无状态负载。详细操作,请参见 创建无状态负载
  4. 无状态负载创建成功后,单击名称,进入 无状态负载详情页
  5. 选择 访问方式 > 服务 页签,单击 创建服务
    alt
  6. 配置服务参数。本示例中部分参数配置如下所示,其余参数配置,请参考 负载均衡 (LoadBalancer) 中的内容,根据实际需求自行配置。
    alt
    配置项配置说明
    访问配置
    访问类型Service 的访问类型。本示例选择 负载均衡(LoadBalancer),表示通过弹性负载均衡从公网访问到集群内的应用。
    直通 Pod 模式仅 VPC-CNI 网络模型的集群支持该配置项。默认不开启,开启后直接关联 Pod 作为负载均衡器的后端,不经过 Kube-proxy 的处理,能够利用 CLB 的健康检查等高级能力。

    请按需配置,本示例可保持默认值。

    负载均衡器配置服务的负载均衡器。本示例中选择 公网访问自动创建

    标签选择器

    此处已关联了上方步骤 3 中创建的无状态工作负载,您无需配置。

    注意

    如果您在步骤 3 中创建的无状态工作负载,是弹性容器实例方式部署的工作负载时,仅支持使用 直通 Pod 模式 的访问方式,系统会默认开启 直通 Pod 模式 开关,且不允许关闭。

  7. 单击 确定,完成配置。

检查结果

在具有公网访问权限的 PC 中登录浏览器,使用公网IP+服务端口号的方式,访问暴露的工作负载。本例以 nginx 为例,返回如下图内容,表示访问成功。
alt

配置 Ingress 对外暴露服务

配置前检查

  • 创建完成集群、节点,保证集群、节点工作正常。详细操作,请参见 创建集群
  • 将应用镜像上传至镜像仓库。详细操作,请参见 推送和拉取镜像

配置步骤

  1. 登录 容器服务控制台,在左侧导航栏单击 集群
  2. 集群 页面找到目标集群,单击集群名称。
  3. 在集群管理页面左侧导航栏选择 工作负载 > 无状态工作负载,创建无状态负载。详细操作,请参见 创建无状态负载
  4. 无状态负载创建成功后,单击名称,进入 无状态负载详情页
  5. 选择 访问方式 > 路由规则 页签,单击 创建路由规则
  6. 配置路由规则参数。本示例中部分参数配置如下所示,其余参数配置,请参考 配置 Nginx Ingress 中的内容,根据实际需求自行配置。
    alt
  7. 根据实际需求自行配置路由规则参数。详细操作,请参见 路由规则
    alt
  8. 单击 确定,完成配置。

检查结果

在具有公网访问权限的 PC 中,使用域名+路径的方式,访问暴露的工作负载(应用)。返回类似如下图信息,表示访问成功,且不同路径访问了不同的应用。
alt