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

  1. 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
Puedes cambiar el hostname por tu hostname personalizado o tu dominio

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

Referencias