paso 1
Configure el nombre de host (cada nombre de host no puede ser el mismo, modifíquelo uno por uno, aquí está solo el comando para modificar el nombre de host)
Ver nombre de host nombre de host
Modificar nombre de host
hostnamectl set-hostname <your_hostname>
paso 2
Configure el archivo de hosts para que los nodos puedan usar el nombre de host para acceder entre sí
cat> / etc / hosts << EOF
<node_ip> <node_hostname>
<node_ip> <node_hostname>
<node_ip> <node_hostname>
<node_ip> <node_hostname>
<node_ip> <node_hostname>
EOF
paso 3
Actualizar la fuente de yum (la actualización de yum solo actualiza la clave, la actualización de yum actualiza la clave y el kernel)
yum actualización -y
etapa 4
Instalar dependencias
yum install -y epel-release conntrack ipvsadm ipset jq sysstat curl iptables libseccomp
paso 5
Antes de apagar la protección contra incendios
systemctl detener firewalld && systemctl deshabilitar firewalld
paso 6
Restablecer iptables (el comando -X elimina una determinada cadena de reglas, -F elimina todas las reglas en una determinada cadena de reglas, -P define una política de filtrado)
iptables -F && iptables -X && iptables -F -t nat && iptables -X -t nat && iptables -P FORWARD ACEPTAR
paso 7
Cerrar intercambio
intercambio -a
Utilice el siguiente comando para operar el archivo / etc / fstab, comente la línea / dev / mapper / centos_master-swap swap swap defaults 0 0
sed -i 's /. intercambiar. / # & / '/ etc / fstab
paso 8
Cerrar selinux
sed -i's / SELINUX = enforcing / SELINUX = disabled / g '/ etc / selinux / config
# cierre permanente setenforce 0 # cierre temporal
paso 9
Cierre dnsmasq (de lo contrario, puede hacer que el contenedor de la ventana acoplable no resuelva el nombre de dominio)
servicio dnsmasq stop && systemctl deshabilitar dnsmasq
paso-10
Hacer archivo de configuración
cat> /etc/sysctl.d/kubernetes.conf << EOF
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
vm. swappiness = 0
vm.overcommit_memory = 1
vm.panic_on_oom = 0
fs.inotify.max_user_watches = 89100
EOF
Documento efectivo
modprobe br_netfilter
sysctl -p /etc/sysctl.d/kubernetes.conf
paso 11
Instalar Docker
Crea el directorio requerido
mkdir -p / opt / kubernetes / docker && cd / opt / kubernetes / docker
Establecer fuente de yum
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Puede ver todas las versiones de Docker en todos los almacenes y seleccionar una versión específica para instalar:
yum list docker-ce --showduplicates | sort -r
Instale la versión especificada de Docker, si no se especifica el número de versión, se instalará la última versión de Docker.
sudo yum install -y docker-ce- <VERSION_STRING> docker-ce-cli- <VERSION_STRING> containerd.io
yum install -y docker-ce-19.03.8 docker-ce-cli-19.03.8 containerd.io
arranque de la ventana acoplable
systemctl enable docker && systemctl start docker
Establecer los parámetros de inicio de la ventana acoplable
-Establezca el directorio de datos de la ventana acoplable: elija una partición más grande (no necesito configurar el directorio raíz aquí, el predeterminado es / var / lib / docker)
-Configure el controlador cgroup para evitar inconsistencias en el controlador del archivo y hacer que la duplicación no se inicie (el valor predeterminado es cgroupfs, el propósito principal es estar unificado con la configuración de kubelet, aquí tampoco puede configurar cgroupfs más adelante en el kubelet )
La información de Docker puede ver el tipo de controlador cgroup
cat </etc/docker/daemon.json
{ “graph”: “/ docker / data / path”, “exec-opts”: [“native.cgroupdriver = systemd”] } EOF
Iniciar el servicio de Docker
systemctl start docker
Ejemplo detallado de configuración de daemon.json
{
"Debug": falso,
"Experimental": falso,
"Gráfico": "/ home / docker-data",
"Exec-opts": ["native.cgroupdriver = systemd"],
"Registros-espejos": [
"Https://fy707np5.mirror.aliyuncs.com"
],
“Registros inseguros”: [
"Hub.zy.com",
"172.16.249.159:8082"
]
}
Iniciar el servicio de Docker
systemctl reiniciar ventana acoplable
paso-12
安装 bebeadm, kubelet, kubectl
kubeadm: comando para implementar el clúster
kubelet: un componente que se ejecuta en todas las máquinas del clúster, responsable de administrar el ciclo de vida de los pods y contenedores
kubectl: herramienta de administración de clústeres (opcional, siempre que esté instalada en el nodo que controla el clúster)
Configure la fuente de yum, aquí está el código fuente de yum de kubernetes de Alibaba Cloud
cat </etc/yum.repos.d/kubernetes.repo
[kubernetes]
name = Kubernetes
baseurl = http: //mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
habilitado = 1
gpgcheck = 0
repo_gpgcheck = 0
gpgkey = http: //mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
Herramienta de instalación
Busque el número de versión para instalar
yum list kubeadm --showduplicates | sort -r
Instale la versión especificada (aquí se usa 1.18.2)
yum install -y kubeadm-1.18.2-0 kubelet-1.18.2-0 kubectl-1.18.2-0 --disableexcludes = kubernetes
### Configuración opcional
Configure el cgroupdriver de kubelet (el cgroupdriver predeterminado de kubelet es systemd, si el exec-opts de la ventana acoplable no está configurado en systemd arriba, debe configurar el kubelet en cgroupfs aquí)
sed -i “s / cgroup-driver = systemd / cgroup-driver = cgroupfs / g” /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
Iniciar todos los nodos de kubelet
systemctl enable kubelet && systemctl start kubelet