Kubernetes Ingress
理论学习
Ingress 提供从集群外部到集群内服务的 HTTP 和 HTTPS 路由。 流量路由由 Ingress 资源所定义的规则来控制。

 Ingress 资源示例:
apiVersion: networking.k8s.io/v1		# 指定 Kubernetes 中使用的 API 版本
kind: Ingress		# 指定对象的类型
metadata:	# 包含有关对象的元数据信息name: minimal-ingressannotations:		# 配置 Nginx Ingress 控制器的重写目标nginx.ingress.kubernetes.io/rewrite-target: /
spec:		# 指定了 Ingress 对象的规范,即其配置ingressClassName: nginx-example 		# 指定要使用的 Ingress 控制器的类别或类型rules:		# 定义路由规则- http:paths:		# 定义了针对特定路径的路由规则列表- path: /testpathpathType: Prefix		# 指定路径的类型  "Prefix"(前缀匹配)  "Exact"(精确匹配)backend:		# 指定后端服务service:name: testport:number: 80
实战练习

操作步骤
- (标准步骤) 进入题目指定集群
$ kubectl config use-context k8s
- 查看 Ingressclass 名称并记录
$ kubectl get ingressclass

$ vim ingress.yaml
- 在官网上复制默认 Ingress 配置文件并再此基础上修改
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: pingnamespace: ing-internalannotations:nginx.ingress.kubernetes.io/rewrite-target: /
spec:ingressClassName: nginxrules:- http:paths:- path: /hellopathType: Prefixbackend:service:name: helloport:number: 5678
- 应用配置文件创建 Ingress
$ kubectl apply -f ingress.yaml

检查命令
$ kubectl -n ing-internal get ingress # 配置完成后需要等待三分钟才能显示 ADDRESS

$ curl 10.110.140.170/hi

参考链接:https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/#default-ingress-class
