===== Installation Loadbalancer MetalLB===== Bei der Installation von K3s haben ich den Traefik LB ausgenommen und es wird der Metallb installiert da dieses System nicht in einer Cloud durchgeführt wird. \\ Die aktuelle Manifest'e kann man sich auf der [[https://metallb.universe.tf/installation/|Hersteller Seite]] ansehen und runerladen. Auf der Master Node: kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.5/manifests/namespace.yaml kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.5/manifests/metallb.yaml # On first install only kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)" \\ Netzwerk Infos für den LB konfigurieren Auf der Master Node: nano metallb_network.yaml apiVersion: v1 kind: ConfigMap metadata: namespace: metallb-system name: config data: config: | address-pools: - name: address-pool-1 protocol: layer2 addresses: - 192.168.88.124-192.168.88.130 kubectl apply -f metallb_network.yaml \\ Es ist auch möglich via Subnet das Netz einzustellen addresses: - 192.168.88.0/26 \\ ===== Test Container ===== Test container um den LB zu testen Auf dem Master: kubectl create deployment my-nginx --image=nginx kubectl expose deployment my-nginx --name=my-nginx --port=80 --type=LoadBalancer root@kube01:~# kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.43.0.1 443/TCP 64m my-nginx LoadBalancer 10.43.2.242 192.168.88.124 80:31200/TCP 59m root@kube01:~# curl -I http://192.168.88.124 HTTP/1.1 200 OK Server: nginx/1.19.5 Date: Thu, 26 Nov 2020 10:19:05 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 24 Nov 2020 13:02:03 GMT Connection: keep-alive ETag: "5fbd044b-264" Accept-Ranges: bytes \\