DaemonSet结合nodeselector部署ingress-controller到特定的node

1. 概述

用DaemonSet结合nodeselector来部署ingress-controller到特定的node上,然后使用HostNetwork直接把该pod与宿主机node的网络打通,直接使用宿主机的80/433端口就能访问服务。

优点是整个请求链路最简单,性能相对NodePort模式更好。
缺点是由于直接利用宿主机节点的网络和端口,一个node只能部署一个ingress-controller pod。
比较适合大并发的生产环境使用。

在这里插入图片描述

2. 部署

修改ingress controller部署文件

$ vim mandatory.yaml

kind: DaemonSet	//改为DaemonSet控制器

# replicas: 1		//删除replicas

hostNetwork: true	//使用HostNetwork
      
nodeSelector:		//修改节点选择
    type: "ingress"

设置ingress controller节点的标签

$ kubectl label nodes  server6 type=ingress

在这里插入图片描述
在这里插入图片描述
更改某个node的标签,因为selector是通过标签选择的。只让某个pod具有某个独特的标签。

在这里插入图片描述
在这里插入图片描述

删除原来的nginx-ingress-controller

[kubeadm@server1 ingress]$ kubectl -n ingress-nginx delete deployments.apps nginx-ingress-controller 
deployment.apps "nginx-ingress-controller" deleted
[kubeadm@server1 ingress]$ 

重新apply

在这里插入图片描述
在这里插入图片描述
ser3上发现,宿主机的80和443端口打开了

在这里插入图片描述

外部访问测试(负载均衡也实现)

在这里插入图片描述

要想再加某个后端进去时,只需要为后端的那个node节点添加上标签就好。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值