Kubernetes er et gratis og open source containerhåndteringssystem det giver en platform til automatisering af implementering, skalering og drift af applikationscontainere på tværs af grupper af værtscomputere.
Med Kubernetes kan de frit udnytte lokale, offentlige og hybrid skyinfrastrukturer til at udføre deres organisations implementeringsopgaver.
Kubernetes installation på Ubuntu og derivater
For en praktisk installation, vi skal bruge en to-node-klynge, som vi vil danne i denne artikel, vil bestå af en masternode og en slave-node.
Begge noder skal have Kubernetes installeret på dem. Den første ting, vi skal gøre, er at installere docker på dem begge, for dette skal vi bare udføre følgende kommando på dem:
sudo apt install docker.io
For at kontrollere, at docker er installeret, du kan køre følgende kommando på begge noder:
docker --version
Nu lad os fortsætte med at aktivere docker på begge noder:
sudo systemctl enable docker
Nu er det næste trin at tilføje Kubernetes-nøglen til begge noder, vi gør dette med følgende kommando:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
Det næste trin er at tilføje følgende lager til begge systemer:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
Det sidste trin i installationsprocessen er at installere Kubeadm på begge noder via følgende kommando:
sudo apt install kubeadm
De kan kontrollere Kubeadm-versionsnummeret og også kontrollere installationen via følgende kommando:
kubeadm version
Kubernetes-implementering
For at implementere Kubernetes-implementeringen i systemet skal vi deaktivere swap-hukommelse (hvis den kører) i begge noder
De skal deaktivere swap-hukommelse på begge noderda Kubernetes ikke fungerer korrekt på et system, der bruger swap-hukommelse.
For at gøre dette skal du bare køre:
sudo swapoff -a
Nu er det næste trin kør følgende kommando på masternoden for at give den et unikt værtsnavn:
sudo hostnamectl set-hostname master-node
Mens vi skal skrive til slaveknudepunktet:
sudo hostnamectl set-hostname slave-node
Udført nu vLad os fortsætte med at initialisere masternoden med følgende kommando:
sudo kubeadm init --pod-network-cidr = 10.244.0.0/16
Processen kan tage et minut eller mere afhængigt af din internetforbindelse. Outputtet fra denne kommando er meget vigtigt, så du skal skrive oplysningerne i output ned, da den indeholder ip, token og andre.
For at begynde at bruge din klynge skal de køre følgende som en almindelig bruger:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
Nu de kan slutte sig til et hvilket som helst antal maskiner ved at køre følgende på hver node som rootbrugere:
kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Hvor de vil erstatte oplysningerne om tutoken, tuip og din hash med de oplysninger, der blev sagt for nogle øjeblikke siden, som de vil skrive ned.
Få listen over noder
Du vil se, at status for masternoden ikke er klar endnu. Dette skyldes, at der ikke er implementeret nogen pod på masternoden endnu, og derfor er containernetværksgrænsefladen tom.
For at se listen skal vi kun udføre:
kubectl get nodes
Implementering af et podnetværk gennem masternoden
Et pod-netværk er et kommunikationsmiddel mellem et nodes noder. I denne vejledning implementerer vi et Flannel pod-netværk i vores klynge via følgende kommando:
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
For at kende netværkets status skal du bare skrive:
kubectl get pods --all-namespaces sudo kubectl get nodes
Når dette er gjort, er det nu tid til at tilføje slaveknudepunktet til netværket for at danne en klynge, på samme måde som de skal supplere informationen som i masternoden.
sudo kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Når du nu kører følgende kommando på masternoden, vil den bekræfte, at to noder, masternoden og servernoderne kører på dit system.
sudo kubectl get nodes
Dette viser, at klyngen med to noder nu er i gang gennem Kubernetes containerhåndteringssystem.