上云无忧 > 文档中心 > 百度智能云云原生微服务应用平台 Ingress 流量接入管理
云原生微服务应用平台
百度智能云云原生微服务应用平台 Ingress 流量接入管理

文档简介:
Ingress 是 Kubernetes 提供的一种 7 层流量接入方式,它通过连接外部负载均衡器与容器内部服务的方式对流量进行管理,相比 LoadBalancer Service,Ingress 可以简化主机对外开放端口的管理,同时利用外部负载均衡的能力提供更完善了路由和安全规则。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

Ingress 基本概念

Ingress 是 Kubernetes 提供的一种 7 层流量接入方式,它通过连接外部负载均衡器与容器内部服务的方式对流量进行管理,相比 LoadBalancer Service,Ingress 可以简化主机对外开放端口的管理,同时利用外部负载均衡的能力提供更完善了路由和安全规则。

Ingress 公开了从集群外到集群内部的 HTTP 和 HTTPS 路由。流量路由由 Ingress 资源上定义的规则控制。下面是一个将所有流量都发送到同一个 Service 的简单 Ingress 示例。

可以将 Ingress 配置为服务提供外部可访问的 URL、负载均衡流量、终止 SSL/TLS,以及提供基于名称的虚拟主机等能力。 Ingress 控制器 通常负责通过负载均衡器来实现 Ingress,尽管它也可以配置边缘路由器或其他前端来帮助处理流量。

Ingress 不会公开任意端口或协议。 将 HTTP 和 HTTPS 以外的服务公开到 Internet 时,通常使用 Service.Type=NodePort 或 Service.Type=LoadBalancer 类型的服务。

详情请参考官方文档:Kubernetes Ingress

Ingress 主要有两部分组成:

  • Ingress 对象:提供 Ingress kubernetes 对象,能够通过 yaml 进行创建和更新,用于将服务与域名对应起来;
  • Ingress Controller:部署在集群中的公共组件,将 Ingress 服务的配置转化成外部负载均衡的配置,对负载均衡器进行管理和更新。

NginxIngressController 是社区最常用的 IngressController,能够满足用户基础及高级功能需求。包括:7 层 HTTP 流量转发及负载均衡、简单路由服务、基于域名的扇出路由、配置 HTTPS、Websocket、会话粘滞等。详细功能列表及使用方式可参考官方文档:NginxIngressController

环境准备

CNAP 通过组件中心提供了在用户集群中部署 NginxIngressController 的功能,同时 NginxIngressController 需要通过一个 LoadBalancer 类型的 Service 作为集群的流量入口。创建 LoadBalancer Service 会同步在公有云创建普通型 BLB 承接 4 层流量并绑定 EIP。在使用 NginxIngressController 后,单个用户集群仅需创建一个 BLB 及 EIP 即可实现对集群内所有 Service 的流量接入,维护成本低,使用更方便。

部署 NginxIngressController

  1. 进入“组件中心”,选择“添加组件”

  1. 选择“NginxIngressController”

  1. 填写组件信息

组件信息包括:

  • 组件名称:支持小写字母、数字、- 字符,首尾必须字母或数字,长度在 2-26
  • 组件描述:长度小于 140 个字符的任意字符串
  • 集群:该下拉框会展示所有用户当前可用的集群
  • 副本数:期望部署的 Nginx 实例的副本数
  • 访问类型:

    • 公网访问:会创建 BLB 及 EIP,可在集群外通过 EIP 访问
    • VPC 内访问:仅创建 BLB,仅可在集群所在 VPC 内利用 Ingress 实现流量接入
  • 规则类型:

    • IPv4:默认值,为用户创建 IPv4 类型的 EIP 及 BLB
    • IPv6:要求用户所选择的集群支持 IPv6,为用户创建 IPv6 类型的 EIP 和 BLB
  • BLB 类型:

    • 新建:为用户新建 BLB
    • 已有:可在下拉框中选择一个已存在的 BLB
  • 所在网络:用户可选择目标的 VPC 及子网
  • 高级配置:高级配置目前支持配置节点选择器, 用户可以配置控制 Nginx 实例的运行节点
  1. 确认部署状态

填写组件信息并确认后,CNAP 发起在集群中部署 NginxIngressController, 部署过程一般需要持续 3~5 分钟,且组件状态为 “部署中”。 当完成部署后,组件状态变更为“运行中”,且组件列表会展示为 IngressController 创建的 EIP。

新建应用路由

在完成部署 NginxIngressController 后,用户可以在“应用托管” - “流量接入” 界面下新建应用路由,用于配置将流量指向目标的部署组访问方式(Service)。

  1. 进入“新建应用路由”界面

注意需要选择目标部署组所在的工作空间

  1. 填写基本信息

  • 名称:应用路由规则名称
  • 别名:应用路由规则的别名
  • 环境名称:用户需要选择工作空间下的环境
  • 集群:如果环境已绑定集群,那么该项不可编辑;否则用户可以在该下拉框选择集群并与环境绑定
  • 描述:应用路由规则的描述
  1. 填写路由规则

一个应用路由可以包含多条路由规则,每条路由规则主要包括:

  • 域名:填写该应用路由所关联的域名
  • 协议:HTTP 或 HTTPS,如果用于选择 HTTPS 则需要选择托管在百度证书服务上的 TLS 证书
  • 路径:路由规则对应的路径信息

    • 子路径:非必填,为相对于根域名的路径
    • 访问方式:从下拉列表选择流量接入的目标访问方式(Service)
    • 端口:从下拉列表选择访问方式向外暴露的端口
  1. 根据需要填写高级配置

高级配置主要包括:

  • 超时
  • 重定向
  • 限速
  • 认证
  • 会话粘滞
  • 灰度发布
  • 跨域资源共享
  • 自定义

具体的配置项及可选值请参考:NginxIngressController 配置

  1. 根据 Yaml 确认配置正确性

用户在编辑应用路由过程中可以随时点击查看 Yaml 来查看当前应用路由配置项所对应的 Yaml 内容,在 Yaml 查看界面也可以通过点击 返回表单以表单形式编辑路由规则:

  1. 点击“提交”完成路由规则创建
  2. 根据配置的路由规则及 NginxIgressController 的访问 IP 即可验证路由转发规则

相似文档
  • 前置条件: 微服务监控指标数据的采集依赖组件中心的Prometheus组件。要使用微服务监控相关功能,请先在组件中心开启Prometheus。 业务总览: 进入【微服务监控】选择【业务总览】 选择【工作空间·应用·部署组】,可以查看应用的运行数据汇总信息,包括总览数据与曲线图数据。
  • 前置条件: CNAP平台的报警功能依赖于Prometheus组件,请先在组件中心为集群部署Prometheus组件。 基础报警规则可以满足最常见报警需求,比如CPU、MEM阈值报警。我们为不同的资源粒度都提供了基础报警,您可以根据自己的需求进行选择。
  • 本文档为您介绍如何使用事件监控,实现当检测到异常事件时进行报警的功能。 背景信息: 当 CNAP 平台或 Kubernetes 集群发生系统异常时,事件监控功能可以及时接收到您所关注的各类异常事件,并以邮件或短信的形式发出通知,方便您及时知晓事件发生并处理异常。
  • 微服务管理提供服务注册查询,服务治理(路由、限流、熔断降级)、调用链查询功能。可以帮助用户对微服务应用的实时监控和高可用性服务保障。 服务列表: 服务列表中,展示当前在注册中心注册的服务信息,及已配置服务治理规则的服务信息。
  • 组件中心是CNAP平台开放体系的重要组成部分,是PaaS平台组件化能力的表现,您可以选择添加合适组件,提高工作效率和便利性。 目前组件中心提供: 日志类组件。 分布式事务组件。 分批发布组件。 Prometheus组件。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部