用DaemonSet结合nodeselector来部署ingress-controller到特定的node上,然后使用HostNetwork直接把该pod与宿主机node的网络打通,直接使用宿主机的80/433端口就能访问服务。优点是整个请求链路最简单,性能相对NodePort模式更好。缺点是由于直接利用宿主机节点的网络和端口,一个node只能部署一个ingress-controller pod。比较适合大并发的生产环境使用。
•修改ingress controller部署文件
kind: DaemonSet //改为DaemonSet控制器
# replicas: 1 //删除replicas
hostNetwork: true //使用HostNetwork
nodeSelector: //修改节点选择
type: "ingress"
设置ingress controller节点的标签
kubectl label nodes server6 type=ingress
•Ingress TLS 配置
我们创建一个ingress目录,然后创建证书
把证书存到secret中
我们根据官方文档
创建一个ingress.yaml文件
启动tls之后一点启用80就会自动做重定向到443
测试
有了加密之后我们就可以做认证
然后我们get我们的yaml文件
做认证
这样的话就可以认证了
重写
当我们访问网页的根目录的时候他会自动重定向到/hostname.html这个页面中
直接回车
自动补齐网页网址实现重定向(地址重写)
测试