Partiendo de nuestro último punto, proseguimos con el fin de instalar rancher en kubernetes.
Es importante que nos guardemos una copia en un lugar seguro de nuestro cluster, es un paso recomendado para instalar rancher en kubernetes.
- kube_config_rancher-cluster.yml
- rancher-cluster.rkestate
- rancher-cluster.yml
En estos ficheros se encuentra la configuración de nuestro cluster, así como los accesos. Antes de instalar Rancher necesitamos tener una serie de requisitos instalados, un de ellos es Helm. Solo necesitaremos realizar estos pasos en nuestro primer nodo.
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
Añadimos el helm chart stable de rancher y creamos el namespace para rancher
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
kubectl create namespace cattle-system
Rancher está diseñado para trabajar de forma segura, por lo que ahora tendremos que generar los certificados, tenemos 3 formar de crearlos:
- Let’s Encrypt
- Autofirmados
- De terceros
En nuestro caso usaremos autofirmados, deberemos instalar certmanager.
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.15.1/cert-manager.yaml
También lo podemos instalar vía Helm con los siguientes comandos:
kubectl create namespace cert-manager
helm repo add jetstack https://charts.jetstack.io
helm repo update
# Kubernetes 1.15+
$ kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.15.1/cert-manager.crds.yaml
# Kubernetes <1.15
$ kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.15.1/cert-manager-legacy.crds.yaml
Comprobamos que tenemos los contenedores corriendo
[root@rancher01 rancher]# kubectl get pods --namespace cert-manager
NAME READY STATUS RESTARTS AGE
cert-manager-9b8969d86-qpkph 1/1 Running 0 2m28s
cert-manager-cainjector-8545fdf87c-d5b2z 1/1 Running 0 2m28s
cert-manager-webhook-8c5db9fb6-44njs 1/1 Running 0 2m28s
[root@rancher01 rancher]#
Ahora ya podemos desplegar rancher
helm install rancher rancher-stable/rancher --namespace cattle-system --set hostname=rancher.sysadm.local
Podremos comprobar que se ha desplegado correctamente cuando veamos el siguiente mensaje
Browse to https://rancher.sysadm.local
Happy Containering!
Ya podremos acceder a nuestra web de rancher, lo primero que nos solicitará es asignar una contraseña al usuario administrador.
Si no recibís la pantalla de bienvenida del servidor web, simplemente reiniciad el nodo1 ya que algunas veces se quedan con timeout los contenedores al descargar los repositorios de github. Si utilizas firefox, usas un certificado autofirmado y recibes el error de CERT TO LONG desactiva la siguiente funcionalidad de firefox security.ssl.enable_ocsp_stapling
Os dejo la serie completa y docuentación oficial aquí, hasta la próxima!