Non, Kubernetes ne fonctionne pas uniquement avec Docker.
Bien que Docker soit le runtime de conteneur le plus populaire et largement utilisé avec Kubernetes, Kubernetes est en réalité agnostique quant à la technologie de conteneurisation sous-jacente.
En plus de Docker, Kubernetes prend en charge une variété d'autres runtimes de conteneurs grâce à l'interface standard de Kubernetes appelée Container Runtime Interface (CRI).
CRI est une API qui permet à Kubernetes de communiquer avec n'importe quel runtime de conteneur compatible.
Parmi les autres runtimes de conteneurs compatibles avec Kubernetes, on trouve :
containerd : Il s'agit d'un runtime de conteneur qui a été originellement développé comme un composant interne de Docker. Il est maintenant un projet indépendant et est également utilisé comme le runtime de conteneur par défaut pour Docker.
CRI-O : C'est un runtime de conteneur léger spécifiquement conçu pour Kubernetes. Il est directement compatible avec l'interface CRI de Kubernetes.
gVisor : C'est un runtime de conteneur sandbox développé par Google qui fournit un isolement de sécurité plus fort entre les conteneurs.
Kata Containers : Kata Containers est un projet open source qui vise à construire un runtime de conteneur sécurisé avec des fonctionnalités légères de virtualisation.
En résumé, bien que Docker soit le runtime de conteneur le plus couramment utilisé avec Kubernetes, Kubernetes est conçu pour fonctionner avec de nombreux autres runtimes de conteneurs.