Kubernetes w akcji – deployowanie i zarządzanie aplikacją krok po kroku

Jeżeli masz już podstawową wiedzę o Kubernetes i chcesz przejść do praktycznego wdrażania aplikacji, to ten artykuł jest właśnie dla Ciebie. Pokażemy Ci, jak krok po kroku zbudować, wdrożyć i zarządzać aplikacją webową z wykorzystaniem manifestów YAML, narzędzia kubectl oraz zaawansowanych funkcji Kubernetes, takich jak readinessProbe, livenessProbe, autoskalowanie (HPA), rolling update i rollback.

W Spark Academy stawiamy na praktykę. Ten artykuł jest tylko przykładem tego, jak wygląda nauka na naszych kursach, w tym na kursie „Pierwsze kroki w Linuxie”, gdzie dotykamy również podstaw konteneryzacji i Kubernetes. Jeśli naprawdę chcesz zwiększyć swoje kompetencje w IT, dołącz do naszych kursów prowadzonych przez doświadczonych praktyków.

Krok 1: Tworzenie manifestu YAML i Service

Podstawą wdrożenia aplikacji w Kubernetes jest manifest YAML. Opisujemy w nim, jak aplikacja ma działać i jakie zasoby są jej potrzebne.

Przykładowy manifest dla aplikacji webowej (plik app-deployment.yaml):

Po utworzeniu Deploymentu potrzebujemy Service, aby aplikacja była dostępna dla użytkowników:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-app
  labels:
    app: web-app
spec:
replicas: 2
selector:
matchLabels:
     app: web-app
  template:
     metadata:
     labels:
      app: web-app
   spec:
containers:
    - name: web-app
        image: myregistry/web-app:v1
        ports:
        - containerPort: 80
        readinessProbe:
          httpGet:
          path:
          port: 80
          initialDelaySeconds: 10
          periodSeconds: 5
          livenessProbe:
          httpGet:
            path: /
            port: 80
          initialDelaySeconds: 15
          periodSeconds: 20

Po utworzeniu Deploymentu potrzebujemy Service, aby aplikacja była dostępna dla użytkowników:

apiVersion: v1
kind: Service
metadata:
  name: web-app-service
spec:
  type: NodePort
  selector:
    app: web-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      nodePort: 30080

Krok 2: Wdrożenie aplikacji – kubectl apply

Wdrożymy teraz oba pliki manifestów:

kubectl apply -f app-deployment.yaml
kubectl apply -f web-app-service.yaml

Sprawdź stan wdrożenia:

kubectl get deployments
kubectl get pods
kubectl get services
kubectl describe deployment web-app
kubectl logs <pod-name>

Krok 3: Autoskalowanie aplikacji (Horizontal Pod Autoscaler)

Utwórz HPA dla aplikacji:

kubectl autoscale deployment web-app --min=2 --max=5 --cpu-percent=50

Monitorowanie działania skalowania:

kubectl get hpa

Krok 4: Rolling update – aktualizacja aplikacji bez przestojów

Aktualizacja aplikacji przy użyciu rolling update:

kubectl set image deployment/web-app web-app=myregistry/web-app:v2

Monitorowanie postępu:

kubectl rollout status deployment/web-app

Na kursie „Pierwsze kroki w Linuxie” uczymy podstawowych technik zarządzania aplikacjami w środowisku Linux, co jest solidnym fundamentem do dalszego rozwoju w kierunku Kubernetes.

Krok 5: Rollback – powrót do poprzedniej wersji

Jeśli coś pójdzie nie tak, wróć do poprzedniej wersji:

kubectl rollout undo deployment/web-app

Sprawdź historię wdrożeń:

kubectl rollout history deployment/web-app

Zrób kolejny krok: Linux i kontenery czekają.

Właśnie przeszedłeś cały proces wdrażania, autoskalowania, aktualizacji i wycofywania aplikacji w Kubernetes. W Spark Academy oferujemy praktyczne kursy IT, które dadzą Ci solidne podstawy pracy z Linuxem i konteneryzacją. Kurs „Pierwsze kroki w Linuxie” to doskonały start dla każdego, kto chce rozpocząć karierę w IT, zyskać solidne podstawy administracji Linux oraz zaznajomić się z konteneryzacją.

Nie czekaj rozwijaj swoją karierę już dziś z Spark Academy! Zapisz się na kurs „Pierwsze kroki w Linuxie” i zacznij działać jak profesjonalista IT!

ter kierowniczy z ikoną chmury i kontenerów – symbol zarządzania aplikacjami w Kubernetes

Odkryj kurs idealny dla siebie i ruszaj po nową wiedzę.

Wybierz kurs dla siebie