Serverovny.cz/Články/Open source řešení

Jak implementovat Kubernetes pro správu kontejnerizovaných aplikací na serveru?

Praktický návod na nastavení a efektivní využití Kubernetes pro správu kontejnerizovaných aplikací na serverové infrastruktuře.

628 slov
6.3 minut čtení
2. 1. 2024
Markéta Hájková

Úvod do světa Kubernetes

V dnešním digitálním věku, kdy se stále více aplikací přesouvá do světa kontejnerizace, se Kubernetes stal neodmyslitelnou součástí správy těchto kontejnerů. Pokud se vám zdá, že správa aplikací prostřednictvím kontejnerů je složitá, nebojte se! V tomto článku vás provedeme krok za krokem implementací Kubernetes pro správu vašich kontejnerizovaných aplikací na serveru. Odkryjeme tajemství, jak si zjednodušit život a získat kontrolu nad vaší serverovou infrastrukturou.

Proč právě Kubernetes?

Kubernetes, zkráceně K8s, je open-source systém pro automatizaci nasazení, škálování a správu kontejnerizovaných aplikací. Je to mocný nástroj, který vám umožní orchestraci vašich kontejnerů a zajištění jejich dostupnosti a výkonu. Ať už provozujete malé aplikace nebo rozsáhlé podnikové systémy, Kubernetes přináší flexibilitu a možnosti, které usnadňují práci.

Příprava na instalaci Kubernetes

Předtím než se pustíme do samotného nastavení, je důležité mít na paměti několik základních požadavků:

  1. Serverová infrastruktura: Měli byste mít k dispozici servery (fyzické nebo virtuální), které budou sloužit jako uzly (nodes) vašeho klastru.
  2. Operační systém: Podporovány jsou různé distribuce Linuxu, jako například Ubuntu a CentOS. Ujistěte se, že váš systém je aktuální.
  3. Znalost příkazového řádku: Některé příkazy budete muset zadávat přímo do terminálu. Základní orientace v příkazovém řádku je proto nezbytná.

Krok 1: Instalace potřebných nástrojů

Než se pustíme do instalace Kubernetes, nainstalujeme také Docker, který bude naším hlavním nástrojem pro práci s kontejnery. Docker nám umožní vytvářet, nasazovat a spravovat kontejnery. Na Ubuntu můžete použít následující příkazy:

sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

Dalším nezbytným nástrojem je kubectl, což je CLI nástroj pro komunikaci s vaším Kubernetes klastrem. Instalaci provedete takto:

echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/k8s.list
gpg --keyserver keyserver.ubuntu.com --recv-keys 6A8A1B5C
gpg -a --export 6A8A1B5C | sudo apt-key add -
sudo apt update
sudo apt install kubectl

Krok 2: Instalace Kubernetes pomocí Minikube

Pokud jste v Kubernetes nováčky a chcete začít rychle, doporučuji použít Minikube. Ten vám umožní spustit lokální instance Kubernetes na vašem počítači. Postupujte následovně:

  1. Instalace Minikube:
    curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
    sudo install minikube-linux-amd64 /usr/local/bin/minikube
    
  2. Spuštění Minikube:
    minikube start
    

Tento příkaz vytvoří lokální klastr Kubernetes běžící ve virtuálním stroji.

Krok 3: Nasazení první aplikace

Nyní, když máte svůj klastr běžící, čas na to nasadit první kontejnerizovanou aplikaci! Vytvořte jednoduchý YAML soubor pro vaši aplikaci:

yaml
dapiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-world-deployment
spec:
  replicas: 2  # Počet instancí aplikace
template:
    metadata:
      labels:
        app: hello-world-app
    spec:
      containers:
      - name: hello-world-container
        image: nginx # Použijeme obraz nginx jako příklad 

Uložte tento soubor jako hello-world-deployment.yaml a spusťte příkaz:

kubectl apply -f hello-world-deployment.yaml

Tento příkaz nasadí vaši aplikaci do Kubernetes a spustí dva repliky Nginx webového serveru.

Krok 4: Správa zdrojů pomocí kubectl

Kubernetes poskytuje mocné možnosti správy prostřednictvím kubectl. Například můžete zjistit stav vašeho nasazení pomocí:

kubectl get deployments
dkubectl get pods # Získáte seznam podů (instancí)
kubectl describe pod \<pod_name\> # Získáte podrobnosti o konkrétním podu.

Tyto příkazy vám umožňují monitorovat stav vašeho klastru a reagovat na případné problémy.

Krok 5: Expozice vaší aplikace

Aby byla vaše aplikace přístupná zvenčí, musíte ji vystavit pomocí služby (Service). Přidejte následující konfiguraci k vaší existující YAML definici:

dapiVersion: v1
kind: Service
metadata:
  name: hello-world-service
spec:
  type: LoadBalancer # Vystavení služby jako LoadBalancer
targetPort: 80 # Port, na kterém bude služba dostupná.
spec:
type: ClusterIP # Definice typu služby 
hpport:8080 # Port služby
targetPort:80 # Port kontejneru 
dtype : NodePort # Typ služby (NodePort)
spec:
targetPort :80# Port kontejneru
type : NodePort# Typ služby (NodePort)
spec:
targetPort :80# Port kontejneru
type : NodePort# Typ služby (NodePort)
spec:
targetPort :80# Port kontejneru
type : NodePort# Typ služby (NodePort)
spec:
targetPort :80# Port kontejneru
type : NodePort# Typ služby (NodePort)
spec:
targetPort :80# Port kontejneru
type : NodePort# Typ služby (NodePort)
spec:
targetPort :80# Port kontejneru
type : NodePort# Typ služby (NodePort)
15255 přečtení článku
270 lajků
2. 1. 2024
Markéta Hájková
  • Kubernetes

  • kontejnerizované aplikace

  • správa kontejnerů

  • serverová infrastruktura

  • Minikube

  • Docker

  • orchestrace kontejnery

  • nasazení aplikací

  • Kubernetes tutorial

  • serverový management

O autorovi

Markéta Hájková

Tech podnikatelka a programátorka. Vyvinula několik úspěšných mobilních aplikací a založila startup v oblasti EdTech. Vystudovala informatiku na ČVUT a absolvovala stáž v Googlu. Specializuje se na no-code nástroje a technologické inovace. Píše o technologických trendech a možnostech podnikání v IT bez nutnosti programování.

Dotazy k článku