Instalación y uso de Rancher 2.x
Directorio de artículos
-
- Instalación y uso de Rancher 2.x
-
- 1. Introducción a Rancher
- Dos, instalación de Rancher
- 1. Preparación de la máquina
- 2.instalación de Docker
- 3. Instalación del ranchero
- Tres, configuración web
- Cuarto, use RKE para construir un clúster K8S
- Cinco, construye la primera aplicación
- Seis, el uso de Rancher cli
- Siete, configuración de equilibrio de carga de Rancher Ingress
1. Introducción a Rancher
Rancher es una plataforma de gestión de contenedores para empresas que utilizan contenedores. Rancher simplifica el proceso de uso de Kubernetes. Los desarrolladores pueden ejecutar Kubernetes (Ejecutar Kubernetes en todas partes) en cualquier lugar, cumplir con los requisitos y especificaciones de TI y capacitar a los equipos de DevOps.
rancher1.x admite la integración de docker compose, swarm, kubernates, etc. El nombre de la imagen es rancher / server .
rancher 2.15 admite kubernates, y el nombre del espejo es rancher / rancher .
La versión estable actual es 2.4.8 y la última versión es 2.5.1 Se recomienda utilizar la versión estable.
SO y Docker
TIPO | VERSIÓN | VALIDADO / CERTIFICADO EL1 |
---|---|---|
CentOS | 7.5, 7.6, 7.7, 7.8 | Docker 17.03.2, 18.06.2, 18.09.x, 19.03.x |
Oracle Linux | 7,6, 7,7 | Docker 19.03.x |
RancherOS | 1.5.6 | Docker 17.03.2, 18.06.2, 18.09.x (hasta 18.09.8), 19.03.x |
RHEL | 7.5, 7.6, 7.7, 7.8 | RHEL Docker 1.13.x Docker 17.03.2, 18.06.2, 18.09.x, 19.03.x |
SLES | 12 SP5, 15 SP1 | Docker 19.03.x |
Ubuntu | 16.04, 18.04, 20.04 | Docker 17.03.2, 18.06.2, 18.09.x, 19.03.x |
Servidor de windows | 1809, 1903 | Docker 19.03.x EE Solo para nodos trabajadores |
Ranchero Kubernetes
TIPO | VERSIÓN UPSTREAM | VALIDADO / CERTIFICADO EL2,3,4,5 |
---|---|---|
Ranchero lanzado | 1.18.6 | etcd: v3.4.3 franela: v0.12.0 canal: v3.13.4 nginx-ingress-controller: 0.32.0 |
Ranchero lanzado | 1.17.9 | etcd: v3.4.3 franela: v0.12.0 canal: v3.13.4 nginx-ingress-controller: 0.32.0 |
Ranchero lanzado | 1.16.13 | etcd: v3.3.15 franela: v0.12.0 canal: v3.13.4 nginx-ingress-controller: 0.32.0 |
Ranchero lanzado | 1.15.12 | etcd: v3.3.10 franela: v0.12.0 canal: v3.13.4 nginx-ingress-controller: 0.32.0 |
Esta selección: CentOS 7.8, Docker 19.03.12, RKE predeterminado
Dos, instalación de Rancher
1. Preparación de la máquina
Preparación de la máquina | Requisitos de hardware | Roles |
---|---|---|
ranchero | 2C 、 2G | ranchero / ganadero: estable |
k8s-maestro | 4C 、 8G | ranchero / ranchero-agente: v2.4.8 、 Etcd 、 Controller Manager 、 Scheduler 、 Worker 、 业务 service |
nodo k8s | 4C 、 8G | ranchero / ranchero-agente: v2.4.8 、 Worker 、 业务 service |
Nota: No use rancher como nodo trabajador del clúster k8s para evitar conflictos entre rancher y los puertos nginx-ingress-controller (ambos son puertos 80 y 443).
2.instalación de Docker
** Observaciones: ** Se recomienda utilizar el espejo de Netease 163 como fuente de imagen de la ventana acoplable.
3. Instalación del ranchero
# 设置hostname
hostname rancher && hostnamectl set-hostname rancher
mkdir -p /home/rancher/rancher
mkdir -p /home/rancher/auditlog
docker run -d --privileged --restart=unless-stopped -p 80:80 -p 443:443 -v /home/rancher/rancher:/var/lib/rancher -v /home/rancher/auditlog:/var/log/auditlog --name rancher rancher/rancher:stable
# 防火墙设置
firewall-cmd --add-port 80/tcp --permanent
firewall-cmd --add-port 443/tcp --permanent
firewall-cmd --reload
# 或者
systemctl stop firewalld && systemctl disable firewalld
Tres, configuración web
Dirección de visita: https://192.168.1.222/
Establecer contraseña: admin / admin
Establecer idioma: cambia el inglés a "chino simplificado" en la esquina inferior derecha
Cuarto, use RKE para construir un clúster K8S
referencia:
Ejemplo de introducción al ranchero
Nota:
1. Durante el proceso de construcción de k8s, la imagen de la ventana acoplable se extraerá automáticamente, lo que requiere mucho tiempo. Dependiendo de la velocidad de la red, generalmente toma alrededor de 10 minutos .
2. Si la red falla todo el tiempo, verifique el registro de errores.
Por ejemplo: durante el proceso de configuración de una máquina K8S, seguí sin poder indicar que la verificación de estado de etcd fallaba. Revisé el registro y descubrí que la verificación del certificado falló.
Solución: elimine el clúster de prueba y vuelva a establecerlo.
# 查看日志
docker logs --since 120s etcd
Cinco, construye la primera aplicación
Consulte el "Ejemplo de introducción al ranchero".
Seis, el uso de Rancher cli
1. Instale kubectl, Rancher cli
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum install kubectl
# 支持windows、linux、MacOS
wget https://releases.rancher.com/cli2/v2.4.6/rancher-linux-amd64-v2.4.6.tar.gz
tar -zxvf rancher-linux-amd64-v2.4.6.tar.gz
mv rancher-v2.4.6/rancher /usr/bin/rancher
rm -rf rancher-v2.4.6/
2. Autenticación y prueba de inicio de sesión
rancher login https://chain1/v3 --token token-m7zhb:crd5zfxvwfj4bkz66kncsml7g5z7cgsbz86bzx6hdflnwfbt2t6vk7
# 测试命令
rancher kubectl get node
Nota:
Si kubectl no está instalado en la máquina de prueba, aparecerá el siguiente error.
FATA[0000] kubectl is required to be set in your path to use this command. See https://kubernetes.io/docs/tasks/tools/install-kubectl/ for more info. Error: exec: "kubectl": executable file not found in $PATH
referencia:
Siete, configuración de equilibrio de carga de Rancher Ingress
Soporte de equilibrio de carga 1.Rancher 2.x
Sabemos que Kubernetes admite estrategias de equilibrio de carga de capa 4 y capa 7. El equilibrio de carga de capa 4 (o equilibrio de carga externo) admite el reenvío de solicitudes HTTP y TCP a Nodeports, y el equilibrio de carga de capa 7 (o controlador de entrada) admite cargas basadas en el host y la ruta .Saldo y terminal SSL, ya que solo admite el reenvío de solicitudes HTTP y HTTPS, necesita escuchar en los puertos 80 y 443. Consulte la tabla a continuación para conocer la compatibilidad de EKS, GKE, AKS y RKE en cada plataforma en la nube para las estrategias de equilibrio de carga de 4 y 7 capas.
Implementar el clúster | Soporte de equilibrio de carga de 4 capas | Soporte de equilibrio de carga de capa 7 |
---|---|---|
Amazon EKS | La nube de AWS brinda soporte | La nube de AWS brinda soporte |
Google GKE | La nube de GCE brinda soporte | La nube de GKE brinda soporte |
Azure AKS | La nube de Azure brinda soporte | no apoyo |
RKE en EC2 | La nube de AWS brinda soporte | Controlador de entrada Nginx |
RKE es DigitalOcean | no apoyo | Controlador de entrada Nginx |
RKE en vSphere | no apoyo | Controlador de entrada Nginx |
RKE en hosts personalizados | no apoyo | Controlador de entrada Nginx |
Nota: La capa inferior del balanceo de carga de 7 capas de implementación de clúster RKE admite el tipo de controlador de entrada Nginx de forma predeterminada.
2. Balanceo de carga de Nginx Ingress Controller basado en el método de host
# 由于未申请购买域名,临时修改hosts文件(位置C:\Windows\System32\drivers\etc\hosts)演示
# 追加以下内容
192.168.1.220 mynginx.example.com mytomcat.example.com
Nota: Los diferentes nombres de dominio se resuelven para diferentes aplicaciones en la misma IP. (permitir)
referencia:
3. Balanceo de carga del controlador de ingreso de Nginx basado en la ruta
# 启用后端重写
nginx.ingress.kubernetes.io/rewrite-target=/
referencia: