0Pricing
Docker & Kubernetes for Developers · Leçon

Déployer votre premier pod

Apprenez à définir et à déployer une application simple sous forme de pod dans un cluster Kubernetes à l’aide de manifestes YAML et de `kubectl`.

Déployer votre premier pod est une leçon Docker & Kubernetes for Developers gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Docker & Kubernetes for Developers, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Docker & Kubernetes for Developers comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Pods: Smallest K8s Unit

In Kubernetes, the smallest deployable unit is a Pod. Think of a Pod as a logical host for one or more containers.

While Docker deals with individual containers, Kubernetes orchestrates Pods. A Pod encapsulates application containers, storage resources, a unique network IP, and options that govern how containers run.

Why Pods, Not Just Containers?

Why do we need Pods when we already have containers?

  • Shared Resources: Containers within the same Pod share the same network namespace and IP address. They can communicate using localhost.
  • Co-location: Pods ensure that co-located containers (like an app and a helper 'sidecar') are always scheduled together on the same node.
  • Abstraction: Pods provide an abstraction layer over individual containers, making orchestration simpler.

Anatomy of a Pod

A Pod is more than just a container. It includes:

  • Application Containers: One or more containers (e.g., your app, a logging agent).
  • Storage: Shared storage volumes for data persistence.
  • Network: A unique IP address and network namespace.
  • Configuration: Information on how to run the containers.

Pods are designed to be ephemeral. If a Pod dies, Kubernetes creates a new one (often managed by a higher-level object).

Defining Pods with YAML

Kubernetes resources, including Pods, are defined using YAML (YAML Ain't Markup Language) files. YAML is a human-readable data serialization standard.

These files act as blueprints, telling Kubernetes what you want to create and how.

Every Kubernetes object needs these top-level fields: apiVersion, kind, metadata, and spec.

Basic Pod YAML Structure

Let's look at the basic structure of a Pod definition in YAML:

apiVersion: v1
kind: Pod
metadata:
  name: my-first-pod
  labels:
    app: webserver
spec:
  containers:
    - name: my-container
      image: nginx:latest
      ports:
        - containerPort: 80

Our First Pod: Nginx

We'll deploy a simple Nginx web server as our first Pod. Nginx is a popular open-source HTTP server.

This manifest describes a Pod named nginx-pod, running a single container based on the nginx:latest Docker image, exposing port 80.

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
  labels:
    app: nginx
spec:
  containers:
    - name: nginx-container
      image: nginx:latest
      ports:
        - containerPort: 80

Introducing `kubectl`

To interact with your Kubernetes cluster, you'll use the command-line tool called kubectl (pronounced "kube-control" or "kube-cuddle").

kubectl allows you to run commands against Kubernetes clusters, including deploying applications, inspecting and managing cluster resources, and viewing logs.

Ensure your kubectl is configured to point to your cluster.

Deploying Your Pod

Once you have your Pod definition in a YAML file (e.g., nginx-pod.yaml), you can deploy it to your Kubernetes cluster using the kubectl apply command.

This command tells Kubernetes to create or update resources based on the provided configuration.

Try running this:

kubectl apply -f nginx-pod.yaml

Checking Pod Status

After deploying, you'll want to check if your Pod is running correctly. Use kubectl get pods to see a list of all Pods in the current namespace.

To get more detailed information about a specific Pod, use kubectl describe pod <pod-name>.

  • Pending: Pod accepted, but containers not yet created.
  • Running: Pod has been bound to a node and all containers have been created.
  • Error: At least one container terminated in failure.
kubectl get pods
kubectl describe pod nginx-pod

Accessing Pod Logs

When debugging applications inside your Pod, checking the container logs is crucial. Use the kubectl logs command to retrieve logs from a container within a Pod.

This helps you see what your application is doing or if any errors occurred during startup or runtime.

kubectl logs nginx-pod

Pod Deployment Question

You've just learned how to define and deploy a Pod using YAML and kubectl. Imagine you've created my-app.yaml and deployed it.

Which command would you use to check the detailed status and events of your newly deployed Pod named my-app-pod?

Recap: Your First Pod

Congratulations! You've deployed your first Kubernetes Pod.

  • Pods are the smallest deployable units in Kubernetes, encapsulating containers, storage, and network.
  • You define Pods using YAML manifests with fields like apiVersion, kind, metadata, and spec.
  • The kubectl command-line tool is used to manage Kubernetes resources.
  • You deploy Pods with kubectl apply -f <filename>, check status with kubectl get pods and kubectl describe pod, and view logs with kubectl logs.

Next, we'll explore how Deployments manage Pods at scale!

Questions Fréquemment Posées

La leçon « Déployer votre premier pod » est-elle gratuite ?

Oui — le texte complet de « Déployer votre premier pod » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Docker & Kubernetes for Developers, passe à CoddyKit PRO. Le cours Docker & Kubernetes for Developers comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Déployer votre premier pod » ?

Apprenez à définir et à déployer une application simple sous forme de pod dans un cluster Kubernetes à l’aide de manifestes YAML et de `kubectl`. Tu pratiques Docker & Kubernetes for Developers avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Docker & Kubernetes for Developers ?

Aucune expérience préalable n'est requise. Docker & Kubernetes for Developers sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Déployer votre premier pod » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Docker & Kubernetes for Developers ?

Oui. Chaque leçon Docker & Kubernetes for Developers inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Introduction à Kubernetes et à son importance
  2. Architecture et composants de Kubernetes
  3. Déployer votre premier pod
  4. Travailler avec kubectl : votre outil de contrôle du cluster
← Retour à Docker & Kubernetes for Developers