MetalLB
Introduction
MetalLB est un équilibreur de charge (load balancer) pour les clusters Kubernetes. Il permet d'accéder aux applications de votre environnemt kubernetes avec une adresse IP externe en prenant en compte la tolérance de panne.
Il utilise des protocoles de routage standard pour annoncer des adresses IP externes aux services Kubernetes. MetalLB est une solution simple et efficace pour exposer les services Kubernetes au monde extérieur.
Installation
helm repo add metallb https://metallb.github.io/metallb
helm repo update
helm upgrade --install metallb metallb/metallb --atomic --cleanup-on-fail --namespace=metallb-system --create-namespace
Configuration
cat << EOF > ipaddresspool.yaml
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: ip-pool-address
namespace: metallb-system
spec:
addresses:
- 172.31.10.200-172.31.10.210 #Pool d'adresses IPs externes qui seront utilisés
autoAssign: true
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: l2-advertisement
namespace: metallb-system
spec:
ipAddressPools:
- ip-pool-address
EOF
kubectl apply -f ipaddresspool.yaml
Vérification
kubectl get svc,pods --namespace metallb-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/metallb-webhook-service ClusterIP 10.103.102.7 <none> 443/TCP 4m56s
NAME READY STATUS RESTARTS AGE
pod/metallb-controller-5f9bb77dcd-b8wkp 1/1 Running 0 4m56s
pod/metallb-speaker-8s29r 4/4 Running 0 4m56s
pod/metallb-speaker-kpd4n 4/4 Running 0 4m56s
pod/metallb-speaker-q4jvl 4/4 Running 0 4m56s
Désinstallation de metalLB
helm uninstall metallb -n metallb-system
kubectl delete ns metallb-system
| Version | Date | Change | Auteur |
|---|---|---|---|
| 1.0 | 12.11.2023 | Création | GMo |