Basado en centos7
Todos los anfitriones
Configurar / etc / hosts
#Cerrar intercambio
swapoff -a #temporal
sed -ri 's /.* swap. * / # & /' / etc / fstab # 永久
#Apaga el firewall
systemctl detener firewalld systemctl deshabilitar firewalld
# Sincronización horaria
systemctl start chronyd.service
systemctl enable chronyd.service
cp / usr / share / zoneinfo / Asia / Shanghai / etc / localtime
#Cerrar SELINUX
setenforce 0
sed -i 's / ^ SELINUX = imponiendo $ / SELINUX = permissive /' / etc / selinux / config
Instalar Docker a través de yum
# paso 1: Instale algunas herramientas del sistema necesarias
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Paso 2: agregue la información de la fuente del software
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
## Instale la versión especificada de Docker-CE:
## Paso 3.1: Encuentra la versión de Docker-CE:
## yum list docker-ce.x86_64 --showduplicates | sort -r
## Paso 3.2: Instale la versión especificada de Docker-CE
## yum -y --setopt = obsoletes = 0 install docker-ce- [VERSION] docker-ce-selinux- [VERSION]
# Paso 3: Actualice e instale Docker-CE
yum -y instalar docker-ce-19.03 docker-ce-selinux
# Paso 4: Encienda el servicio Docker # Puede crear el archivo /etc/docker/daemon.json
systemctl enable docker && systemctl start docker
Configurar el acelerador de Docker de imágenes en la nube de Alibaba
gato << EOF> /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver = systemd"],
"registros-espejos": ["https://0bb06s1q.mirror.aliyuncs.com"],
"log-driver": "archivo json",
"log-opts": {
"tamaño máximo": "100 m"
},
"controlador de almacenamiento": "overlay2",
"storage-opts": ["overlay2.override_kernel_check = true"]
}
EOF
# Reiniciar Docker
systemctl daemon-reload && systemctl restart docker && systemctl enable docker.service
# 安装 bebeadm , kubectl , kubelet
Agregar fuente de yum
gato << EOF> /etc/yum.repos.d/kubernetes.repo
[gobernador]
name = Gobernadores
baseurl = https: //mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
habilitado = 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
instalar software
yum install -y kubelet-1.19.1 kubadm-1.19.1 kubectl-1.19.1
# Configurar kubelet para arrancar
systemctl enable kubelet && systemctl start kubelet
Modifique el archivo k8s.conf
gato << EOF> /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --sistema
echo "1"> / proc / sys / net / ipv4 / ip_forward
Todas las máquinas están inicializadas
Instalación e implementación maestra
Exportar archivo de personalización de implementación de clúster de kubeadm
kubeadm config print init-defaults> init.default.yaml
#Modificar archivo de configuración personalizado
Modifique las siguientes preguntas
- Dirección IP del nodo principal
- Repositorio de imágenes de direcciones de duplicación de Ali nacional: registry.aliyuncs.com/google_containers
- Configuración del segmento de red del módulo: los diferentes segmentos de red del complemento de red son diferentes, ver detalles
#Tire de la imagen del contenedor de kubernetes de Alibaba Cloud
Lista de imágenes de configuración de kubeadm --config init.default.yaml extracción de imágenes de configuración de kubeadm --config init.default.yaml
imageRepository: registry.aliyuncs.com/google_containers
#inicialización
kubeadm init --config = init.default.yaml
#Configure el certificado de usuario (se generará después de la inicialización anterior)
mkdir -p $ INICIO / .kube
sudo cp -i /etc/kubernetes/admin.conf $ INICIO / .kube / config
sudo chown $ (id -u): $ (id -g) $ HOME / .kube / config
#Compruebe que el estado del clúster no está listo porque la red de pod no está instalada.
kubectl obtener nodo
Instalar pod network-Calico
Las diferentes redes de pod tienen diferentes requisitos para los segmentos de la red de pod, consulte el sitio web oficial . El que instalé aquí es Calico.
kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml
maestro completa la instalación
instalación de nodo
Ejecute el comando de unión de nodo de vista en el maestro
kubeadm token create --print-join-command
De acuerdo con la información de salida, ejecute el comando de unión en el nodo del nodo.
#Reiniciar
reinicio de kubeadm
rm -rf /etc/cni/net.d/
rm -rf / etc / kubernetes /
rm -rf ~ / .kube /
hacer la instalación e implementación maestra
Esta versión de instalación
versión docker
Cliente: Docker Engine - Comunidad
Versión: 19.03.12
versión kubectl
Versión del cliente: version.Info {Major: "1", Minor: "19", GitVersion: "v1.19.1", GitCommit: "206bcadf021e76c27513500ca24182692aabd17e", GitTreeState: "clean", BuildDate: "2020-09-09T11: 26: 42Z ", GoVersion:" go1.15 ", Compilador:" gc ", Plataforma:" linux / amd64 "}
Versión del servidor: version.Info {Major: "1", Minor: "19", GitVersion: "v1.19.0", GitCommit: "e19964183377d0ec2052d1f1fa930c4d7575bd50", GitTreeState: "clean", BuildDate: "2020-08-26T14: 23: 04Z ", GoVersion:" go1.15 ", Compilador:" gc ", Plataforma:" linux / amd64 "}