Kubernetes

Grundläggande Kubernetesmiljö

Sätt upp en Virtual Machine på Azure och installera följande miljö:

Se till att du har senaste package-listorna på servern:
sudo apt-get update && sudo apt-get upgrade -y
2. Lägg till paket för https-CURL-hämntningar
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
3. Lägg in verifieringen för att validera dina nedladdningar sen
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
4 Lägg till repot för Kubernetes paket-källa
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
5.Installera Kubernetes
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
och tillåt IP-koppling med IP-tables och nätverksstyrning
echo "net.bridge.bridge-nf-call-iptables=1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p

6. Lägg till Docker
sudo apt-get install docker.io

7. Skapa en fil som heter daemon.json med följande innehåll genom detta script:
sudo nano /etc/docker/daemon.json
8. Kopiera in detta i filen:
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
7. Tryck sedan:
CTRL+X sedan Y och sedan enter
starta om Docker
sudo systemctl restart docker
Kolla så att rätt driver används av Docker
sudo docker info | grep Cgroup
ipt
Screenshot 2022-02-08 at 06.16.55.png
9. Logga in på Docker:
sudo docker login
10. Hämta din image (Pull request) (tex myapplication/myimage )
sudo docker pull [NAMNET_PÅ_IMAGE]
Eller använd min tillfälligt:

Hämta Kubernetes config-filer
sudo kubeadm config images pull

Initiera Kubernetes
sudo kubeadm init
Om du får fel, åtgärde dem eller kör:
sudo kubeadm init --ignore-preflight-errors=all

Notera och spara den info du får efter din init (speciellt din join-IP och det —token som genererats)
bild.png


Den får ladda ett litet tag.
Skapa sedan konfigurationsfilerna för Kubernetes:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

11. Sluta vara SU, genom att skriva :
exit

12. Installera Minikube:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
sudo systemctl daemon-reloadsudo nano
docker system prune
minikube delete

sudo usermod -aG docker $USER && newgrp docker
12. Skapa ditt kluster med minikube med antingen
minikube start

eller
minikube start --driver=docker

Du kan behöva öka din storlek på din virtuella maskin till BS2 så den har 2st CPUer och sedan starta minikub
bild.png
bild.png
bild.png

13. Initiera din Ingress via detta steg:
$ minikube addons enable ingress

14. Skapa din deployment från din Docker image
$ kubectl create deployment instansnamn --image=namnet_på_image

Öppna upp din nya pod på en port
$ kubectl expose deployment instansnamn --type=NodePort --port=VALD_PORT_TEX_5000

15. Visa dina pods:
kubectl get pods -o wide
16. Visa dina deployments:
kubectl get deployments

17. Skala din deployment
kubectl scale --replicas=7 deployment [NAMNET_PÅ_DEPLOYMENT]

För att ändra inställningarna för din deployment
Skapa en yalm-fil från din nuvarande reployment
kubectl get deployment [namnet på din deployment] -n default -o yaml > deployment.yaml

Kör en ny instruktions-deployment från en Yaml-fil
kubectl apply -f deployment.yaml


Du kan nu koppla en annan VM som också har Kubernetes installerad till ditt kluster genom att skriva detta kommando i VM nummer 2 (som du vill koppla till ditt kluster) som du då också behöver installera Kubernetes på (steg 1 - 12):
kubeadm join [din-VM-privata-ip] --token [ditt-token] \
--discovery-token-ca-cert-hash [ditt hashade token]

Du kan även få fram dessa tokens genom:
kubeadm token generate
kubeadm token create <generated-token> --print-join-command --ttl=0

Öppna upp en port mot en av dina services:
kubectl port-forward service/[Service-namnet] port_att_öppna_mot:port_som_leder_dit
Denna port ska vara densamma som din service har.

Om något går fel med dina pods.
Kubernetes felsök:
kubectl get events
eller:
kubectl describe node [namnet på din nod]

Rest kubernetes cluster using kubeadm
kubeadm reset -f

Du kan nu koppla din nya deployment & pod-miljö mot Nginx
Om du ännu inte installerat Nginx, kör:
apt-get install nginx
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.