Seguir este tutorial para instalar acoplable https://blog.csdn.net/u010606397/article/details/89816295
Nota: cargador de muelle-base debe haber sido instalado estibador, modificar el almacén espejo estibador, desactive el firewall
Configurar una máquina virtual K8S básicos plantilla
K8S-base replican una máquina virtual a cabo. Copiar -> generar una dirección MAC para todas las tarjetas de red -> replicación completa. La figura siguiente pasos:
Haga clic en la configuración de la máquina virtual, la memoria de modificación, el número de CPU, red
Modificar la memoria es de 2048 MB
nodo K8S requiere al menos dos cpu
3 con el fin de permitir que los nodos que se comunican entre sí, es necesario para establecer el puente de red. Ajuste solamente una tarjeta, pero no configurar varias tarjetas de red
Iniciar la máquina virtual
Como los nombres de los nodos del clúster kubernetes no pueden ser los mismos, por lo que tenemos que reparar los centos de nombre de host
vim / etc / hostname
En lugar k8sbase Guardar y salir
Ver información de la tarjeta
dir ip
nombre de la NIC de mis máquinas virtuales a enp0s3, que puede no ser el nombre
Modificar la configuración de tarjeta de red
vim / etc / sysconfig / Network- scripts / ifcfg-enp0s3 detrás # enp0s3 es el nombre de la tarjeta, es posible que no sea el nombre
Entramos en la ventana principal ipconfig / todo ver la configuración de la red de acogida
Primero comente # BOOTPROTO = dhcp, ONBOOT # = no. Luego de llenado
# Usar una dirección estática
BOOTPROTO = estática
# tarjeta de arranque
ONBOOT = yes
diferente # 3 dígitos con el último anfitrión de
IPADDR = 192.168.1.200
# máscara de subred
NETMASK = 255.255.255.0
# Usar el anfitrión pasarela
gateway = 192.168.1.1
# host mediante DNS
el DNS1 = 116.116.116.116
Desactivar SELINUX
vim / etc / selinux / config
SELINUX = desactivado
Cerrar partición de intercambio
vi / etc / fstab
Responder a cabo # / dev / mapper / centos de intercambio de intercambio XXXXX
Uso Ali nube Kubernetes fuente de espejo
cat << EOF> /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
Compruebe el almacén se establece repolist éxito yum
Cerrar k8sbase
shutdown -h now
máquina virtual nueva k8s01
Después de configurar K8S-base, se utiliza como base para la máquina virtual, debe copiar los tres máquinas virtuales.
En primer lugar copiar cabo k8s01 máquina virtual, copiar los pasos con la máquina virtual las anteriores K8S-base es la misma, los pasos principales son las siguientes:
Copiar -> generar una dirección MAC para todas las tarjetas de red -> copia completa
Modificar el nombre de host es k8s01
vim / etc / hostname
Modificar ip IPADDR = 192.168.xx.xx # También puede haber una multitud de otros IP en la misma subred
vim / etc / sysconfig / network-scripts / ifcfg-enp0s3
Reiniciar la máquina virtual
-h reiniciar ahora
Debido al cambio de huésped, es posible que desee eliminar la conexión Xshell en estrecha Xshell, y crear una nueva conexión con el fin de conectar la máquina virtual. Viendo el paquete que se puede instalar
yum list | grep kubeadm
安装 tortilla-1.14.1-0, kubectl-1.14.1-0, kubeadm-1.14.1-0
yum -y install tortilla-1.14.1-0 1.14.1-0 kubectl-kubeadm-1.14.1-0
versión kubeadm
Inicio, arranque kubelet
systemctl inicio kubelet
systemctl permiten kubelet
kubernetes requieren componentes en la organización k8s.gcr.io, pero el continente no es capaz de descargar la imagen gotas bajo la organización k8s.gcr.io.
La solución es descargar componentes desde el espejo Kubernetes otras organizaciones, y luego generar k8s.gcr.io/XXX refleja localmente por etiqueta ventana acoplable. Tales máquinas virtuales tienen una réplica local k8s.gcr.io la organización.
Tirando de la kubernetes nodo maestro espejo deseado montaje, que es la versión 1.14.1
mirrorgooglecontainers descargador de tracción / kube-apiserver-amd64: v1.14.1
mirrorgooglecontainers descargador de tracción / kube-controlador-manager-amd64: v1.14.1
mirrorgooglecontainers descargador de tracción / kube-planificador-amd64: v1.14.1
mirrorgooglecontainers descargador de tracción / kube-proxy-amd64 : v1.14.1
cargador de muelle de tracción mirrorgooglecontainers / ETCD-amd64: 3.3.10
mirrorgooglecontainers cargador de muelle de tracción / pausa-amd64: 3.1
coredns tracción acoplable / coredns: 1.3.1
tejido K8s.gcr.io generada por la etiqueta espejo ventana acoplable locales
mirrorgooglecontainers etiqueta acoplable / kube-apiserver-amd64: v1.14.1 k8s.gcr.io/kube-apiserver:v1.14.1
ventana acoplable mirrorgooglecontainers TAG / kube-controlador-manager-amd64: v1.14.1 k8s.gcr.io/kube-controller -Manager: v1.14.1
mirrorgooglecontainers etiqueta ventana acoplable / Kube-planificador-amd64: v1.14.1 k8s.gcr.io/kube-scheduler:v1.14.1
ventana acoplable mirrorgooglecontainers etiqueta / Kube-proxy-amd64: v1.14.1 k8s.gcr.io /kube-proxy:v1.14.1
etiqueta ventana acoplable mirrorgooglecontainers / ETCD-amd64: 3.3.10 k8s.gcr.io/etcd:3.3.10
mirrorgooglecontainers etiqueta acoplable / pausa-amd64: 3,1 k8s.gcr.io/pause:3.1
etiqueta ventana acoplable coredns / coredns: 1.3.1 k8s.gcr.io/coredns:1.3.1
# Iptables problema reenvío de paquetes a veces, iptables configuración
vim /etc/sysctl.conf
net.bridge.bridge-de NF-Call-iptables = 1
net.ipv4.ip_forward = 1
Validar la configuración
sudo sysctl -p
Inicializar el nodo maestro, 10.244.0.0/16 es un enchufe de red de franela segmento
kubeadm init --apiserver-Publicidad-address = 主机 ip --kubernetes-version = v1.14.1 --pod-red-cidr = 10.244.0.0 / 16
Representante inicializar el nodo maestro se muestra en la figura éxito. Kubeadm unirse a una copia de esta orden a cabo, es necesario utilizar al añadir un nuevo nodo
kubeadm unirse 192.168.1.201:6443 --token m8oXXXXXvp5c \
--discovery-token-ca-cert-hash SHA256: XXXX
################################################## #########
# Si el proceso init atascado, abra otro terminal, ejecute el comando siguiente para ver el registro de
journalctl kubelet.service -f -u
estado # reinicio antes del primer nodo antes kubeadm estado init, se realiza de nuevo para volver a kubeadm init
kubeadm reinicio
# token es válido durante 24 horas, 24 nodo hijo recién añadida, vuelva a crear el token
kubeadm el símbolo crean
# Ver ficha
kubeadm símbolo Lista
################################################## ##################
KUBECONFIG variable de entorno de configuración, y el comando de reinicio luego se desempeñó pueden utilizarse kubectl
exportación KUBECONFIG = / etc / kubernetes / admin.conf
echo "KUBECONFIG exportación = / etc / kubernetes / admin.conf" >> / etc / bashrc
Instalación franela de enchufe a la red.
https://raw.githubusercontent.com puede ser una pared, puede ser descargado en la máquina local Kube-flannel.yml y, luego se copia en la máquina virtual.
rizo basado https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl aplicar -f kube flannel.yml
Compruebe el funcionamiento del nodo maestro, espera un minuto, a continuación, conecte la red hacia arriba. Si no se ajustan a las variables de entorno KUBECONFIG, ejecutar este error de comando
kubectl get vainas -n-kube sistema -o amplia
El nodo maestro en la instalación se realizó correctamente.
máquina virtual nueva k8s02
También k8s02 máquinas virtuales replicadas a través de K8S-base.
Copiar -> generar una dirección MAC para todas las tarjetas de red -> copia completa
Modificar el nombre de host es k8s02
vim / etc / hostname
Modificar ip IPADDR = 192.168.XXX # También puede haber una multitud de otros IP en la misma subred
vim / etc / sysconfig / network-scripts / ifcfg-enp0s3
# Iptables problema reenvío de paquetes a veces, iptables configuración
vim /etc/sysctl.conf
net.bridge.bridge-de NF-Call-iptables = 1
net.ipv4.ip_forward = 1
Validar la configuración
sudo sysctl -p
Reiniciar la máquina virtual
-h reiniciar ahora
安装 tortilla-1.14.1-0, kubectl-1.14.1-0, kubeadm-1.14.1-0
yum -y install tortilla-1.14.1-0 1.14.1-0 kubectl-kubeadm-1.14.1-0
versión kubeadm
Inicio, arranque kubelet
systemctl inicio kubelet
systemctl permiten kubelet
nodo deseado desde el espejo menos
mirrorgooglecontainers cargador de muelle de tracción / Pausa-amd64: 3.1
mirrorgooglecontainers tracción acoplable / Kube-proxy-amd64: v1.14.1
mirrorgooglecontainers etiqueta acoplable / pausa-amd64: 3,1 k8s.gcr.io/pause:3.1
mirrorgooglecontainers etiqueta acoplable / kube-proxy-amd64: v1.14.1 k8s.gcr.io/kube-proxy:v1.14.1
comando de ejecución obtenido inicializar el nodo maestro, se añade el nodo al clúster
kubeadm unirse comando de inicialización cuando el 01-K8S: 6443 --token m8oXXXXXvp5c \
--discovery-token-CA-CERT-hash SHA256: XXXX
Ejecución kubectl get nodos en el sitio primario para ver todos los nodos del clúster
El nodo maestro se olvide de cambiar el nombre de host o k8sbase, no importa, simplemente salsa.
################################################## ############
# Eliminar nodos necesitan para ejecutar los siguientes dos comandos
# Ejecutado en el nodo principal
kubectl nodo borrado k8s03
estado de restablecimiento del nodo # k8s03
reinicio kubeadm
################################################## ############
k8s03 nodos que funcionan con k8s02 es el mismo, recuerde que debe cambiar el nombre de host, IP