1. Preparación del entorno
1.1 instalar ventana acoplable
Use el comando yum-config-manager, debe implementar:
yum -y install yum-utils
load docker repo
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker- ce.repo
Seleccione la versión
yum list docker-ce --showduplicates | sort -r
Instalar docker
yum instalar docker-ce-18.06.1.ce
Comprobar la versión de docker
docker --version
Iniciar
systemctl iniciar ventana acoplable
Configure Docker para que se inicie automáticamente al arrancar
systemctl enable docker
1.2 Configuración de parámetros del sistema
Los K8 habilitan el parámetro del núcleo bridge-nf-call-iptables
echo "net.bridge.bridge-nf-call-iptables=1" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
check
cat /proc/sys /net/bridge/bridge-nf-call-iptables
1.3 Configuración sin contraseña
ssh-keygen -t rsa
Si aún necesita ingresar una contraseña, verifique el registro o los permisos: cat /var/log/secure
chmod 755 /root
chmod 700 /root/.ssh
chmod 600 ~/.ssh/authorized_keys
2. Implementar el clúster k8s
2.1 instalar cubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
instalar - o raíz -g raíz -m 0755 kubectl /usr/local/bin/kubectl
2.2 Instalar RKE
https://github.com/rancher/rke/releases
mv rke_linux-amd64 rke
chmod +x rke
ln -s rke /usr/bin/rke
==> mkdir /home/rancher/opt
cp rke /home/rancher/opt
cd /usr/bin
rm -f rke
ln -s /home/ganadero/opt/rke rke
2.3 Crear un archivo de configuración de clúster
vim rancher-cluster.yml
nodos:
- dirección: 11.11.17.17
dirección_interna: 192.168.0.22 usuario: función
raíz : [plano de control, trabajador, etc.] - dirección: 11.11.20.49 dirección_interna: 192.168.0.60 usuario: función raíz : [plano de control, trabajador, etc.] - dirección : 11.11.20.21 dirección_interna: 192.168.0.18 usuario: función raíz : [plano de control, trabajador, etc.]
servicios:
etcd:
instantánea: verdadera
creación: 6h
retención: 24h
# Requerido para la terminación TLS externa con
# ingreso-nginx v0.22+
ingreso: proveedor: opciones
nginx : usar encabezados reenviados: "verdadero"
2.4 Ejecución de RKE
rke up --config rancher-cluster.yml
3. Resumen del problema
Pregunta 1:
WARN[0000] No se pudo configurar el túnel SSH para el host [11.11.21.21]: no se puede recuperar la información de Docker
1. vim /etc/ssh/sshd_config
AllowTcpForwarding sí ,
no funciona
2. Cree un administrador de usuarios, la contraseña es el mismo que el nombre de usuario
en Ejecutar bajo el usuario ranchero, no
Resumen: problemas de comunicación entre nodos
Pregunta 2:
Error: ssh: falló el protocolo de enlace: ssh: no se pudo autenticar, se intentaron métodos [ninguna clave pública], no quedan métodos admitidos
Modificar el permiso .ssh 744: chmod 744 .ssh
chmod 600 Authorized_keys
no funciona
Re-ssh-keygen -t rsa
ssh- copy-id -i ~/.ssh/id_rsa.pub [email protected]
no funciona
usermod rancher -G docker para modificar el archivo yml y abrir el puerto 6443
para el usuario: rancher
cd /opt
rm -f rke
volver a ejecutar: rke up --config yml
Abrir puerto 10248
Pregunta 3: la red en tiempo de ejecución no está lista: NetworkReady=false razón: NetworkPluginNotReady mensaje: docker: el complemento de red no está listo: cni config no inicializado El nodo
problemático es 11.11.21.21
1. Elimine este nodo, éxito
2. Verifique la configuración de este nodo, encontró que echo "net.bridge.bridge-nf-call-iptables=1" no está configurado >> /etc/sysctl.conf no funciona
, configure el sistema para
instalar los paquetes de software necesarios
yum -y install lrzsz vim gcc glibc openssl openssl-devel net-tools wget curl【No hay glibc instalado】
Cerrar selinux
Setenforce 0 #Cerrar temporalmente
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #Cerrar permanentemente Comprobar
/etc /hosts
comentarios Drop 192.168.0.181 localhost
no funciona
Resumen: problemas de comunicación entre nodos
4. Grupo de prueba
vi ~/.bashrc
+
exportar KUBECONFIG=/home/rancher/kube_config_cluster.yml
fuente ~/.bashrc
Use kubectl para probar su conectividad y ver si todos sus nodos están en estado Listo:
kubectl get nodes
verifique el estado de los pods del clúster
kubectl get pods --all-namespaces
Copia de seguridad del archivo de configuración:
cluster.yml: archivo de configuración del clúster RKE.
kube_config_cluster.yml: archivo Kubeconfig para el clúster. Este archivo contiene credenciales para acceso completo al clúster.
rancher-cluster.rkestate: archivo de estado de Kubernetes. Este archivo incluye credenciales para acceso completo al clúster.