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

flannel.yaml

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

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *