概述
应用的外部访问入口包含K8s Ingress应用路由。便于在创建路由规则时关联后端应用暴露的服务,不仅可以作为外部的流量入口,还可以作为微服务的网关,实现用户对流量的统一调度和管理。微服务云应用平台应用路由目前仅支持Nginx Ingress路由。
路由列表
- 登录微服务云应用控制台,选择“应用运维 > 容器应用实例>应用路由”
- 点击“应用路由>Ingress路由”,查看路由列表
- “名称”:Ingress路由规则名称
- “类型”:nginx,目前仅支持nginx应用路由
- “端点”:通过Ingress规则暴露的服务的入口地址,这个服务的端点就是实际处理请求的目标地址。Ingress控制器会根据Ingress资源中的规则将外部请求转发给相应的服务端点
- “k8s集群名称”:k8s集群名
- “k8s命名空间”:k8s集群命名空间
- “转发规则”:路由转发规则
- “创建时间”:应用路由的创建时间
创建Ingress
前提条件
- k8s集群需要在“云容器引擎>插件市场“”安装“nginx-ingress-controller插件”
- 对于nginx-ingress-controller而言,需要确保外部流量能够正确地路由到这个控制器上。在““云容器引擎>网络>服务”创建一个Service类型为LoadBalancer或者NodePort,以便于从集群外部访问到这个入口控制器,从而实现对集群内服务的HTTP/HTTPS请求的路由
- 在“云容器引擎>命名空间>编辑命名空间”,针对指定命名空间开启Ingress服务
操作步骤
- 选择“应用运维 > 容器应用实例>应用路由”
- 点击“应用路由>Ingress路由”,页面顶部菜单栏点击“创建Ingress”
- 在创建Nginx Ingress面板中,设置规则相关参数,然后单击确定
配置项 | 描述 |
---|---|
环境 | 用户创建的环境 |
K8s集群 | 从下拉列表中选择目标K8s集群 |
K8s命名空间 | K8s命名空间通过将系统内部的对象分配到不同的命名空间中,形成逻辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群的资源的同时还能被分别管理。default:没有其他命名空间的对象的默认命名空间。kube-system:系统创建的对象的命名空间。kube-public:此命名空间是自动创建的,并且可供所有用户(包括未经过身份验证的用户)读取。此处以选择default为例。 |
应用路由名称 | 自定义设置路由名称,在同一个命名空间下应用路由名称必须唯一 |
转发规则 | 说明在添加应用路由时,您需要了解以下几点:1.在同一个应用路由下,可以创建多个路由规则: 相同域名和路径的组合,只能对应一个Service。2. 同一个Service,可以对应多个域名和路径组合。 在不同应用路由下,可以创建完全相同的路由规则。 |
域名 | 指定访问域名 |
路径 | 指定访问路径,必须以正斜线(/)开头 |
应用实例 | 从下拉列表选择当前集群指定目标容器应用实例 |
服务名称 | 从下拉列表中选择当前应用的目标服务Service |
服务端口 | 服务Service的服务端口 |
开启TLS | 选中开启TLS,即代表允许外部HTTPS请求路由到内部Service的路由规则集合。如果允许外部HTTPS请求,还需要设置TLS证书。在Secret列表中选择TLS证书类型的保密字典,如果您还没有将HTTPS证书保存到保密字典,请单击新建密钥。创建保密字典的具体操作,可以到“应用运维>容器应用实例>Kubernetes配置>保密字典”创建 |
注解 | 为Ingress添加注解键值对。 Ingress-Nginx注解:选择社区版本Nginx Ingress支持的Annotations配置Ingress |
标签 | 为Ingress添加标签键值对。使用标签便于对已配置特定标签的Ingress进行分组管理 |
K8s命名空间通过将系统内部的对象分配到不同的命名空间中,形成逻辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群的资源的同时还能被分别管理。
default:没有其他命名空间的对象的默认命名空间。
kube-system:系统创建的对象的命名空间。
kube-public:此命名空间是自动创建的,并且可供所有用户(包括未经过身份验证的用户)读取。
此处以选择default为例。
路由详情
- 选择“应用运维 > 容器应用实例>应用路由”
- 点击“应用路由>Ingress路由”,在页面列表选择指定Ingress路由名称
- 右侧弹出目标Ingress路由详情信息
路由变更
- 选择“应用运维 > 容器应用实例>应用路由”
- 点击“应用路由>Ingress路由”,在页面列表Ingress路由名称右侧点击“变更”
- 右侧弹出“编辑Nginx Ingress”,编辑设置Ingress路由信息
路由删除
- 选择“应用运维 > 容器应用实例>应用路由”
- 点击“应用路由>Ingress路由”,在页面列表Ingress路由名称右侧点击“删除”
- 删除弹窗,点击“确定”,完成Ingress路由删除
说明点击强制删除,在清理k8s集群资源报错或者k8s集群异常情况时,跳过资源清理,直接清理微服务云应用平台的应用路由数据。