You need to enable JavaScript to run this app.
导航
创建容器服务类型 Upstream
最近更新时间:2024.11.04 14:04:30首次发布时间:2022.09.16 11:25:36

API 网关支持对接火山引擎容器服务 VKE,将 VKE 集群下的 Kubernetes Service 抽象为一个 Upstream,作为网关的路由后端。适用于业务采用 VKE 部署,希望通过网关发布业务的场景。本文为您介绍如何创建 VKE 类型 Upstream。

前提条件

容器服务支持 Flannel 和 VPC-CNI 两种网络类型的集群。

  • 对接 Flannel 集群,需完成以下准备工作:
    1. 该功能当前为白名单功能,如需体验,请 提交工单 申请。
    2. 已创建 API 网关实例,且已配置待对接 Flannel 集群的 Pod CIDR 信息。详细操作可参见 创建实例
    3. 已将待对接集群添加为 Upstream 来源,具体操作可参见 导入 VKE 集群
  • 对接 VPC-CNI 集群,需完成以下准备工作:
    1. 已创建 API 网关实例,具体操作可参见 创建实例
    2. 已将待对接集群添加为 Upstream 来源,具体操作可参见 导入 VKE 集群

使用限制

API 网关实例与容器服务集群必须处于同一 VPC 下。

操作步骤

  1. 登录 API 网关控制台

  2. 在顶部导航栏,选择目标地域。

  3. 在左侧导航栏选择 后端管理 > Upstream 列表

  4. 在 Upstream 列表页面,单击 创建 Upstream

  5. 在创建 Upstream 页面,按要求填写参数信息。

    • 基本信息
      alt
      配置项说明
      所属实例Upstream 属于实例级别的资源,请选择当前 Upstream 所属的网关实例。
      Upstream 名称自定义 Upstream 名称,同一实例下的 Upstream 名称唯一。
      备注填写当前 Upstream 的备注信息,可以为空。
    • 后端配置
      alt
      配置项说明

      后端服务

      选择 Upstream 对接的后端服务类型。本场景选择 容器服务。API 网关会自动聚合 Upstream 来源中所有集群下的同名 Namespace、Service 及 Port,将其看作一个应用。

      • 命名空间:选择目标 Kubernetes Service 所在的命名空间。
      • 服务名称:选择目标 Kubernetes Service 名称。
      • 端口:选择目标 Kubernetes Service 开放的端口。
      协议选择协议类型。支持 HTTP1.1HTTP2HTTP2/GRPC

      TLS 设置

      配置 TLS。

      • 关闭 TLS:网关访问后端 Upstream 使用 HTTP 协议。
      • 单向 TLS:网关访问后端 Upstream 使用 HTTPS 协议,需要选择对应证书。

      负载均衡算法

      配置负载均衡算法。

      • 轮询:(默认)将所有请求依次分发到 Kubernetes Service 关联的各个 Pod,适合 Pod 规格相同的场景。
      • 随机:请求随机分配到各个 Pod。
      • 最小连接数:将请求分配到目前处理请求数最少的 Pod。
      • 一致性哈希:基于 header/querystring 信息进行负载均衡,在后端服务数量不变的情况下,确保携带信息相同的用户可固定访问同一 Pod。

      服务熔断

      配置是否开启熔断。
      开启后,API 网关可以通过设置熔断器以提高路由的命中率,不消耗额外流量。详情请参见 服务熔断策略

  6. 单击 确定,完成创建 VKE 类型 Upstream。

后续操作

创建路由

详情请参见 创建路由

放行 APIG 安全组

  • 当 API 网关对接 VPC-CNI 集群时,默认已放行,无需执行放行操作。
  • 当 API 网关对接 Flannel 集群时, 需要为待对接 Flannel 集群下的所有节点开放 APIG 安全组(命名为apig-sg-<accountID>),确保网关可以正常访问集群中的资源。容器服务中所有节点均绑定了命名为<集群ID>-common的默认安全组,您只需在默认安全组中添加一条入规则,放行 APIG 安全组。具体操作如下:
    1. 登录 容器服务控制台,在左侧导航栏选择 集群,在集群列表页面单击目标 Flannel 集群,进入当前集群管理页面。

    2. 在左侧导航栏选择 节点,在节点列表页面单击任一节点名称,进入当前节点详情页面。

    3. 在基本信息区域,寻找命名为<集群ID>-common的容器服务默认安全组,并单击进入当前安全组。

    4. 切换至 访问规则 页签,在 入向规则 区域单击 添加规则

    5. 添加入方向规则 对话框,按要求配置 APIG 安全组信息。表格中未提到的参数保持默认配置。

      alt

      配置项说明
      协议类型选择 ALL ,允许所有通信协议的访问。
      源地址选择 安全组,选择命名为apig-sg-<accountID>的 APIG 安全组。
    6. 单击 确定,完成配置。