Kubernetes

Skala med Worker Nodes


bild.png
I detta fall har vi en huvud-VM som agerar “master”, som använder resurserna på andra Virtual Machines som också har Kubernetes. Och kan då skala trafiken även mellan dessa (som att det vore en och samma stor dator).
De andra VM’sen som är Worker Nodes (hjälpmaskiner) har också Kubernetes och samma images & pods automatiskt på sig från master-maskinen.

Installera först Docker enligt dessa steg

För att ha worker-nodes i vårt kluster för Kubernetes behöver vi förlita oss helt på kubeadm (utan minikube alls).

2. Add the Kubernetes repo GPG key into the key manager:
$ sudo su
$ curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg

3. Add the Kubernetes repo details to the repository source list:
$ echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

4. Here, the installation comes in three pieces: kubelet, kubeadm, and kubectl. Let's update the repository and start the installation:
$ apt update -y
$ apt-get install -y kubelet kubeadm kubectl
5. To hold the installed packages with current versions, use the command below. These packages cannot be upgraded or removed until the hold mark is removed.
$ apt-mark hold kubelet kubeadm kubectl

6. Enable the process to start on boot and reload the kubelet daemon. Check the current status of the daemon:
$ systemctl enable kubelet
$ systemctl daemon-reload
$ systemctl restart kubelet.service

7. kubeadm installation is now complete. Let's create the new cluster using kubeadm init (ihop med din privata IP för din huvud-VM):
$ kubeadm init --apiserver-advertise-address=[privata-IP] --pod-network-cidr=10.244.0.0/16
Spara det meddelandet med “join”-scriptet och token som du får i slutet av det lyckade meddelandet.
bild.png

8. To start using your cluster, you need to run the following as a regular user:
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

9. Alternatively, if you are the root user, you can run:
$ export KUBECONFIG=/etc/kubernetes/admmin.conf

10 You should now deploy a pod network to the cluster.
$ Run "kubectl apply -f [podnetwork].yaml"

11. We often use Flannel as the cluster's network provider, as shown here:
$ kubectl apply -f https://github.com/coreos/flannel/raw/master/Documentation/kube-flannel.yml
Detta hjälper dina virtuella maskiner att kommunicera med varandra för Kubernetes

12. Nu kan du sätta upp 1-2 stycken till VM’s och gör stegen ovan fram till 1 - 6 på båda de nya Virtuella Maskinerna som vi ska använda som “workers” i vårt kluster för skalning. Se till att de “hjälp”-noderns / Woerk_virtual machines ligger på samma virtuella nätverk som din huvud-virtual-machine i Azure när du skapar dem.
bild.png
13. Now, we can join many worker nodes by running the following join command on each worker node as root:

$ kubeadm join [VM-IP]:6443 --token [token] --discovery-token-ca-cert-hash sha256:[ytterligare-token]
Du kommer få en egen variant av scriptet för steg 13 efter att du kört “kubeadm init” tidigare. Se till att använda ditt eget script.


14. Let's execute the below command to check the node joining status on the cluster:
$ kubectl get nodes

NAME STATUS ROLES AGE VERSION
iod-master Ready control-plane,master 44h v1.23.1
iod-worker-2 NotReady <none> 32h v1.23.1
iod-worker-3 Ready <none> 32s v1.23.1

15. öppna följande portar på din main-VM och dina worker VM’s
sudo ufw allow 8285/udp
sudo ufw allow 8472/udp

15. Aktivera nu ingress med följande script:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml

16. Now we can deploy our Kubernetes deployment and services on the main VM and control the load balancing cluster från steg #13 i

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.