【kubernetes】配置ingress使用hostNetwork作为接入端口

概述

网上多数教程是将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

  1. 拉取ingress的定义文件
wget https://github.com/kubernetes/ingress-nginx/blob/nginx-0.20.0/docs/deploy/index.md
  1. 给node设置标签
kubectl label node  192.168.145.11 lb_node=true
  1. 修改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节点
  1. 创建ingress资源
 kubectl apply -f ingress-nginx-daemon.yaml 
  1. 查看资源是否常见成功
kubectl get ds -A

kubectl get pods -A -owide
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

^白开水^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值