ingress 介绍
ingress可以理解是一个反向代理,类似于 nginx
graph LR
客户端--ingress负载均衡器-->ingress--路由规则-->service-->pod1
service-->pod2
ingress 对应 的就是 springCloud 的 gateway 组件。
ingress 示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
annotations:
nginx.ingress/kubernates.io/rewrite-target: /
spec:
rules:
-http:
paths:
- path: /testpath
pathType: Prefix
backend:
service:
name: test
port:
number: 80
|
ingress 仅仅是用于转发 http的流量的规则
1
2
|
k apply -f ingress-nginx-controller.yaml
|
ingress 控制器
1
2
3
4
5
6
7
8
9
10
11
12
|
k create deployment webDeploymentName --image=xxxx
k expose deployment webDeploymentName --type=NodePort --port-8080
# 创建 service,对外提供 8080端口对象
k get svc
# 查看外部端口
k get all
curl node1:31935
|
整个架构就是 先访问 ingress ,再访问 service,再访问Pod
参考博客
1
2
3
4
|
k get ing
# 可以添加域名映射等
|
1
2
3
4
5
6
7
8
|
paths:
- path: /testpath
pathType: Prefix
backend:
service:
name: test # 这里会匹配到这个叫做 test 的 service对象,然后转发
port:
number: 80
|