容器服务 使用 NginxIngress 对象接入集群外部流量

1. 登录 容器服务控制台,在左侧导航栏中单击集群。2. 进入集群管理页面,单击已安装 NginxIngress 组件的集群 ID,进入集群详情页。

相关产品
容器服务 产品页,含版本规格、价格与购买入口。

注意:NginxIngress 扩展组件已停止更新,详情请参见 NginxIngress 扩展组件停止更新公告。

一、前提条件

·已登录 容器服务控制台。

·集群内已 部署 NginxIngress 组件。

·已安装并创建业务需要的 NginxIngress 实例。

二、NginxIngress 控制台操作指引

3. 选择服务与路由 > Ingress,进入 Ingress 信息页面。

4. 单击新建,进入新建 Ingress 页面。

5. 根据实际需求,设置 Ingress 参数。如下:


·Ingress 类型:选择 Nginx Ingress Controller。

·Class:选择一个 NginxIngress 实例,若无则单击右侧的立即创建 Nginx 负载均衡器。

·转发规则:需自行设置。

6. 单击创建 Ingress。

三、Kubectl 操作 NginxIngress 指引

在 Kubernetes 中引入 IngressClass 资源和 ingressClassName 字段之前,Ingress 类由 Ingress 中的 kubernetes.io/ingress.class 注解指定。
示例如下:

metadata: name: annotations: kubernetes.io/ingress.class: "nginx-public". ## 对应 TKE 集群 NginxIngress 组件中的 NginxIngress 实例名称

四、相关操作

为 Nginx 类型 Ingress 对象可配置注解,详情可参见 产品文档。

五、NginxIngress 对象使用模型

当多个 Ingress 对象作用于一个 Nginx 实体时:

·按 CreationTimestamp 字段对 Ingress 规则排序,即先按旧规则。

·如果在多个 Ingress 中为同一主机定义了相同路径,则最早的规则将获胜。

·如果多个 Ingress 包含同一主机的 TLS 部分,则最早的规则将获胜。

·如果多个 Ingress 定义了一个影响 Server 块配置的注释,则最早的规则将获胜。

·按每个 hostname 创建 NGINX Server。

·如果多个 Ingress 为同一 host 定义了不同的路径,则 ingress-controller 合并这些定义。

·多个 Ingress 可以定义不同的注释。这些定义在 Ingress 之间不共享。

·Ingress 的注释将应用于 Ingress 中的所有路径。

六、触发更新 nginx.conf 机制

以下内容描述了需要重新加载 nginx.conf 的情况:

·创建新的 Ingress 对象。

·为 Ingress 添加新的 TLS。

·Ingress 注解的更改不仅影响上游配置,而且影响更大。例如 load-balance 注释不需要重新加载。

·为 Ingress 添加/删除路径。

·删除 Ingress、Ingress 的 Service、Secret。

·Ingress 关联的对象状态不可知,例如 Service 或 Secret。

·更新 Secret。

赞 (0)
上一篇 4天前
下一篇 4天前