===== MetalLB Bare Metal =====
Sugindo esta instalação do kubernetes: [[kubernetes_install_debian_v2|Instalação Kubernetes]]
$ kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml
namespace/metallb-system created
customresourcedefinition.apiextensions.k8s.io/addresspools.metallb.io 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/ipaddresspools.metallb.io created
customresourcedefinition.apiextensions.k8s.io/l2advertisements.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
secret/webhook-server-cert created
service/webhook-service created
deployment.apps/controller created
daemonset.apps/speaker created
validatingwebhookconfiguration.admissionregistration.k8s.io/metallb-webhook-configuration created
$ kubectl get all -n metallb-system -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
pod/controller-577b5bdfcc-pc8zk 1/1 Running 0 100s 10.246.228.194 k-node-01
pod/speaker-22pmg 1/1 Running 0 100s 177.75.176.35 k-node-01
pod/speaker-kcjjr 1/1 Running 0 100s 177.75.176.34 k-ctrl-pl-01
pod/speaker-ljm2b 1/1 Running 0 100s 177.75.176.36 k-node-02
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
service/webhook-service ClusterIP 10.96.203.215 443/TCP 100s component=controller
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE CONTAINERS IMAGES SELECTOR
daemonset.apps/speaker 3 3 3 3 3 kubernetes.io/os=linux 100s speaker quay.io/metallb/speaker:v0.13.7 app=metallb,component=speaker
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
deployment.apps/controller 1/1 1 1 100s controller quay.io/metallb/controller:v0.13.7 app=metallb,component=controller
NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR
replicaset.apps/controller-577b5bdfcc 1 1 1 100s controller quay.io/metallb/controller:v0.13.7 app=metallb,component=controller,pod-template-hash=577b5bdfcc
$ vim metallb-config.yaml
---
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: first-pool
namespace: metallb-system
spec:
addresses:
- 2804:694:3000:8000::1c0/122
$ kubectl apply -f metallb-config.yaml
$ kubectl get IPAddressPool -n metallb-system
NAME AUTO ASSIGN AVOID BUGGY IPS ADDRESSES
first-pool true false ["2804:694:3000:8000::1c0/122"]
$ kubectl describe IPAddressPool first-pool -n metallb-system
Name: first-pool
Namespace: metallb-system
Labels:
Annotations:
API Version: metallb.io/v1beta1
Kind: IPAddressPool
Metadata:
Creation Timestamp: 2023-02-03T23:15:12Z
Generation: 1
Managed Fields:
API Version: metallb.io/v1beta1
Fields Type: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.:
f:kubectl.kubernetes.io/last-applied-configuration:
f:spec:
.:
f:addresses:
f:autoAssign:
f:avoidBuggyIPs:
Manager: kubectl-client-side-apply
Operation: Update
Time: 2023-02-03T23:15:12Z
Resource Version: 17307
UID: 5abb168e-f1ea-432e-8dd8-dbe19c733709
Spec:
Addresses:
2804:694:3000:8000::1c0/122
Auto Assign: true
Avoid Buggy I Ps: false
Events:
===== Referências =====
- [[https://metallb.universe.tf/installation/|Installation]]
- [[https://metallb.universe.tf/configuration/|Configuration]]