【kubernetes】配置ingress使用hostNetwork作为接入端口
概述网上多数教程是将ingress开启nodeport,这种方式也能达到暴露ingress端口到主机的目的,但是要么需要制定端口,要么使用随机端口。 而另外一种方式是,通过hostNetwork方式共享主机网络,通过nodeSelector来固定选取的node节点,从而使外部流量通过F5/A10/nginx接入后负载到nodeSelector选择的节点上。官方ingress的部署文档https:
·
概述
网上多数教程是将ingress开启nodeport,这种方式也能达到暴露ingress端口到主机的目的,但是要么需要制定端口,要么使用随机端口。
而另外一种方式是,通过hostNetwork方式共享主机网络,通过nodeSelector来固定选取的node节点,从而使外部流量通过F5/A10/nginx接入后负载到nodeSelector选择的节点上。
官方ingress的部署文档
https://github.com/kubernetes/ingress-nginx/blob/nginx-0.20.0/docs/deploy/index.md
- 环境信息
kubernetes: 1.18.3
ingress:0.2.0
配置 ingress
- 拉取ingress的定义文件
wget https://github.com/kubernetes/ingress-nginx/blob/nginx-0.20.0/docs/deploy/index.md
- 给node设置标签
kubectl label node 192.168.145.11 lb_node=true
- 修改ingress定义文件
#修改kind类型
...
kind: DaemonSet
#在DaemonSet.spec.template.spec新增以下配置
....
nodeSelector:
kubernetes.io/os: linux
lb-node: true
hostNetwork: true
....
如果需要在master节点或者设置污点的节点上运行可以如下设置
#在DaemonSet.spec.template.spec新增以下配置
.....
tolerations:
- key: CriticalAddonsOnly
operator: Exists
- operator: Exists
priorityClassName: system-cluster-critical
.....
- 为保证master节点稳定运行,不建议将ingress运行到master节点
- 创建ingress资源
kubectl apply -f ingress-nginx-daemon.yaml
- 查看资源是否常见成功
kubectl get ds -A
kubectl get pods -A -owide
更多推荐
已为社区贡献5条内容
所有评论(0)