====== 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