Skip to content

Exercices Kubernetes - TP6

Exercice 1

Vous allez créer un chart Helm simple pour déployer un serveur Nginx sur Kubernetes.

  • Un fichier Chart.yaml pour dĂ©finir le chart.
  • Un fichier values.yaml pour dĂ©finir les valeurs par dĂ©faut.
  • Un template de dĂ©ploiement (deployment.yaml).
  • Un template de service (service.yaml).
Voir la correction Créez un répertoire pour votre chart appelé my-nginx-chart. Dans ce répertoire, créez un sous-dossier `templates`. Dans le répertoire my-nginx-chart, créez un fichier Chart.yaml.
apiVersion: v2
name: my-nginx-chart
description: A simple Helm chart for Nginx
version: 0.1.0
Dans le répertoire my-nginx-chart créez le fichier values.yaml.
replicaCount: 1

image:
  repository: nginx
  tag: "latest"

service:
  type: ClusterIP
  port: 80
Dans le sous-dossier `templates` créez les fichiers deployment.yaml et service.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
        ports:
        - containerPort: 80
apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  type: {{ .Values.service.type }}
  ports:
  - port: {{ .Values.service.port }}
    targetPort: 80
  selector:
    app: nginx
Créez ces deux fichiers de façon à ce qu'ils utilisent les values du fichier values.yaml. Pour lancer la création du chart utilisez la commande suivante:
helm install my-nginx ./my-nginx-chart
Vérifiez que le déploiement et le service sont bien créés :
kubectl get pods
kubectl get svc
Supprimez la release une fois que vous avez terminé :
helm uninstall my-nginx