Clúster de instalación e implementación de Kubernetes

De hecho, publiqué el artículo en esta sección hace mucho tiempo, pero no está lo suficientemente detallado y el nivel no está claro. Cuando lo desplegué hoy, vi que era terrible (aunque el despliegue fue exitoso), y se puede considerar una confesión al hoyo anterior. Este artículo puede ser más aburrido, pero crea que esta no es mi intención. Esta debe ser una de las notas más concisas. Créame, esto definitivamente no es un desastre.

Este artículo se divide principalmente en tres partes, que son la inicialización del sistema, la instalación de la ventana acoplable, la instalación de Kubernetes, la verificación de la prueba y la eliminación de la biblioteca.

inicialización del sistema

Preste atención a la palabra todo detrás, que significa todo (maestro, nodo)

Maestro: solo en maestro

nodo: solo en nodo

Apague el firewall ( all)

## 临时关闭
systemctl stop firewalld
## 永久关闭
systemctl disable firewalld
## 验证防火墙是否关闭
systemctl status firewalld 

El efecto es el siguiente

Cerrar selinux ( all)

# 临时关闭
setenforce 0
# 永久
sed -i 's/enforcing/disabled/' /etc/selinux/config

Cerrar intercambio ( all)

# 临时
swapoff -a 
# 永久
sed  -ri 's/.*swap.*/#&/' /etc/fstab

# 一条命令完成所有
systemctl stop firewalld && setenforce 0 && swapoff -a && systemctl status firewalld 

Establecer nombre de host ( all)

# 设置名称(k8s-m-1)忽略大写字母
hostnamectl set-hostname master
# 验证
hostname

Sincronización de tiempo ( All)

yum install -y ntpdate  && ntpdate time.windows.com

Al Masteragregar el nombre de host ( master)

# 设置
cat >> /etc/hosts << EOF
masterIp master
node1Ip node1
node2Ip node2
EOF

# example
cat >> /etc/hosts << EOF
192.168.50.182	 master
192.168.50.252   node
EOF

Verifique, en este punto ping node, vea si puede hacer ping

Pase el tráfico IPV4 en puente a la cadena de iptables ( all)

cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF

# 生效
sysctl --system

Instalar Docker

Eliminar ventana acoplable (opcional)

# You can use scripts for one click installation,You may need to type enter at the end
# remove docker 
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
# Set up repository
sudo yum install -y yum-utils
wget https:/mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum -y install docker-18.06.1.ce-3.e17

Instalar ventana acoplable

# Use Aliyun Docker
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# install docker from yum
yum install  -y docker-ce docker-ce-cli containerd.io
# cat version 
docker --version

# 配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://etdea28s.mirror.aliyuncs.com"]
}
EOF

# reload
sudo systemctl daemon-reload
# 配置开启自启
sudo systemctl enable docker
# start docker
systemctl restart docker

Verificar la aceleración de la imagen de la ventana acoplable

Ingrese en el terminal docker info, el diagrama de efectos es el siguiente

Completo ~

Instalar Kubernetes

Configurar la fuente de espejo de Ali (todos)

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=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

安装 kubectl kubelet bebeadm ( all)

# install kubectl kubelet kubeadm
yum install -y kubectl kubelet kubeadm --disableexcludes=kubernetes
#--disableexcludes=kubernetes  禁掉除了这个之外的别的仓库
# set boot on opening computer
systemctl enable kubelet

inicialización de kubeadm ( Master)

kubeadm init \
--apiserver-advertise-address=masterIp   \
--image-repository registry.aliyuncs.com/google_containers  \
--service-cidr=10.10.0.0/16 \
--pod-network-cidr=10.122.0.0/16

# eg  
kubeadm init \
--apiserver-advertise-address=192.168.50.182   \
--image-repository registry.aliyuncs.com/google_containers  \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16

Si no hay ningún error, kubeadm comienza a inicializarse correctamente

Espere unos minutos, la inicialización se realizó correctamente, como se muestra en la siguiente figura.

Iniciar el clúster (maestro)

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

# 验证
kubectl get node
# 正常打印出信息即,成功

El nodo se une al clúster (nodo)

# 例如
kubeadm join 192.168.50.182:6443 --token 7t70cl.hr22v89g7wkqojdf \
    --discovery-token-ca-cert-hash sha256:d0541c10506744981838a7d4ce504eb69d28fdcfc8e1261373505c42047be33f

Esto lo proporciona el sistema después de que se completa la inicialización. Consulte su propia salida

# 默认token24hour后过期,获取新token命令如下:
kubeadm token create --print-join-command

Implementar componentes de red CNI

# 由于是国外的源,国内无法访问。我们需要添加镜像,若存在,则忽略
echo "199.232.28.133 raw.githubusercontent.com" >> /etc/hosts

# 部署CNI网络组件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# 开启IPVS,修改ConfigMap的kube-system/kube-proxy中的模式为ipvs
kubectl edit cm kube-proxy -n kube-system 
# 将空的data -> ipvs -> mode中替换如下
mode: "ipvs"

Todos están listos en este momento, de la siguiente manera

Prueba de verificación

# kubectl create deployment NAME --image=image -- [COMMAND] [args...] [options]
# 简单部署nginx
kubectl create deployment nginx --image=nginx
# 对外暴露端口
kubectl expose deployment nginx --port=80 --type=NodePort
# 查看状态
kubectl get pod,svc
# 查看命名空间
kubectl get all -n kube-system

Diagrama esquemático de implementación exitosa

Exponer puertos aleatorios

Accede a cualquier ip en el clúster

Completo ~

Complementar, eliminar el servicio implementado

kubectl get deployment 
# 我们只需要删除对应的deploy 即可
kubectl delete deployment nginx

Después de que la eliminación sea exitosa, no se puede encontrar ninguna sombra de nginx, complete

para resumir

En esta sección, usamos kubeadmherramientas para construir rápidamente un clúster de Kubernetes, inicializar el sistema y recordar apagar los firewalls, particiones, etc.

Si te ayuda, se siente bien. Puedes recomendarlo a un amigo, dejar que lo despliegue con una nota, ¿cómo puedes conseguir una buena palabra? Vamos, apresúrate a correr a la cuenta
pública
: sitio web personal de Coder : https://blogs-payne.github.io/
bienvenido a pisar, sígueme. Pasemos de 0 a uno juntos

Supongo que te gusta

Origin blog.csdn.net/wzp7081/article/details/113733851
Recomendado
Clasificación