Nuestro cluster se va a compener de 4 ordenadors/maquinas virtuales fisicos:
Preaparando el entorno
para configurar la ip manualmente usarmeos el comando:
nmtui
Luego configurar el archivo /etc/hosts con la ip de los demas nodos
vi /etc/hosts
192.168.1.88 k8s-master 192.168.1.41 node01 192.168.1.42 node02 192.168.1.43 node03
La siguiente instalacion se efetuara en las 4 maquinas.
Deshabilitar SELinux and Swap
setenforce 0 sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux swapoff -a vi /etc/fstab # /dev/mapper/centos-swap swap swap defaults 0 0
Habilitar el module br_netfilter
modprobe br_netfilter
vi /etc/sysctl.conf
Añadimos al final
net.bridge.bridge-nf-call-iptables = 1
Guardamos y ejecutamos.
sysctl -p
Deshabilitar el firewall
systemctl stop firewalld systemctl disable firewalld systemctl mask --now firewalld
Install Docker-ce
yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce-18.03.1.ce-1.el7.centos
habilitar el servicio docker
systemctl start docker systemctl enable docker
configurar el servicio de docker
vi /etc/docker/daemon.json { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] }
Install Kubernetes
Añadir el repo de kubernetes
vi /etc/yum.repos.d/kubernetes.repo
[kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
Instalar kubernetes
yum install -y kubelet-1.14.7-0 kubeadm-1.14.7-0 kubectl-1.14.7-0
Habilitar el servicio kubelet
systemctl enable kubelet systemctl start kubelet
reboot
Starting Cluster
Iniciar kubeadm init en el master
En caso de usar flannel
kubeadm init --apiserver-advertise-address=192.168.1.88 --pod-network-cidr=10.244.0.0/16
Exponer el archivo de configuracion a usuario regular
mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config
Desplegar el pod network
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Copiar el token y el hash generado sera necesario para unir nodos al cluster, tenemos que usar este comando en los nodos
kubeadm join 192.168.1.88:6443 --token exw87m.nipez9fst1keqehh --discovery-token-ca-cert-hash sha256:381735aa25e490539d420da8319b8a3dc73ef9caa1ce66405519999bcc3fc6cd
Verificar
kubectl get pods --all-namespaces kubectl get nodes
Para ver el log en detalle de un pod
kubectl --namespace=kube-system describe pod pod-name
Para ver de nuevo el kubeadm join
kubeadm token create --print-join-command
Videos
Configurando cada nodo
Creando el cluster
0 comentarios