kubeoperator中的metallb实践操作
基础信息介绍
pod网络cidr:10.0.0.0/14
service网络cidr:172.16.0.0/16
容器网络:calico
网络模式:ipip
proxy模式:ipvs
启用组件metallb
cidr填写的是:172.16.20.0/24
IP范围填写的是:172.16.10.100-172.16.10.200
使用
用kuboard管理面板无法使用
用kubepi管理面板可以使用(可以用kuboard查看到)
其他pod可以ping通LoadBalancer的IP
k8s集群节点IP+节点port可以访问到对应pod的服务
再次新建一个LoadBalancer类型的service,有俩pod,访问的话,只有一个pod收到请求了
用法
ingress-nginx-cntroller的service使用的是ClusterIP, 该服务有多个pod,在其上层需要使用到负载均衡器,那么,没有metallb的话,该service使用的类型是NodePort,有了metallb之后就能使用LoadBalancer的了
后续添加ingress规则也是跟之前的操作一样
问题:ingress-nginx-cntroller的service使用的是NodePort会监听主机的端口,但是使用metallb之后给ingress-nginx-cntroller的service设置LoadBalancer类型也会监听主机的端口,这俩方式有啥区别?
可以发现,当service设置LoadBalancer类型时,除了会有一个ClusterIP外,还会有一个EXTERNAL-IP,并且在宿主机上也会开通并监听相应的端口号