Article original : What Does K8s Mean? How to Set Up Kubernetes and Manage Clusters
Par Sebastian Sigl
Vous avez peut-être vu le terme k8s dans différentes sources et vous êtes demandé ce qu'il signifie. Eh bien, cela signifie Kubernetes. L'abréviation se compose de :
- "k" qui est la première lettre de Kubernetes,
- "8" qui est le nombre de lettres entre la première et la dernière dans le mot, et
- "s" qui est la dernière lettre.
Maintenant, examinons à quoi sert Kubernetes pour comprendre sa force principale et ses domaines d'utilisation.
Les conteneurs sont partout. En utilisant des technologies de conteneurs comme Docker, vous pouvez démarrer des applications dans un environnement complètement isolé avec une seule commande. Kubernetes est utilisé pour l'orchestration de conteneurs, combinant plusieurs machines en un cluster et distribuant des conteneurs stateful.
Dans cet article de blog, vous apprendrez :
- Comment utiliser Kubernetes sur votre appareil local,
- Comment lancer des applications dans un cluster Kubernetes,
- Les fournisseurs de Kubernetes gérés les plus populaires pour exécuter vos applications à grande échelle.
Ce tutoriel se concentrera principalement sur l'utilisation de la ligne de commande plutôt que de l'interface utilisateur, car cela vous permet d'utiliser tous les exemples dans un cluster Kubernetes local et distant.
Comment installer Kubernetes sur votre appareil local
La manière la plus simple de commencer est d'installer Docker. Après avoir démarré, vous pouvez ouvrir Docker, aller dans Paramètres -> Kubernetes, et activer Kubernetes localement. Après confirmation, votre cluster Kubernetes démarrera.
La manière la plus simple de communiquer avec un cluster Kubernetes est d'utiliser kubectl. Donc, si vous ne l'avez pas encore fait, installez kubectl.
En outre, je vous recommande de configurer kubectx, qui vous permet de basculer entre différents clusters. Pour simplifier les déploiements Kubernetes, vous devriez également installer Helm, qui vous permet de déployer des applications plus complexes, composées de plusieurs parties, avec une seule commande.
Maintenant, Docker indique que le cluster Kubernetes est prêt dans vos paramètres, vous pouvez alors démarrer certaines applications. Regardons tous les contextes Kubernetes disponibles :
# Afficher tous les contextes disponibles
kubectx
> development
> docker-desktop
# Sélectionner le contexte local docker desktop
kubectx docker-desktop
Comment lancer des applications dans un cluster Kubernetes
Configurons un JupyterHub qui permet à une équipe d'utiliser Jupyter Notebooks, l'une des plateformes les plus populaires pour le machine learning et Python.
# ajouter le dépôt helm
helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/
# démarrer les conteneurs
helm install my-jupyterhub jupyterhub/jupyterhub --version 1.2.0
# après quelques minutes, obtenir des informations sur le service Kubernetes
kubectl --namespace=default get svc proxy-public
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
proxy-public LoadBalancer 10.109.132.29 localhost 80:31480/TCP 31m
Comme indiqué, l'IP externe est localhost et exposée sur le port 80. Une fois les conteneurs démarrés, vous pouvez ouvrir http://localhost et vous connecter avec le nom d'utilisateur "admin" et sans mot de passe.
Comme vous pouvez le voir, il est très facile d'exécuter une application plus complète avec quelques lignes de commande. Si vous souhaitez essayer plus d'exemples, consultez mon article de blog sur Helm.
Pour nettoyer les ressources, vous devez supprimer l'application en cours d'exécution :
helm uninstall my-jupyterhub
release "my-jupyterhub" uninstalled
Clusters Kubernetes gérés les plus populaires
Une fois que vous souhaitez exécuter une application et la rendre disponible pour les autres, vous devez exécuter un cluster Kubernetes accessible au public. Vous ne devriez pas exécuter votre cluster à partir de zéro si vous n'êtes pas un expert.
Au lieu de cela, vous pouvez utiliser une version gérée d'un cluster Kubernetes, ce qui signifie que la plupart de la maintenance du cluster lui-même est effectuée par un fournisseur externe. Vous pouvez simplement déployer des conteneurs, et les choses devraient simplement fonctionner.
Ma recommandation est d'utiliser le Google Kubernetes Cluster (GKE), le cluster géré par Google. Google est le concepteur original de Kubernetes et est connu pour fournir une expérience Kubernetes solide. Ils proposent également une version plus extrême gérée appelée GKE Autopilot, qui vous permet de payer par heure de conteneur et par mémoire.
Cependant, en réalité, les équipes utilisent le cluster Kubernetes standard qui vient avec plus d'intégrations d'autres services gérés, qui ne sont pas encore disponibles si vous utilisez Autopilot. Par exemple, vous pouvez créer des comptes de service, des enregistrements DNS ou des certificats gérés en utilisant des ressources Kubernetes grâce à Config Connector.
Vous pouvez suivre un tutoriel simple de Google pour configurer un cluster Kubernetes GCP et déployer une application exemple en quelques minutes.
Il existe de nombreux autres clusters Kubernetes gérés comme Elastic Kubernetes Service (EKS) d'Amazon et Azure Kubernetes Service (AKS) de Microsoft. Quel que soit le cloud que vous préférez, il est généralement judicieux d'utiliser le cluster Kubernetes géré de votre fournisseur de cloud actuel.
J'ai comparé l'intérêt pour Kubernetes chez trois fournisseurs populaires en utilisant Google Trends, ce qui montre qu'Azure et AWS (Amazon) sont les plus populaires.

Ces chiffres ne montrent pas quel fournisseur offre la meilleure expérience. Mais ils montrent un intérêt significatif pour Kubernetes exécuté sur Azure. Intéressamment, Azure a pris la tête au cours des derniers mois.
Résumé
Dans cet article de blog, vous avez appris ce que signifie k8s – c'est simplement une abréviation pour Kubernetes. C'est un système populaire d'orchestration de conteneurs pour automatiser le déploiement, la mise à l'échelle et la gestion des applications. Vous pouvez exécuter Kubernetes localement et à grande échelle dans différents clouds.
J'espère que vous avez apprécié l'article.
Si vous l'avez aimé et que vous avez envie de m'applaudir ou simplement de prendre contact, suivez-moi sur Twitter.
Je travaille chez eBay Kleinanzeigen, l'une des plus grandes entreprises de petites annonces au monde. Au fait, nous recrutons !