Este es el post final de la serie de laboratorios, en este post vamos a instalar el servidor Rancher sobre el clúster RKE
Requisitos
- Haber leído el post 1, 2 y 3
Instalar Cert Manager
- Instala los CRD's (Custom Resource Definition)
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.0.4/cert-manager.crds.yaml
Si quieres saber mas sobre los CRD's puedes encontrarlo aquí
2. Crea el Namespace (entorno) para el cert manager
kubectl create namespace cert-manager
3. Deshabilita la validacion de Namespace
kubectl label namespace cert-manager certmanager.k8s.io/disable-validation=true
4. Elimina la lectura de grupo del archivo ./kube_config_cluster.yml
chmod 600 ./kube_config_cluster.yml
5. Agrega el repositorio Helm de cert manager
helm repo add jetstack https://charts.jetstack.io
6. Actualiza el repositorio
helm repo update
7. Instala el chart cert manager
helm install cert-manager --namespace cert-manager --version v1.0.4 jetstack/cert-manager
8. Revisa que el desarrollo del cert manager esta funcionando correctamente con kubectl get pods
(puede que tengas que esperar un poco a que estén listos)
kubectl get pods --namespace cert-manager
NAME READY STATUS RESTARTS AGE
cert-manager-6d87886d5c-dksvz 1/1 Running 0 2m44s
cert-manager-cainjector-55db655cd8-mzch8 1/1 Running 0 2m44s
cert-manager-webhook-6846f844ff-fq5fr 1/1 Running 0 2m44s
Instala el servidor Rancher
9. Agrega el repositorio del servidor Rancher
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
10. Crea el Namespace para el servidor Rancher
kubectl create namespace cattle-system
11. Instala el chart para el servidor Rancher
helm install rancher rancher-stable/rancher --namespace cattle-system --set hostname=rancher.production
12. Revisa que el servidor Rancher este corriendo correctamente (espera a que los tres marquen ready)
kubectl get pods --namespace cattle-system
NAME READY STATUS RESTARTS AGE
rancher-6b78b4b7fd-7sqhg 1/1 Running 0 3m22s
rancher-6b78b4b7fd-9fmnh 1/1 Running 0 3m22s
rancher-6b78b4b7fd-xhklx 1/1 Running 0 3m22s
13. Antes de poder ver el UI del servidor Rancher, necesitamos apuntar el hostname o dominio a cualquiera de los nodos
Vamos a probarlo localmente; Edita el archivo /etc/hosts en la computadora del operador para apuntar a cualquier nodo
nano /etc/hosts
Agrega en este formato (ip) (your domain)
en mi caso quedo así
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.1.51 rancher.production
14. Ahora ve a tu explorador web e ingresa a https://(your domain)/
Veras una pagina con una advertencia (dependiendo de tu explorador)

Da clic en el botón "Advanced..."

Y da clic en "Accept the Risk and Continue"
Después de esto veras la pagina de configuración de contraseña de Rancher

15. Ingresa tu contraseña de administración y acepta los terminos y condiciones para continuar
Una vez adentro es normal si ves algunos mensajes en rojo, como provisionando o actualizando.

en algunos minutos veras todo en verde, esto quiere decir que tu cluster a sido actualizado y esta listo

Bien hecho, ya tenemos un servidor Rancher con HA (Alta disponibilidad)
Limpieza
Para eliminar la instalación primero borramos los charts de Helm
Eliminamos el chart de cert manager
helm delete cert-manager -n cert-manage
Eliminamos el chart del servidor Rancher
helm delete rancher -n cattle-system
Y finalmente removemos el cluster RKE, con ayuda de los archivos que se generaron al crear el clúster
rke remove