Kubernetes集群(z-k8s)配置Cilium集成MetalLB¶
在Cilium网络部署MetalLB 为裸金属服务器(虚拟机)提供了替代常规云厂商的负载均衡能力,这样就可以摆脱云厂商的依赖,完全独立构建Kubernetes集群。
备注
如果Kubernetes集群不部署 Kubernetes MetalLB 负载均衡 ,就会导致 Cilium Kubernetes Ingress 无法分配 EXTERNAL-IP
,即无法对外服务
安装¶
在集群安装MetalLB:
kubectl apply 安装 MantalLB¶
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.4/config/manifests/metallb-native.yaml
配置¶
创建
z-k8s-ip-pool.yaml
为负载均衡定义IPAddressPool CR¶
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: z-k8s-ip-pool
namespace: metallb-system
spec:
addresses:
- 192.168.6.151-192.168.6.198
创建IP池:
负载均衡创建IPAddressPool¶
kubectl create -f z-k8s-ip-pool.yaml
配置
z-k8s-ip-pool_announce.yaml
:
申明IP地址池的ARP公告¶
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: z-k8s-ip-pool
namespace: metallb-system
spec:
ipAddressPools:
- z-k8s-ip-pool
执行IP地址池ARP声明:
申明IP地址池的ARP公告¶
kubectl create -f z-k8s-ip-pool_announce.yaml
完成 Kubernetes MetalLB 负载均衡 部署配置之后,部署 Kubernetes集群(z-k8s)部署Cilium Ingress 就能够实现服务输出