For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/containers-orchestration/managed-kubernetes/adapt-inotify-parameters-deployments.md.

Adapter vos paramètres Inotify pour vos déploiements Managed Kubernetes Service

Voir en Markdown

Adaptez vos paramètres Inotify pour vos déploiements qui nécessitent des paramètres Inotify spécifiques

Objectif

Le service OVHcloud Managed Kubernetes vous donne accès à des clusters Kubernetes sans que vous ayez à vous soucier de leur installation ou de leur exploitation. Mais pour certains cas d'usage spécifiques, vous pouvez avoir besoin de personnaliser les paramètres des nœuds.

Ce guide couvre la personnalisation des paramètres sysctl qui définissent les limites utilisateur sur le nombre de ressources inotify et de surveillances de fichiers inotify.

Prérequis

  • Un projet Public Cloud dans votre compte OVHcloud
  • Un cluster OVHcloud Managed Kubernetes
  • Un accès à votre cluster OVHcloud Managed Kubernetes via le fichier Kubeconfig
  • L'outil en ligne de commande kubectl doit être installé
  • Votre Kubeconfig doit être exporté dans votre terminal en suivant ce guide : Configurer Kubectl

En pratique

Étape 1 : créer un DaemonSet privilégié et définir la valeur à modifier

Créez un fichier YAML nommé sysctl-tuner-daemonset.yaml avec le contenu ci-dessous :

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: sysctl-tuner
  namespace: kube-system
spec:
  selector:
    matchLabels:
      app: sysctl-tuner
  updateStrategy:
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: sysctl-tuner
    spec:
      hostPID: true
      priorityClassName: system-node-critical
      hostNetwork: true
      tolerations:
        - operator: Exists
      initContainers:
        - image: busybox
          name: sysctl-tuner
          command:
            - sh
            - -c
            - "sysctl -w fs.inotify.max_user_watches=<value> && sysctl -w fs.inotify.max_user_instances=<value>"
          securityContext:
            privileged: true
            runAsUser: 0
      containers:
        - image: registry.k8s.io/pause:3.10
          name: pause

Définissez la valeur des clés sysctl fs.inotify.max_user_watches et fs.inotify.max_user_instances selon les besoins de vos applications.

Le DaemonSet appliquera le paramètre sysctl fs.inotify.max_user_watches avec la valeur que vous avez fournie dans la configuration du DaemonSet sur tous les nœuds déployés dans votre cluster Kubernetes.

Info

Plusieurs paramètres sysctl peuvent être modifiés et adaptés à vos cas d'usage. Vous pouvez les lister en exécutant cette commande :

$ kubectl run busybox --image=busybox:latest --rm=true -it --privileged=true -- sysctl -a

Cette commande va créer un pod busybox privilégié qui affiche toutes les valeurs sysctl disponibles, puis supprime le pod.

Étape 2 : vérifier que les modifications ont bien été appliquées

Afin de vérifier que la valeur inotify a bien été modifiée, vous pouvez exécuter un shell dans un pod :

$ kubectl exec -it `<pod>` -- cat /proc/sys/fs/inotify/max_user_watches

La sortie devrait correspondre à la valeur que vous avez définie dans le YAML du DaemonSet ci-dessus.

Félicitations ! Vous avez modifié avec succès la valeur maximale « max_user_watches » d'inotify sur votre Managed Kubernetes Service.

Aller plus loin

Pour déployer votre première application sur votre cluster Kubernetes, nous vous suggérons de consulter notre guide Déployer une application.

Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.

Échangez avec notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?