Ingress 介绍
Ingress 公开了从集群外部到集群内 服务 的 HTTP 和 HTTPS 路由。 流量路由由 Ingress 资源上定义的规则控制。官网的一个简单示例如下:

Ingress 为服务提供了供外部访问的 URL,负载均衡流量,TLS/SSL 终止的能力。Ingress 可以简单理解为服务的服务,通过独立的 Ingress 对象来指定请求转发的规则,将请求路由到对应的服务中。
为了让 Ingress 资源工作,集群必须有一个正在运行的 Ingress 控制器。 NGINX Ingress Controller 是由 Kubernetes 提供支持和维护的一个控制器。
本文主要介绍如何通过 NGINX Ingress Controller 来访问 Kubernetes 集群中的 EMQ X。
准备
开始之前,请确保您已经搭建好了一个可用的 Kubernetes 集群,本文示例是基于阿里云标准版托管集群。
安装 EMQ X
参考 emqx charts ,使用 Helm 进行安装
$ helm repo add emqx https://repos.emqx.io/charts
$ kubectl create ns my-emqx
$ helm install my-emqx emqx/emqx -n my-emqx
确保 pod 处于 running 状态
$ kubectl get pod -n my-emqx
NAME READY STATUS RESTARTS AGE
my-emqx-0 1/1 Running 0 97s
my-emqx-1 1/1 Running 0 73s
my-emqx-2 1/1 Running 0 51s
查看 service
$ kubectl get svc -n my-emqx
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
my-emqx ClusterIP 172.21.5.160 <none> 1883/TCP,8883/TCP,8081/TCP,8083/TCP,8084/TCP,18083/TCP 5m
my-emqx-headless ClusterIP None <none> 1883/TCP,8883/TCP,8081/TCP,8083/TCP,8084/TCP,18083/TCP,4370/TCP 5m
部署 NGINX Ingress Controller
参考 Installation Guide,根据不同情况选择不同的配置进行安装,也可以通过 Helm 安装
$ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
$ helm repo update
$ helm install my-release ingress-nginx/ingress-nginx
因为本文基于阿里云集群,可以直接选择组件安装
查看 service

本文介绍如何使用NGINX Ingress Controller在Kubernetes集群中访问EMQX服务。通过部署Ingress对象和配置特定规则,实现HTTP/HTTPS流量路由及TCP服务访问。
最低0.47元/天 解锁文章
268

被折叠的 条评论
为什么被折叠?



