|NO.Z.00164|——————————|^^ 部署 ^^|——|KuberNetes&服务发布.V15|——|ingress.v03|ingress部署.V01|扩容|缩容|
一、ingress扩容缩容节点
### --- ingress扩容节点
~~~ 将ingress controller部署至Node节点(ingress controller不能部署在master节点,
~~~ 需要安装视频中的步骤将ingress controller部署至Node节点,
~~~ 生产环境最少三个ingress controller,并且最好是独立的节点)
~~~ DaemonSet 会一直监听这个节点的状态,若是发现有一个节点符合了这个配置规则,
~~~ 它就会把这个pod部署在这个节点上,若是已经有了这个节点,
~~~ 比如master03,若是没有这个label的话,它就会把之前的删除掉,重新创建。
~~~ 扩节点,比如部署在k8s-node01节点
[root@k8s-master01 ingress-nginx]# kubectl label node k8s-node01 ingress=true //把node01打了一个标签,ingress controller就会在node01上部署一个:
node/k8s-node01 labeled
### --- 查看扩容后ingress部署节点
~~~ 扩容之后在k8s集群外部还有LSB需要把后端ingress地址给加上(扩容的地址)
~~~ 可以看到node01下的Ingress已经启动了。 <none>
[root@k8s-master01 ingress-nginx]# kubectl get po -n ingress-nginx -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
ingress-nginx-controller-cxtgg 1/1 Running 0 8m38s 192.168.1.13 k8s-master03 <none> <none>
ingress-nginx-controller-df8xn 0/1 Running 0 69s 192.168.1.14 k8s-node01 <none>
### --- ingress缩容节点
~~~ 缩节点 剔除k8s-master03节点的ingress controller
~~~ 把这个标签给删除掉,删掉之后这个节点的pod就会被删除掉。
~~~ 它就不符合noteselect了,就会把之前的删除掉。
~~~ 删掉的顺序是:需要现在k8s之外的LBS上把需要下掉的比如master03的IP地址+端口号给剔除掉,
~~~ 然后在执行,不然可能出现服务宕机或者服务不响应的情况。
[root@k8s-master01 ingress-nginx]# kubectl label node k8s-master03 ingress-
node/k8s-master03 labeled
### --- 查看ingress缩容后节点数量
[root@k8s-master01 ingress-nginx]# kubectl get po -n ingress-nginx -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
ingress-nginx-controller-df8xn 1/1 Running 0 6m55s 192.168.1.14 k8s-node01 <none> <none>
二、ingress部署宿主机查看
### --- 登入k8s-node01节点操作
~~~ 因为我们使用的是hostNetwork,所以它会在宿主机上直接启用了一个nginx进程,
[root@k8s-node01 ~]# netstat -lntp | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 53541/nginx: master
tcp6 0 0 :::80 :::* LISTEN 53541/nginx: master
### --- 因为Ingress内部是nginx加上openresty实现的,
~~~ 它是直接监听到宿主机的端口,直接在宿主机起了一个进程,去监听它,
~~~ 这个就是hostname使用宿主机的网络,不用再经过代理。
[root@k8s-node01 ~]# ps -aux | grep nginx
root 18289 0.0 0.2 112824 2276 pts/0 S+ 18:14 0:00 grep --color=auto nginx
101 53441 0.0 0.0 204 4 ? Ss 00:18 0:00 /usr/bin/dumb-init -- /nginx-ingress-controller --publish-service=ingress-nginx/ingress-nginx-controller --election-id=ingress-controller-leader --ingress-class=nginx --configmap=ingress-nginx/ingress-nginx-controller --validating-webhook=:8443 --validating-webhook-certificate=/usr/local/certificates/cert --validating-webhook-key=/usr/local/certificates/key
101 53466 0.2 2.5 743328 24904 ? Ssl 00:18 2:22 /nginx-ingress-controller --publish-service=ingress-nginx/ingress-nginx-controller --election-id=ingress-controller-leader --ingress-class=nginx --configmap=ingress-nginx/ingress-nginx-controller --validating-webhook=:8443 --validating-webhook-certificate=/usr/local/certificates/cert --validating-webhook-key=/usr/local/certificates/key
### --- 查看ingress所对应的端口号
[root@k8s-node01 ~]# netstat -lntp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:9099 0.0.0.0:* LISTEN 79133/calico-node
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 53541/nginx: master
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了