Curs 2 - Docker Compose, Orchestrarea Containerelor și Kubernetes

Acest curs explorează orchestrarea containerelor folosind Docker Compose și Kubernetes.

1. Docker Compose

Docker Compose permite gestionarea mai multor containere printr-un singur fișier `docker-compose.yml`.

version: '3.8'
services:
  web:
    image: nginx
    ports:
      - "8080:80"
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: example

Pornirea și oprirea serviciilor definite în `docker-compose.yml`:

# Pornire a tuturor serviciilor
docker-compose up -d

# Oprire a serviciilor
docker-compose down

2. Orchestrarea Containerelor

Orchestrarea containerelor permite gestionarea automată a rulării, scalării și monitorizării aplicațiilor containerizate.

Exemplu de scalare în Docker Compose:

# Scalarea serviciului 'web' la 3 instanțe
docker-compose up --scale web=3

3. Introducere în Kubernetes

Kubernetes este o platformă pentru orchestrarea containerelor la scară mare, utilizată pentru gestionarea automată a aplicațiilor distribuite.

a) Componentele principale ale Kubernetes

- Pods: Unități de bază care conțin unul sau mai multe containere.

- Services: Expun aplicațiile către rețea.

- Deployments: Gestionarea ciclului de viață al containerelor.

b) Crearea unui Pod în Kubernetes

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
    - name: nginx-container
      image: nginx

c) Comenzi de bază în Kubernetes

# Verificarea versiunii Kubernetes
kubectl version

# Listarea tuturor podurilor
kubectl get pods

# Crearea unui pod dintr-un fișier YAML
kubectl apply -f pod.yaml

# Ștergerea unui pod
kubectl delete pod mypod

Resurse suplimentare: