Proceso de Instalación de Rancher Kubernetes Engine (RKE)
RKE es un instalador de Kubernetes rápido y versátil que puede usar para instalar Kubernetes en sus hosts Linux. Puede comenzar con un par de pasos rápidos y sencillos. RKE se ejecuta en casi cualquier sistema operativo Linux con Docker instalado. Para obtener detalles sobre qué versiones de SO y Docker se probaron con cada versión, consulte los términos de mantenimiento de soporte.
-
Descargar el binario RKE
-
Preparar los nodos para el clúster de Kubernetes
-
Creación del archivo de configuración del clúster
-
Implementación de Kubernetes con RKE
-
Guardar los archivos generados
-
Interactuar con su clúster de Kubernetes

Laboratorio: Requerimientos de instalación Rancher Kubernetes Engine (RKE)
Descripción
RKE se ejecuta en casi cualquier sistema operativo Linux con Docker instalado, la siguiente guía incluye los pasos a realizar para llevar a cabo la preparación de un servidor para la instalación de Rancher Kubernetes Engine (RKE)
Objetivos
- Configurar/Instalar los requerimientos para una instalación de Rancher Kubernetes Engine (RKE)
Antes de comenzar
- Contar con el acceso al ambiente de laboratorio
Inicio del Laboratorio
- Ingresar al servidor student-#-aio con las credenciales o llave proporcionados
ssh student@student-#-aio -i student-#-private_key.pem - Agregar al sistema operativo el repositorio de Docker CE
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo - Remover el software que no es necesario para este laboratorio (Es posible que el software no se encuentre instalado)
sudo dnf remove podman buildah -y - Listar las versiones de Docker CE disponibles para realizar la instalación
sudo yum list docker-ce --showduplicates - Llevar a cabo la instalación de Docker CE y herramientas necesarias
sudo yum install wget docker-ce -y - Habilitar el servicio de Docker CE
sudo systemctl enable --now docker - Verficar que el servicio de Docker CE se encuentre iniciado correctamente
sudo docker info - Crear un usuario de sistema operativo para llevar a cabo la instalación de RKE
sudo useradd rke -
Agregar al usuario RKE de instalación al grupo de Docker CE
sudo usermod -aG docker rkeRealizar todos los pasos anteriores también para los servidores student-#-master y student-#-worker
Para acceder a los servidores student-#-master y student-#-worker por medio de SSH, se debe copiar la llave privada asignada (student-#-private_key.pem) hacia el servidor student-#-aio, asegurandose que cuente con los permisos (0600), y utilizarla de la siguiente manera (dentro del servidor student-#-aio):
ssh student@student-#-master -i student-#-private_key.pem ssh student@student-#-worker -i student-#private_key.pem -
Ingresar al servidor student-#-aio con las credenciales o llave proporcionados
-
Crear el directorio donde se almacena la llave SSH para el usuario rke
sudo -u rke mkdir --mode=0700 ~rke/.ssh/ - Generar una llave SSH para poder realizar la conexión con el usuario de instalación de RKE, por defecto se genera el el directorio ~/.ssh/
ssh-keygen -N "" -f ~/.ssh/id_rsa - Copiar la llave generada anteriormente al archivo ~/.ssh/authorized_keys del usuario de instalación de RKE
cat .ssh/id_rsa.pub |sudo -u rke tee -a ~rke/.ssh/authorized_keys - Validar el acceso por medio de SSH utilizando el usuario de instalación de RKE a cada uno de los servidores de conforman el laboratorio
Nota: Si aparece el mensaje:
ssh rke@student-#-aio uptimeEsbriba la palabra yes y presione EnterAre you sure you want to continue connecting (yes/no/[fingerprint])?Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Realizar los siguientes pasos para el servidor student-#-master
- Ingresar al servidor student-#-master con las credenciales o llave proporcionados
- Crear el directorio donde se almacena la llave SSH para el usuario rke
sudo -u rke mkdir --mode=0700 ~rke/.ssh/ - Copiar el contenido del archivo ~/.ssh/id_rsa.pub del servidor student-#-aio hacia el archivo ~rke/.ssh/authorized_keys del servidor student-#-master
echo "CONTENIDO_PUB_KEY" |sudo -u rke tee -a ~rke/.ssh/authorized_keys
Realizar los siguientes pasos para el servidor student-#-worker
- Ingresar al servidor student-#-worker con las credenciales o llave proporcionados
- Crear el directorio donde se almacena la llave SSH para el usuario rke
sudo -u rke mkdir --mode=0700 ~rke/.ssh/ - Copiar el contenido del archivo ~/.ssh/id_rsa.pub del servidor student-#-aio hacia el archivo ~rke/.ssh/authorized_keys del servidor student-#-worker
echo "CONTENIDO_PUB_KEY" |sudo -u rke tee -a ~rke/.ssh/authorized_keys
Revisar los accesos sin credenciales desde el servidor student-#-aio
- Ingresar al servidor student-#-aio con las credenciales o llave proporcionados
- Validar el acceso por medio de SSH utilizando el usuario de instalación de RKE a cada uno de los servidores de conforman el laboratorio
Nota: Si aparece el mensaje:
ssh rke@student-#-aio hostname ssh rke@student-#-master hostname ssh rke@student-#-worker hostnameEsbriba la palabra yes y presione EnterAre you sure you want to continue connecting (yes/no/[fingerprint])?Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Laboratorio: Instalación Rancher Kubernetes Engine (RKE)
Descripción
RKE se ejecuta en casi cualquier sistema operativo Linux con Docker instalado, el siguiente laboratorio aborda la instalación de Rancher Kubernetes Engine en modo All In One para efectos del laboratorio.
Objetivos
- Realizar la instalación Rancher Kubernetes Engine (RKE) en modo Single Server
Antes de comenzar
- Contar con el acceso al ambiente de laboratorio
Inicio del Laboratorio
- Ingresar al servidor student-#-aio con las credenciales o llave proporcionados
- LLevar a cabo la instalación del CLI de Kubernetes (kubectl)
mkdir -p ~/bin/ cd ~/bin/ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" chmod +x ~/bin/kubectl - Verificar la version del CLI de Kubernetes (kubectl)
kubectl version - Configuración de bash auto-completion
sudo yum install bash-completion -y echo "source <(kubectl completion bash)" >> ~/.bashrc source ~/.bashrc - Realizar las pruebas de autocompletado, si no funciona en la misma terminal, puede abrir una nueva terminal para que los cambios se apliquen.
kubectl c[TAB] - Realizar la instalación del binario RKE
cd ~ wget https://github.com/rancher/rke/releases/download/v1.4.10/rke_linux-amd64 mv rke_linux-amd64 ~/bin/rke chmod +x ~/bin/rke - Verificar la versión de RKE
rke --version - Revisar las versiones de Kubernetes soportadas para la instalación actual de Rancher Kubernetes Engine (RKE)
rke config --list-version --all - Generar el archivo de instalación y configuración del cluster de Rancher Kubernetes Engine (RKE) All In One donde estará instalado Rancher Server Antes de comenzar verifique la siguiente información:
- Dirección IP de su servidor student-#-aio
- Usuario de Instalación, para este laboratorio se esta utilizando el usuario llamado rke
mkdir -p ~/rke-cluster-aio
cd ~/rke-cluster-aio/
rke config --name cluster.yml
rke config --name cluster.yml
[+] Cluster Level SSH Private Key Path [~/.ssh/id_rsa]:
[+] Number of Hosts [1]:
[+] SSH Address of host (1) [none]: student-#-aio
[+] SSH Port of host (1) [22]:
[+] SSH Private Key Path of host (10.128.0.39) [none]:
[-] You have entered empty SSH key path, trying fetch from SSH key parameter
[+] SSH Private Key of host (10.128.0.39) [none]:
[-] You have entered empty SSH key, defaulting to cluster level SSH key: ~/.ssh/id_rsa
[+] SSH User of host (10.128.0.39) [ubuntu]: rke
[+] Is host (10.128.0.39) a Control Plane host (y/n)? [y]: y
[+] Is host (10.128.0.39) a Worker host (y/n)? [n]: y
[+] Is host (10.128.0.39) an etcd host (y/n)? [n]: y
[+] Override Hostname of host (10.128.0.39) [none]:
[+] Internal IP of host (10.128.0.39) [none]: xx.xx.xx.xx
[+] Docker socket path on host (10.128.0.39) [/var/run/docker.sock]:
[+] Network Plugin Type (flannel, calico, weave, canal, aci) [canal]:
[+] Authentication Strategy [x509]:
[+] Authorization Mode (rbac, none) [rbac]:
[+] Kubernetes Docker image [rancher/hyperkube:v1.21.5-rancher1]:
[+] Cluster domain [cluster.local]:
[+] Service Cluster IP Range [10.43.0.0/16]:
[+] Enable PodSecurityPolicy [n]:
[+] Cluster Network CIDR [10.42.0.0/16]:
[+] Cluster DNS Service IP [10.43.0.10]:
[+] Add addon manifest URLs or YAML files [no]:
cat ~/rke-cluster-aio/cluster.yml
rke up
INFO[0000] [dialer] Setup tunnel for host [10.0.0.1]
INFO[0000] [network] Deploying port listener containers
INFO[0000] [network] Pulling image [alpine:latest] on host [10.0.0.1]
INFO[0101] Finished building Kubernetes cluster successfully
- Revisar los archivos generados posterior a una instalación satisfactoria
ls -ltr ~/rke-cluster-aio/ cat ~/rke-cluster-aio/cluster.yml cat ~/rke-cluster-aio/kube_config_cluster.yml cat ~/rke-cluster-aio/cluster.rkestate - Ingresar y revisar el cluster de Kubernetes ALL IN One utilizando el archivo kubeconfig
export KUBECONFIG=~/rke-cluster-aio/kube_config_cluster.yml - Verifique que todos los servidores estan ejecutándose correctamente
kubectl get nodes - Verifique que todos los pods estan ejecutándose correctamente
kubectl get pods -A