Kubernetes er et gratis og åpen kildekode containeradministrasjonssystem som gir en plattform for automatisering av distribusjon, skalering og drift av applikasjonscontainere på tvers av grupper av vertsdatamaskiner.
Med Kubernetes kan de fritt utnytte lokale, offentlige og hybrid skyinfrastrukturer for å utføre organisasjonens distribusjonsoppgaver.
Kubernetes installasjon på Ubuntu og derivater
For en praktisk installasjon, vi skal bruke en to-node klynge som vi vil danne i denne artikkelen vil bestå av en hovednode og en slave node.
Begge nodene må ha Kubernetes installert på dem. Det første vi skal gjøre er å installere docker på begge, for dette trenger vi bare å utføre følgende kommando på dem:
sudo apt install docker.io
For å bekrefte at docker er installert, du kan kjøre følgende kommando på begge noder:
docker --version
Nå la oss fortsette å aktivere docker på begge noder:
sudo systemctl enable docker
Nå er neste trinn å legge til Kubernetes-nøkkelen til begge noder, vi gjør dette med følgende kommando:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
Neste trinn er å legge til følgende lager til begge systemene:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
Det siste trinnet i installasjonsprosessen er å installere Kubeadm på begge noder via følgende kommando:
sudo apt install kubeadm
De kan sjekke versjonsnummeret til Kubeadm og også kontrollere installasjonen via følgende kommando:
kubeadm version
Kubernetes distribusjon
Nå for å implementere Kubernetes-distribusjonen i systemet, må vi deaktivere byttehukommelse (hvis den kjører) i begge noder
De bør deaktivere bytteminne på begge noderettersom Kubernetes ikke fungerer ordentlig på et system som bruker bytteminne.
For å gjøre dette er det bare å løpe:
sudo swapoff -a
Nå er neste trinn kjør følgende kommando på masternoden for å gi den et unikt vertsnavn:
sudo hostnamectl set-hostname master-node
Mens vi skal skrive for slavernoden:
sudo hostnamectl set-hostname slave-node
Gjort dette nå vLa oss fortsette med å initialisere masternoden med følgende kommando:
sudo kubeadm init --pod-network-cidr = 10.244.0.0/16
Prosessen kan ta et minutt eller mer, avhengig av Internett-tilkoblingen din. Utgangen av denne kommandoen er veldig viktig, så du bør skrive ned informasjonen i utgangen, da den inneholder ip, token og andre.
For å begynne å bruke klyngen din, må de kjøre følgende som en vanlig bruker:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
Nå de kan bli med i et hvilket som helst antall maskiner ved å kjøre følgende på hver node som rotbrukere:
kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Hvor de vil erstatte informasjonen om tutoken, tuip og hash med informasjonen som ble sagt for noen øyeblikk siden som de vil skrive ned.
Få listen over noder
Du vil se at statusen til masternoden ikke er klar ennå. Dette er fordi ingen pod ennå har blitt distribuert på masternoden, og derfor er Container Network Interface tomt.
For å se listen trenger vi bare å utføre:
kubectl get nodes
Distribuere et podnettverk gjennom masternoden
Et pod-nettverk er et kommunikasjonsmiddel mellom nodene i et nettverk. I denne opplæringen implementerer vi et Flannel pod-nettverk i klyngen vår via følgende kommando:
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
For å vite statusen til nettverket, skriv bare inn:
kubectl get pods --all-namespaces sudo kubectl get nodes
Når dette er gjort, er det nå på tide å legge til slavernoden i nettverket for å danne en klynge, på samme måte som de må utfylle informasjonen som i masternoden.
sudo kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Nå når du kjører følgende kommando på masternoden, vil den bekrefte at to noder, masternoden og servernodene kjører på systemet ditt.
sudo kubectl get nodes
Dette viser at klyngen med to noder nå er oppe og går gjennom Kubernetes containeradministrasjonssystem.