Instalación y uso de Rancher 2.x

Instalación y uso de Rancher 2.x

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 .

Sitio web oficial chino

Documento oficial

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

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:

Uso de rancher-cli

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:

Aprendizaje de Nginx: use diferentes nombres de dominio para acceder a diferentes proyectos en la misma máquina

Basado en Host-mynginx
Basado en Host-mytomcat

3. Balanceo de carga del controlador de ingreso de Nginx basado en la ruta

Basado en Path

# 启用后端重写
nginx.ingress.kubernetes.io/rewrite-target=/

referencia:

Configuración de equilibrio de carga de Rancher Ingress

Supongo que te gusta

Origin blog.csdn.net/ory001/article/details/109046761
Recomendado
Clasificación