3.《DevOps》系列K8S部署CICD流水线之部署MetalLB负载均衡器和Helm部署Ingress-Nginx
架构
服务器IP | 服务名称 | 硬件配置 |
192.168.1.100 | k8s-master | 8核、16G、120G |
192.168.1.101 | k8s-node1 | 8核、16G、120G |
192.168.1.102 | k8s-node2 | 8核、16G、120G |
192.168.1.103 | nfs | 2核、4G、500G |
操作系统:Rocky9.3
后续通过K8S部署GitLab、Harbor、Jenkins
为什么使用MetalLB
当使用云平台(阿里云、腾讯云、AWS等)的容器服务时,我们可以通过配置service为LoadBalancer模式来绑定云平台的负载均衡器,从而实现外网的访问。对于自建的kubernetes裸机集群我们一般使用MetalLB。
一、环境设置
启用严格的ARP模式
kubectl edit configmap -n kube-system kube-proxy
在kind: KubeProxyConfiguration下面加入
metricsBindAddress: ""
mode: "ipvs"
示例图
设置kubernetes的kube-proxy的ARP模式
输入下面的命令开启ARP模式
kubectl get configmap kube-proxy -n kube-system -o yaml | \
sed -e "s/strictARP: false/strictARP: true/" | \
kubectl apply -f - -n kube-system
二、安装MetalLB
#下载release版本
mkdir -p /home/k8s/metailb
cd /home/k8s/metailb
wget https://github.com/metallb/metallb/archive/refs/tags/v0.12.1.tar.gz
tar -zxvf