ingress-controller 安装
1.ingress-controller简介
功能上类似于nginx,但是可以根据服务名进行转发,本文主要介绍的是nginx-ingress-controller,主要包含两个容器,第一个容器用于接收请求,第二个容器用于解析服务名到相应的服务。
2.安装步骤
https://github.com/kubernetes/ingress-nginx/tree/controller-v1.1.0
下载解压后 ingress-nginx-controller-v1.1.0/deploy/static/provider/cloud/deploy.yaml
修改镜像为国内的镜像
执行命令 kubectl apply -f deploy.yaml
过一段时间后执行命令 kubectl get pod -n ingress-nginx
状态为running后,执行 kubectl get svc -n ingress-nginx
其中nodepart的svc对应的ip就是整个 ingress-controller对外服务的ip,将ip输入浏览器,正常应该看到是404,
3.配置ingress
ingress-controller功能上相当于nginx,那么ingress就相当于nginx的一个server配置
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: test-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: test.com
http:
paths:
- path: "/tst"
pathType: Prefix
backend:
service:
name: test-service
port:
number: 80
然后必须配置hosts文件,指定上面提到的nodeport的ip的域名为 test.com,直接访问 ip/tst 仍然是404