6. Instalar load balancer
Documento para instalar un cluster kubernetes con tres nodos, un master y dos workers.
Pasos a seguir una vez instalado y actualizado el sistema operativo.
Instalación de los paquetes para acceso al cluster:
MetalLB para exponer una IP pública a los servicios de Kubernetes.
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.15.2/config/manifests/metallb-native.yaml
kubectl get pods -n metallb-system
Ajustar el rango de IPs a la red de la máquina virtual.
kubectl apply -f - <<EOF
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
namespace: metallb-system
name: my-ip-pool
spec:
addresses:
- 172.16.4.11-172.16.4.12
EOF
kubectl apply -f - <<EOF
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
namespace: metallb-system
name: l2-advertisement
spec:
ipAddressPools:
- my-ip-pool
EOF
OPCIONAL: Acceso desde fuera del cluster:
Accesos permitidos por el certificado (exterior al pfsense)
openssl s_client -connect 192.168.4.44:6443 -showcerts </dev/null 2>/dev/null | openssl x509 -noout -text | grep -A 1 "Subject Alternative Name"
Se obtiene la configuración por defecto y se modifican alguna propiedades.
kubeadm config print init-defaults > kubeadm-temp.yaml
vi kubeadm-temp.yaml
'''
---
apiServer:
certSANs:
- 127.0.0.1
- 172.16.1.20
- master1.iglu.net
- 192.168.4.33
apiVersion: kubeadm.k8s.io/v1beta4
'''
Se eliminan los certificados anteriores.
rm /etc/kubernetes/pki/apiserver.*
Se aplica la nueva configuración para el certificado del API Server.
kubeadm init phase certs apiserver --config=kubeadm-temp.yaml