kubernetes:metallb
Ez a dokumentum egy előző változata!
MetalLB használata
Lekérdezés
kubectl get configmap kube-proxy -n kube-system -o yaml | grep strictARP
strictARP: false
Konfigurálás
# kubectl get configmap kube-proxy -n kube-system -o yaml | sed -e "s/strictARP: false/strictARP: true/" | kubectl diff -f - -n kube-system
diff -u -N /tmp/LIVE-3389654188/v1.ConfigMap.kube-system.kube-proxy /tmp/MERGED-321987316/v1.ConfigMap.kube-system.kube-proxy
--- /tmp/LIVE-3389654188/v1.ConfigMap.kube-system.kube-proxy 2026-03-31 03:54:29.780925664 +0200
+++ /tmp/MERGED-321987316/v1.ConfigMap.kube-system.kube-proxy 2026-03-31 03:54:29.780925664 +0200
@@ -37,7 +37,7 @@
excludeCIDRs: null
minSyncPeriod: 0s
scheduler: ""
- strictARP: false
+ strictARP: true
syncPeriod: 0s
tcpFinTimeout: 0s
tcpTimeout: 0s
# kubectl get configmap kube-proxy -n kube-system -o yaml | sed -e "s/strictARP: false/strictARP: true/" kubectl apply -f - -n kube-system
Warning: resource configmaps/kube-proxy is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically.
configmap/kube-proxy configured
Telepítés
# kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.15.3/config/manifests/metallb-native.yaml namespace/metallb-system created customresourcedefinition.apiextensions.k8s.io/bfdprofiles.metallb.io created customresourcedefinition.apiextensions.k8s.io/bgpadvertisements.metallb.io created customresourcedefinition.apiextensions.k8s.io/bgppeers.metallb.io created customresourcedefinition.apiextensions.k8s.io/communities.metallb.io created customresourcedefinition.apiextensions.k8s.io/configurationstates.metallb.io created customresourcedefinition.apiextensions.k8s.io/ipaddresspools.metallb.io created customresourcedefinition.apiextensions.k8s.io/l2advertisements.metallb.io created customresourcedefinition.apiextensions.k8s.io/servicebgpstatuses.metallb.io created customresourcedefinition.apiextensions.k8s.io/servicel2statuses.metallb.io created serviceaccount/controller created serviceaccount/speaker created role.rbac.authorization.k8s.io/controller created role.rbac.authorization.k8s.io/pod-lister created clusterrole.rbac.authorization.k8s.io/metallb-system:controller created clusterrole.rbac.authorization.k8s.io/metallb-system:speaker created rolebinding.rbac.authorization.k8s.io/controller created rolebinding.rbac.authorization.k8s.io/pod-lister created clusterrolebinding.rbac.authorization.k8s.io/metallb-system:controller created clusterrolebinding.rbac.authorization.k8s.io/metallb-system:speaker created configmap/metallb-excludel2 created secret/metallb-webhook-cert created service/metallb-webhook-service created deployment.apps/controller created daemonset.apps/speaker created validatingwebhookconfiguration.admissionregistration.k8s.io/metallb-webhook-configuration created # kubectl get pods -n metallb-system NAME READY STATUS RESTARTS AGE controller-57fdb754bc-ghj44 1/1 Running 0 2m41s speaker-5tbwc 1/1 Running 0 2m40s speaker-5trkx 1/1 Running 0 2m40s speaker-8vtr9 1/1 Running 0 2m40s speaker-8ww75 1/1 Running 0 2m40s speaker-gdcrt 1/1 Running 0 2m40s speaker-htjm6 1/1 Running 0 2m40s speaker-jb2ql 1/1 Running 0 2m40s speaker-mhl62 1/1 Running 0 2m40s speaker-s288f 1/1 Running 0 2m40s speaker-t9nvg 1/1 Running 0 2m40s speaker-vx558 1/1 Running 0 2m40s speaker-w5lwt 1/1 Running 0 2m40s
IP pool létrehozása
# cat > metallb-ip-pool.yaml <<'EOF'
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: demo-pool
namespace: metallb-system
spec:
addresses:
- 192.168.110.201-192.168.110.210
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: demo-l2
namespace: metallb-system
spec: {}
EOF
# kubectl apply -f metallb-ip-pool.yaml
ipaddresspool.metallb.io/demo-pool created
l2advertisement.metallb.io/demo-l2 created
Szolgáltatás létrehozása
# cat > service.yaml <<'EOF'
apiVersion: v1
kind: Service
metadata:
name: demo-nginx-loadbalancer
spec:
type: LoadBalancer
selector:
app: demo-nginx
ports:
- port: 80
targetPort: 80
EOF
# kubectl apply -f service.yaml
service/demo-nginx-loadbalancer created
kubernetes/metallb.1774923669.txt.gz · legutóbbi módosítás: – Szerkesztő: riba.zoltan
