Ingress 是对集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP。Ingress 可以提供负载均衡、SSL 终结和基于名称的虚拟托管。
下面是一个将所有流量都发送到同一 Service的简单 Ingress 示例:
ingress-diagram

Ingress 可为 Service 提供外部可访问的 URL、负载均衡流量、终止 SSL/TLS,以及基于名称的虚拟托管。 Ingress 控制器通常负责通过负载均衡器来实现 Ingress,尽管它也可以配置边缘路由器或其他前端来帮助处理流量。
Ingress 不会开任意端口或协议。 将 HTTP 和 HTTPS 以外的服务公开到 Internet 时,通常使用Service.Type=NodePort或Service.Type=LoadBalancer类型的 Service。
适用于部署在裸机服务器上的Kubernetes集群,以及使用通用Linux发行版(如CentOS、Ubuntu…)手动安装Kubernetes的 "原始"VM。
为了快速测试,你可以使用一个NodePort。这应该在几乎每一个集群上工作,但它通常会使用30000-32767范围内的端口。
1.下载yaml文件
[root@k8s1 ~]# mkdir ingress
[root@k8s1 ~]# cd ingress/
[root@k8s1 ingress]# ls
[root@k8s1 ingress]# wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.4.0/deploy/static/provider/baremetal/deploy.yaml
--2022-10-28 15:11:19-- https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.4.0/deploy/static/provider/baremetal/deploy.yaml
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.111.133, 185.199.108.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com