Koji su to alati pomoću kojih možemo da uradimo instalaciju Kubernetesa na Windows 10 ili Windows 11?
Kubernetes je prvenstveno Linux tehnologija, tako da je prilično jednostavno pokrenuti ga na različitim Linux distribucijama.
Međutim šta je sa programerima koji rade na Windowsu a koji treba da pokrenu Kubernetes lokalno?
U ovom delu ćemo pokušati da objasnimo neke razlike kao i kako se instalira Kubernetes na Windows.
Šta je drugačije u korišćenju Kubernetesa na Windowsu?
Pre nego što uđemo u dublje u detalje, hajde da vidimo kakvi su izazovi u pokretanju Kubernetes klastera na Windows operativnom sistemu.
Kada govorimo o kontejnerima, obično pomislimo na Linux kontejnere, pa samim tim ćemo i pokretati Kubernetes klaster na Linux hostingu.
Međutim, postoje situacije u kojima bi trebalo izabrati Windows sisteme na nivou cele organizacije i to sa svim vrstama radnih opterećenja.
U ovakvim slučajevima, možete pokrenuti Kubernetes klaster na Windowsu, ali postoji jedno ograničenje koje treba da znate:
Kontrolnu oblast Kubernetesa može da pokrene samo Linux host.
Vaši radni čvorovi, odnosno worker nodovi, mogu da rade na Windows hostu, ali u tom slučaju vam je potreban Linux na Windows mašini da biste nesmetano pokrenuli Kubernetes.
Dostupne su različite opcije za kreiranje Linux virtuelne mašine na Windowsu, kao na primer Virtual Box ili WSL (Windows Subsystem for Linux).
Alati i saveti za pokretanje Kubernetesa na Windowsu
Sada ćemo da vidimo alate i tehnike koje vama kao programeru mogu pomoći da nesmetano pokrenete Kubernetes na Windows sistemu.
Linux komande sa WSL
WSL omogućava da pokrenete izvorne Linux komande na Windowsu bez podešavanja virtuelne mašine.
WSL je izvrsna funkcija koju je u Windows uveo Microsoft, koja značajno olakšava život programerima.
Korišćenjem Windowsa za razvoj aplikacija, može biti prepreka pri kreiranju aplikacija koje su tzv. cloud-native za Kubernetes.
Kao što je ranije pomenuto, Kubernetes kontrolnoj oblasti je potrebno Linux okruženje; WSL u tom smisli pomaže tom delu tako što pruža neke osnovne Linux funkcionalnosti za lokalno pokretanje Kubernetesa na Windowsu.
Da biste instalirali WSL na Windows, potrebna vam je Windows 10 verzija – 2004 ili novija Windows 11 (može i sa verzijjom 19041) .
Svakako proverite svoju verziju OS Windows i broj verzije pritiskom na taster sa Windows logotipom + R, zatim otkucajte winver i izaberite OK.
Možda ćete morati da ažurirate Windows ako koristite verziju ispod ove koje smo naveli.
Ako je vaša verzija Windowsa kompatibilna, možete koristiti komandu wsl-install
da biste instalirali WSL.
Međutim, starija verzija operativnog sistema Windows možda neće podržavati ovu komandu. Da biste to rešili, sledite korake instalacije pomenute u zvaničnoj dokumentaciji.
U većini slučajeva, komanda wsl-install
je dovoljna da se pokrene WSL na Windowsu.
Takođe, ova komanda se stara se o preuzimanju najnovijeg Linux kernela, postavlja WSL 2 kao podrazumevan i instalira Linux za vas.
Alternativno, možete promeniti podrazumevanu distribuciju Linuxa tako što ćete je preuzeti iz Windows prodavnice.
Na početnoj stranici Microsoft Store-a možete pretražiti WSL i odabrati neku od dostupnih Linux distribucija, kao što su Ubuntu, Debian ili Kali Linux.
Nakon preuzimanja, kada prvi put pokrenete novu Linux distribuciju, otvoriće se prozor konzole i moraćete malo da sačekate da se datoteke dekompresuju i sačuvaju na računaru.
Takođe ćete morati da kreirate korisnički nalog i lozinku za svoju novu distribuciju Linuxa, kao što je prikazano na slici ispod.
Docker Desktop na Windowsu
Docker Desktop na Windowsu vam pruža mogućnost da kreirate Kubernetes klaster sa jednim nodom na vašoj radnoj stanici.
Da vidimo koji su preduslovi za Docker Desktop na Windowsu:
- Windows 10, ažuriran na verziju 2004, Build 1903 ili noviju
- Proverite da li je WSL omogućen ili ne, pomoću funkcije Turn Windows features on or off. Uverite se da je funkcija Windows Subsystem for Linux uključena kao što je prikazano na slici.
Alternativno, da biste omogućili WSL na Windowsu, možete pokrenuti komandu Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
kao administrator.
Instalirajte WSL distribuciju iz Windows prodavnice. Podesite korisničko ime i lozinku za vašu Linux distribuciju pokrenutu u WSL-u.
Dok traje instalacija Docker Desktopa na Windows, možete izabrati WSL2 backend ili Hiperv da biste kreirali Linux virtuelnu mašinu.
Preporučuje se da koristite WSL2 radi boljih performansi.
Kada se Docker pokrene, omogućite Kubernetes klaster tako što ćete otići do Podešavanja.
Kliknite na Kubernetes na bočnoj traci, a zatim potvrdite izbor u polju za potvrdu Omogući Kubernetes. Kliknite na Apply & Restart.
Sada bi trebalo bi da vidite dva zelena svetla na dnu ekrana za podešavanja:
- Engine running
- Kubernetes running
Ne morate posebno da instalirate kubectl
da biste imali interakciju sa Kubernetes klasterom, jer se o tome brine Docker Desktop.
Proverite instalaciju i podešavanje pokretanjem sledećih kubectl
komandi u Windows Powershell-u:
PS C:\Users\ac> kubectl get all NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP 10.96.0.1 443/TCP 2m36s
PS C:\Users\ac> kubectl get node NAME STATUS ROLES AGE VERSION docker-desktop Ready control-plane,master 3m12s v1.21.5
To je to! Sada možete da počnete da raspoređujete vaše aplikacije na lokalni Kubernetes klaster koji ste instalirali na vašoj Windows mašini.
Rancher Desktop
Rancher Desktop je takođe open source aplikacija za upravljanje kontejnerima na Kubernetesu sa podrškom za macOS i Windows operativne sisteme.
Instalacija je veoma jednostavna. Nakon preuzimanja i pokretanja komande setup.exe
prikazaće vam se opcija da izaberete Kubernetes verziju, kao što je prikazano na slici.
Ova opcija izbora Kubernetes verzije nije podržana sa Docker Desktop.
Međutim, prednost je što možete pokrenuti produkcijsku Kubernetes verziju na vašoj lokalnoj Windows radnoj stanici.
Nakon što ste odabrali Kubernetes verziju, trebalo bi da vam se pojavi prozor kao na slici ispod.
Prvo će preuzeti vašu izabranu verziju Kubernetesa. Postoji mnogo opcija na bočnoj traci (tj. Kubernetes podešavanja, slike, itd.) pa se slobodno malo zaigrajte.
Ponovo možete da izaberete da koristite drugu verziju Kubernetesa tako što ćete otići na Kubernetes podešavanja kao što je prikazano na slici ispod.
Osim pokretanja lokalnog Kubernetes klastera, možete da radite build, push i pull images
, koristeći Rancher Desktop. Što više vežbate na Kubernetesu, lakše će vam biti kasnije na produkcijskom nivou.
Kind
Još jedan Kubernetes projekat za lokalno pokretanje jekind
odnosno skraćenica od Kubernetes in Docker. Umesto da kreirate VM, možete pokrenuti Kubernetes kao gomilu Docker kontejnera.
Ovom metodom dobijate brže pokretanje u poređenju sa minikubom.
Pošto kind
pokreće Kubernetes klaster kao Docker kontejnere, potrebno je da imate instaliran Docker na vašoj mašini.
Na operativnom sistemu Windows možete koristiti menadžer paketa Chocolatey kako biste instalirali kind
na vašu mašinu.
Ukoliko nemate instaliran Docker na vašem računaru, kind
će instalirati docker-desktop
za vas.
Možete pokrenuti komandu choco install kind -y
Nakon komande bi trebalo da vam se pojavi output sličan prikazanom.
PS C:\WINDOWS\system32> choco install kind -y Chocolatey v0.10.15 Installing the following packages: kind By installing you accept licenses for the packages. Progress: Downloading kind 0.11.1... 100% kind v0.11.1 [Approved] kind package files install completed. Performing other installation steps. Downloading kind 64 bit from 'https://github.com/kubernetes-sigs/kind/releases/download/v0.11.1/kind-windows-amd64' Progress: 100% - Completed download of C:\ProgramData\chocolatey\lib\kind\kind.exe (6.58 MB). Download of kind.exe (6.58 MB) completed. Hashes match. ShimGen has successfully created a shim for kind.exe The install of kind was successful.
Da biste proverili podešavanje, možete pokrenuti komandu kind --version
.
Sada ste spremni da kreirate lokalni Kubernetes sa kind
pomoću komande kind create cluster
. Hajde da i to pokrenemo.
PS C:\WINDOWS\system32> kind create cluster Creating cluster "kind" ... • Ensuring node image (kindest/node:v1.21.1) 🖼 ... ✓ Ensuring node image (kindest/node:v1.21.1) 🖼 • Preparing nodes 📦 ... ✓ Preparing nodes 📦 • Writing configuration 📜 ... ✓ Writing configuration 📜 • Starting control-plane 🕹️ ... ✓ Starting control-plane 🕹️ • Installing CNI 🔌 ... ✓ Installing CNI 🔌 • Installing StorageClass 💾 ... ✓ Installing StorageClass 💾 Set kubectl context to "kind-kind" You can now use your cluster with: kubectl cluster-info --context kind-kind Thanks for using kind! 😊
PS C:\WINDOWS\system32> kubectl get nodes NAME STATUS ROLES AGE VERSION kind-control-plane Ready control-plane,master 27m v1.21.1
Pre pokretanja kind
-a, morate znati da što se tiče resursa, kind
je prilično zahtevan, tako da zahteva najmanje 8GB memorije da bi radio bez problema.
Pokretanjem komande kind load docker-image my-image:latest
možete direktno da učitavate slike u vaš klaster bez push-ovanja u registar.
minikube
minikube je najpopularnija opcija za pokretanje lokalnog Kubernetes klastera iz sledećih razloga:
- Može se rasporediti na različite VM, bare metal ili kao Docker kontejner.
- Podržava različita vremena pokretanja kontejnera (Docker, containerd, itd.).
- Ima gotovu podršku za Kubernetes kontrolnu tablu i balansiranje opterećenja. Dakle, možete kontrolisati i dashboard i load balancer u minikubu.
- Podržava različite drajvere VM-a.
Za instalaciju, možete direktno preuzeti i pokrenuti .exe
. Alternativno, možete koristiti menadžere paketa kao što su Chocolatey ili Windows menadžer paketa.
Koristeći Chocolatey, možete pokrenuti komandu choco install minikube
da biste instalirali minikube.
PS C:\WINDOWS\system32> choco install minikube Chocolatey v0.10.15 Installing the following packages: minikube By installing you accept licenses for the packages. Progress: Downloading kubernetes-cli 1.22.2... 100% Progress: Downloading Minikube 1.23.2... 100% ................. Minikube v1.23.2 [Approved] minikube package files install completed. Performing other installation steps. ShimGen has successfully created a shim for minikube.exe The install of minikube was successful.
Sada pokrenite komandu minikube start
da biste pokrenuli Kubernetes klaster.
PS C:\WINDOWS\system32> minikube start --driver=docker * minikube v1.23.2 on Microsoft Windows 10 Pro 10.0.18363 Build 18363 * Using the docker driver based on user configuration * Starting control plane node minikube in cluster minikube * Pulling base image ... > gcr.io/k8s-minikube/kicbase: 355.40 MiB / 355.40 MiB 100.00% 3.32 MiB p/ * Creating docker container (CPUs=2, Memory=2200MB) ... * Preparing Kubernetes v1.22.2 on Docker 20.10.8 ... - Generating certificates and keys ... - Booting up control plane ... - Configuring RBAC rules ... * Verifying Kubernetes components... - Using image gcr.io/k8s-minikube/storage-provisioner:v5 * Enabled addons: default-storageclass, storage-provisioner * Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
PS C:\WINDOWS\system32> kubectl get nodes NAME STATUS ROLES AGE VERSION minikube Ready control-plane,master 7m57s v1.22.2
Sada možete nastaviti sa raspoređivanjem vaših apliakcija na minikubu.
6.Lens
Lens je open source desktop aplikacija za macOS, Windows i Linux koja vam omogućava da upravljate Kubernetes klasterom.
Možete ga preuzeti za Windows ovde i koristiti ga za pregled i upravljanje stanjem vašeg Kubernetes klastera.
Pruža funkcije kao što su upravljanje višestrukim klasterima, podrška za različite Kubernetes distribucije, jednostavno otklanjanje grešaka i podrška za upravljanje Helm grafikonima koje ćemo i spomenuti ovde.
Trebalo bi da vidite sledeći ekran kada se instalacija završi.
Na sledećoj slici ekrana takođe pokazuje da je Lens IDE za Kubernetes automatski otkrio kubeconfig datoteku i dodao je u katalog Lens.
Na sledećoj slici, imajte na umu da su pod Catalog > Categories > Clusters navedena dva lokalna Kubernetes klastera:
- docker-desktop
- rancher-desktop
Lens IDE je povezao ove informacije iz kubeconfig datoteke. Zatim se povezujete rancher-desktop
komandom na Kubernetes klaster
Nakon povezivanja rancher-desktop
sa Kubernetes klasterom, trebalo bi da vidite neke podrazumevane podove, implementacije i sve drugo što se nalazi trenutno pod radnim opterećenjem za prostor pod imenom kube-system
.
Još jedna sjajna karakteristika sa Lensa je da možete da instalirate Helm grafikone jednim klikom.
Lens će prikazati sve grafikone iz konfigurisanih Helm repozitorijuma (Bitnami je podrazumevano konfigurisan) u odeljku Apps.
Sledeći snimak ekrana prikazuje Nginx u traci za pretragu.
Da biste instalirali grafikon, jednostavno ga izaberite i kliknite na Install.
Šta smo ovde naučili.
Windows podsistem za Linux pomaže da se premosti jaz između Windowsa i Linuxa.
Uz alate kao što su Docker Desktop, minikube, kind i Rancher Desktop, lokalno pokretanje Kubernetes klastera na Windowsu, može biti veoma lako.
Ne zaboravite da podesite alate za upravljanje vašim Kubernetes klasterom, kao što je Lens. Sa alatima koje smo naveli u ovom tekstu, možete testirati i razvijati vaše aplikacije na Windosu bez poteškoća, a što je još bitnije lako možete sve instalirati, kao i obrisati.
Vidimo se uskoro u sledećem nastavku o Kubernetesu.
Napišite komentar