Instale Kubernetes 1.18 a través de kubeadm

proceso de instalación

requerimientos de instalación

img-wmqmzEAR-1667975326786)(/upload/2022/10/image-1666868848566.png

Preparación ambiental
Role IP
maestro 10.0.0.13
nodo1 10.0.0.5
nodo2 10.0.0.16
#关闭防火墙 (如果是云服务器不需要管默认关闭)(每台机子都要)
systemctl stop firewalld
systemctl disable firewalld

# 关闭selinux(这里需要永久关闭,云服务器默认关闭)(每台机子都要)
sed -i 's/enforcing/disabled/' /etc/selinux/config  # 永久
setenforce 0  # 临时

# 关闭swap(永久关闭)(每台机子都要)
swapoff -a  # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久

# 根据规划设置主机名(每台机子都要设置成不同的)
hostnamectl set-hostname <hostname>

# 在master添加hosts
cat >> /etc/hosts << EOF
10.0.0.13 kmaster
10.0.0.5 knode1
10.0.0.16 knode2
EOF

# 将桥接的IPv4流量传递到iptables的链(每台机子都要)
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system  # 生效
# 时间同步(每台机子都要)
yum install ntpdate -y
ntpdate time.windows.com
Instalar ventana acoplable

Consulte la instalación y desinstalación sin cerebro de Centos7 de Docker y la aceleración de imágenes

Aviso:所有机子都要安装Docker/kubeadm/kubelet

Agregue la fuente de software Alibaba Cloud YUM
$ cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
Instale kubeadm, kubelet y kubectl
 yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
 systemctl enable kubelet
Implementar el nodo maestro de Kubernetes
kubeadm init \
  --apiserver-advertise-address=10.0.0.13 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.18.0 \
  --service-cidr=10.96.0.0/12 \
  --pod-network-cidr=10.244.0.0/16
Implementar nodos de nodos de Kubernetes

Después de ejecutar el comando anterior, se generará el siguiente comando

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

En este punto podemos comprobar la compilación.

kubectl get nodes

Si no se muestra listo, no ha tenido éxito.
Necesitamos vincular el comando generado anteriormente en el nodo.

kubeadm join 192.168.1.11:6443 --token esce21.q6hetwm8si29qxwn \
    --discovery-token-ca-cert-hash sha256:00603a05805807501d7181c3d60b478788408cfe6cedefedb1f97569708be9c5

Este comando tiene un valor predeterminado de 24 horas. Cuando caduque, el token ya no estará disponible. En este momento, es necesario volver a crear el token.

kubeadm token create --print-join-command
Implemente el complemento de red CNI (todos los nodos deben ejecutarse)
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

La instalación y la velocidad de ejecución aquí son relativamente lentas. Podemos esperar un momento
y verificar si el ESTADO se está ejecutando después de ejecutar el comando anterior.

inserte la descripción de la imagen aquí

kubectl get pods -n kube-system
kubectl get nodes
Probar el clúster de Kubernetes
 kubectl create deployment nginx --image=nginx
 # 暴露端口
 kubectl expose deployment nginx --port=80 --type=NodePort
 kubectl get pod,svc

Dirección de acceso: http://NodeIP:Port El servicio en la nube debe liberar las reglas de seguridad

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_46213587/article/details/127769314
Recomendado
Clasificación