Kubernetes és un sistema d'administració de contenidors gratuït i de codi obert que proporciona una plataforma per a l'automatització de la implementació, l'escalat i les operacions dels contenidors d'aplicacions en grups d'equips host.
Amb Kubernetes, poden fer ús lliurement de la infraestructura de núvol híbrida, local i pública per a executar les tasques d'implementació de la seva organització.
Instal·lació Kubernetes en Ubuntu i derivats
Per a una instal·lació pràctica, utilitzarem un clúster de dos nodes que formarem en aquest article constarà d'un node mestre i un node esclau.
Tots dos nodes necessiten tenir Kubernetes instal·lat en ells. El primer que farem és instal·lar docker en tots dos, per a això n'hi ha prou que executem en ells la següent comanda:
sudo apt install docker.io
Per verificar que docker està instal · lat, poden executar en els dos nodes la següent comanda:
docker --version
Ara anem a procedir a habilitar docker en tots dos nodes:
sudo systemctl enable docker
Ara el següent pas és afegir la clau de Kubernetes a tots dos nodes, això ho fem amb la següent comanda:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
El següent pas és afegir el següent repositori a banda i sistemes:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
L'últim pas en el procés d'instal·lació és instal·lar Kubeadm en tots dos nodes a través del següent comanda:
sudo apt install kubeadm
Poden comprovar el nombre de versió de Kubeadm i també verificar la instal·lació a través de la següent comanda:
kubeadm version
desplegament Kubernetes
Ara per implementar el desplegament de Kubernetes en el sistema hem de desactivar la memòria d'intercanvi (si s'està executant) en tots dos nodes
Han de desactivar la memòria d'intercanvi en ambdós nodes, Ja que Kubernetes no funciona correctament en un sistema que utilitza memòria d'intercanvi.
Per a això n'hi ha prou amb executar:
sudo swapoff -a
Ara el següent pas és executar la següent comanda en el node mestre per donar-li un nom d'amfitrió únic:
sudo hostnamectl set-hostname master-node
Mentre que per al node esclau hem de teclejar:
sudo hostnamectl set-hostname slave-node
Fet això ara vamos a procedir a inicialitzar el node mestre amb la següent comanda:
sudo kubeadm init --pod-network-cidr = 10.244.0.0/16
El procés pot trigar un minut o més depenent de la seva connexió a Internet. La sortida d'aquesta comanda és molt important pel que han d'anotar la informació de la sortida, ja que conté la ip, token i altres.
Per començar a utilitzar el teu clúster, necessiten executar el següent com a usuari regular:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
Ara poden unir-se a qualsevol nombre de màquines executant el següent en cada node com a usuaris root:
kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
On van a reemplaçar la informació de tutoken, tuip i el teu hash per la informació que es va dir fa uns moments que anotessin.
Obtenint la llista de nodes
Veureu que l'estat de el node mestre encara no està llest. Això es deu al fet que encara no s'ha implementat cap pod en el node mestre i, per tant, la interfície de xarxes de contenidors és buida.
Per veure el llistat només hem d'executar:
kubectl get nodes
Implementant una xarxa de pod a través del node mestre
Una xarxa de pod és un mitjà de comunicació entre els nodes d'una xarxa. En aquest tutorial, estem implementant una xarxa de pod de Flannel en el nostre clúster a través del següent comanda:
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Per conèixer l'estat de la xarxa, només cal teclejar:
kubectl get pods --all-namespaces sudo kubectl get nodes
Fet això ara és moment d'afegir el node esclau a la xarxa per a formar un clúster, d'igual forma han de complementar la informació a l'igual que en el node mestre.
sudo kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Ara, quan executin la següent comanda en el node mestre, ha de confirmar que dos nodes, el node mestre i els nodes de servidor s'estan executant en el vostre sistema.
sudo kubectl get nodes
Això mostra que el clúster de dos nodes ara està actiu i en execució a través del sistema d'administració de contenidors Kubernetes.