Glossaire de termes
This glossary is intended to be a comprehensive, standardized list of Kubernetes terminology. It includes technical terms that are specific to Kubernetes, as well as more general terms that provide useful context.
Filter terms according to their tags
Click on the [+] indicators below to get a longer explanation for any particular term.
Ressources qui étendent les fonctionnalités de Kubernetes.
[+]Installer des addons explique l'utilisation des modules complémentaires avec votre cluster et répertorie certains modules complémentaires populaires.
Un morceau de code qui intercepte les requêtes adressées au serveur API de Kubernetes avant la persistance de l'objet.
[+]Les contrôleurs d'accès sont configurables pour le serveur API de Kubernetes. Un contrôleur d'accès peut être "validant" ("validating"), "modifiant" ("mutating"), ou les deux. Tout contrôleur d'accès peut rejeter la demande. Les contrôleurs modifiant peuvent modifier les objets qu'ils admettent ; alors que les contrôleurs validants ne le peuvent pas.
In Kubernetes, affinity is a set of rules that give hints to the scheduler about where to place pods.
[+]La couche d'agrégation vous permet d'installer des API supplémentaires de type Kubernetes dans votre cluster.
[+]Après avoir configuré Kubernetes API Server pour support additional APIs, vous pourrez ajouter des objects
APIService
afin de "réclamer" un chemin URL dans l'API Kubernetes.Une paire clé-valeur qui est utilisée pour attacher des métadonnées arbitraires non-identifiantes à des objets.
[+]Les métadonnées d'une annotation peuvent être petites ou grandes, structurées ou non structurées, et peuvent inclure des caractères non autorisés par les étiquettes. Les clients tels que les outils et les librairies peuvent récupérer ces métadonnées.
A set of related paths in Kubernetes API.
[+]You can enable or disable each API group by changing the configuration of your API server. You can also disable or enable paths to specific resources. API group makes it easier to extend the Kubernetes API. The API group is specified in a REST path and in the
apiVersion
field of a serialized object.- Read API Group for more information.
API-initiated eviction is the process by which you use the Eviction API to create an
[+]Eviction
object that triggers graceful pod termination.You can request eviction either by directly calling the Eviction API using a client of the kube-apiserver, like the
kubectl drain
command. When anEviction
object is created, the API server terminates the Pod.API-initiated evictions respect your configured
PodDisruptionBudgets
andterminationGracePeriodSeconds
.API-initiated eviction is not the same as node-pressure eviction.
- See API-initiated eviction for more information.
Les conteneurs d'application (ou conteneurs app) sont les containers dans un pod qui sont lancés après que les init containers soient terminés.
[+]Un conteneur d'initialisation vous permet de séparer les détails d'initialisation importants pour l'ensemble du workload workload, et qui n'ont pas besoin de continuer à fonctionner une fois que le conteneur d'application est démarré. Si un pod n'a pas d'init conteneurs configurés, tous les conteneurs de ce pod sont des conteneurs d'application.
- La couche où s'exécutent diverses applications conteneurisées. [+]
La couche où s'exécutent diverses applications conteneurisées.
Personne pouvant passer en revue et approuver les contributions au code Kubernetes.
[+]Alors que l'examen du code est axé sur la qualité et l'exactitude de ce dernier, l'approbation est, quant à elle, axée sur l'acceptation globale d'une contribution. L'acceptation globale inclut entre autres, la (rétro-)comptabilité, le respect des conventions concernant l'API et les drapeaux, les problèmes subtils de performance et d'exactitude, ainsi que les interactions avec d'autres parties du système. Le statut d'approbateur est limité à une partie de la base de code. Auparavant, les approbateurs étaient appelés mainteneurs.
Personne responsable de la conception haut niveau d'une application.
[+]Un architecte s'assure que l'implémentation d'une application lui permet d'interagir avec ses composants environnants, de manière maintenable et déployable à grande échelle. Les composants environnants comprennent les bases de données, les infrastructures de logging et autres micro-services.
Personne qui conçoit une infrastructure impliquant un ou plusieurs clusters Kubernetes.
[+]Les architectes de cluster se préoccupent des bonnes pratiques pour les systèmes distribués, telle que la haute disponibilité et la sécurité par exemple.
cAdvisor (Container Advisor) provides container users an understanding of the resource usage and performance characteristics of their running containers.
[+]It is a running daemon that collects, aggregates, processes, and exports information about running containers. Specifically, for each container it keeps resource isolation parameters, historical resource usage, histograms of complete historical resource usage and network statistics. This data is exported by container and machine-wide.
Fichier cryptographiquement sécurisé utilisé pour valider l'accès au cluster Kubernetes.
[+]Les certificats permettent aux applications d'un cluster Kubernetes d'accéder à l'API Kubernetes en toute sécurité. Les certificats attestent que les clients sont autorisés à accéder à l'API.
Un groupe de processus Linux avec des options d'isolation, de suivi, et de limite de l'utilisation des ressources.
[+]cgroup est une fonctionnalité du noyau Linux qui limite, suit et isole l'utilisation des ressources (CPU, mémoire, E/S disque, réseau) pour un ensemble de processus.
Un ensemble de ressources Kubernetes préconfigurées qui peuvent être gérées avec l'outil Helm.
[+]Les Charts Helm fournissent un moyen reproductible de créer et de partager des applications Kubernetes. Un Chart peut être utilisé pour déployer quelque chose de simple, comme un Pod memcached, ou quelque chose de plus complexe, comme une application web complète avec des serveurs HTTP, des bases de données, des caches, etc.
CIDR (Classless Inter-Domain Routing) is a notation for describing blocks of IP addresses and is used heavily in various networking configurations.
[+]Conditions en vertu desquelles un contributeur accorde une licence à un projet open source pour ses contributions.
[+]Les Accords de Licence de Contributeur (Contributor License Agreements) aident à résoudre les différends juridiques concernant les apports de matériel et la propriété intellectuelle.
Le Cloud Controller Manager est une fonctionnalité alpha de la version 1.8. Dans les prochaines versions, il deviendra le moyen privilégié pour l'intégration de Kubernetes à n'importe quel cloud.
[+]Kubernetes v1.6 contient un nouveau binaire appelé cloud-controller-manager. Le cloud-controller-manager est un service qui intègre des boucles de contrôle propres au cloud. Ces boucles de contrôle spécifiques au cloud se trouvaient à l'origine dans le kube-controller-manager. Étant donné que les fournisseurs de cloud développent et mettent à jour leurs produits à un rythme différent de celui du projet Kubernetes, l'abstraction du code spécifique au fournisseur, au niveau du binaire cloud-controller-manager, permet aux fournisseurs de cloud d'évoluer indépendamment du code principal de Kubernetes.
La Cloud Native Computing Foundation (CNCF) construit des écosystèmes durables et favorise la création d'une communauté autour des projets qui orchestrent les conteneurs dans le cadre d'une architecture de microservices.
Kubernetes est un projet de la CNCF.
[+]La CNCF est une sous-fondation de Linux Foundation. Sa mission est de rendre le "cloud native computing" omniprésent.
Un ensemble de machines, appelées des "nœuds", qui exécutent des applications conteneurisées gérées par Kubernetes..
[+]Un cluster possède plusieurs nœuds travailleurs et au moins un nœud maître.
Un objet API utilisé pour stocker des données non confidentielles dans des paires clé-valeur. Peut être utilisé comme variable d'environnement, argument de ligne de commande ou fichier de configuration dans un volume.
[+]Permet de dissocier la configuration spécifique à l'environnement de vos images de conteneurs, de sorte que vos applications soient facilement portable. Lorsque vous stockez des données confidentielles, utilisez un Secret.
Une image exécutable légère et portable qui contient le logiciel et toutes ses dépendances.
[+]Les conteneurs découplent les applications de l'infrastructure hôte sous-jacente pour faciliter le déploiement dans différents environnements cloud ou OS et pour faciliter la mise à l'échelle.
Les hooks (ou déclencheurs) du cycle de vie exposent les événements du cycle de vie de la gestion du conteneur et permettent à l'utilisateur d'exécuter le code lorsque les événements se produisent
[+]Deux hooks (ou déclencheurs) sont exposés aux conteneurs : PostStart qui s'exécute immédiatement après la création d'un conteneur et PreStop qui est appelé immédiatement avant qu'un conteneur soit terminé.
L'environnement d'exécution de conteneurs est le logiciel responsable de l'exécution des conteneurs.
[+]Kubernetes est compatible avec plusieurs environnements d'exécution de conteneur: Docker, containerd, cri-o, rktlet ainsi que toute implémentation de Kubernetes CRI (Container Runtime Interface).
The main protocol for the communication between the kubelet and Container Runtime.
[+]The Kubernetes Container Runtime Interface (CRI) defines the main gRPC protocol for the communication between the node components kubelet and container runtime.
Un environnement d'exécution des conteneurs qui met l'accent sur la simplicité, la robustesse et la portabilité.
[+]Containerd est un environnement d'exécution de conteneur qui fonctionne comme un daemon sous Linux ou Windows. Containerd s'occupe de la récupération et du stockage d'images de conteneurs, de l'exécution de conteneurs, et de l'accès au réseau, etc.
Quelqu'un qui code, documente ou donne de son temps autrement, pour aider le projet ou la communauté Kubernetes.
[+]Les contributions comprennent les pull requests (PRs), le signalement des problèmes, les retours d'informations, les groupes d'intérêts spéciaux (SIG, de l'anglais Special Interest Group) la participation ou l'organisation des évènements de la communauté.
Personne qui développe et contribue au code open source de Kubernetes.
[+]Cette personne est aussi un membre actif de la communauté participant à un ou plusieurs Groupes d'Intérêts Spéciaux (SIGs, de l'anglais Special Interest Groups).
Boucle de contrôle surveillant l'état partagé du cluster à travers l'apiserver et effectuant des changements en essayant de déplacer l'état actuel vers l'état désiré.
[+]Parmis les contrôleurs livrés aujourd'hui avec Kubernetes se trouvent le contrôleur de réplication, le contrôleur d'endpoints, de namespace et de serviceaccounts.
Un outil permettant d'utiliser les runtimes de conteneurs OCI avec Kubernetes CRI.
[+]CRI-O est une implémentation du Container Runtime Interface (CRI) permettant l'utilisation des runtimes de conteneurs compatibles avec l'Open Container Initiative (OCI) runtime spec.
Le déploiement de CRI-O permet à Kubernetes d'utiliser n'importe quel runtime conforme à l'OCI, en tant que runtime de conteneur, afin d'exécuter les Pods, et de récupérer les images de conteneurs OCI provenant de registres distants.
Définition d'une ressource personnalisée qui est ajoutée au serveur d'API Kubernetes sans construire un serveur personnalisé complet.
[+]Les définitions de ressources personnalisées permettent s'ajoutent aux ressouces natives (ou "d'origine", "de base") de Kubernetes quand celles-ci ne peuvent répondre à vos besoins.
Peut faire référence à un Développeur d'Application, Contributeur de Code ou à un Développeur de Plate-forme.
[+]Ce terme ambigu peut avoir différentes significations selon le contexte.
Personne qui écrit une application s'exécutant dans un cluster Kubernetes.
[+]Un développeur d'application se concentre sur une partie de l'application. L'ampleur de son champ d'action peut varier considérablement en taille.
Disruptions are events that lead to one or more Pods going out of service. A disruption has consequences for workload resources, such as Deployment, that rely on the affected Pods.
[+]If you, as cluster operator, destroy a Pod that belongs to an application, Kubernetes terms that a voluntary disruption. If a Pod goes offline because of a Node failure, or an outage affecting a wider failure zone, Kubernetes terms that an involuntary disruption.
See Disruptions for more information.
Docker (spécifiquement, Docker Engine) est un logiciel fournissant une virtualisation au niveau du système d'exploitation également connue sous le nom conteneurs}.
[+]Docker utilise les fonctionnalités d'isolation du kernel Linux telles que les cgroups et les kernel namespaces, ainsi qu'un système de fichiers compatible union comme OverlayFS et d'autres pour permettre aux conteneurs de fonctionner indépendamment dans une seule instance Linux, évitant ainsi le démarrage et la maintenance des machines virtuelles (VMs).
The dockershim is a component of Kubernetes version 1.23 and earlier. It allows the kubelet to communicate with Docker Engine.
[+]Starting with version 1.24, dockershim has been removed from Kubernetes. For more information, see Dockershim FAQ.
Peut se référer soit au code de l'écosystème Kubernetes dépendant de la base de code Kubernetes, soit à un répertoire forké.
[+]- Au sein de la Communauté Kubernetes : le terme downstream est souvent utilisé dans les conversations pour désigner l'écosystème, le code ou les outils tiers s'appuyant sur la base de code Kubernetes. Par exemple, une nouvelle fonctionnalité de Kubernetes peut être adoptée par les applications downstream pour améliorer leur fonctionnalité.
- Avec GitHub ou git : la convention veut que l'on considère un répertoire forké comme étant downstream, alors que le répertoire source est considéré comme étant upstream.
Kubernetes' mechanism to expose Pod and container field values to code running in a container.
[+]It is sometimes useful for a container to have information about itself, without needing to make changes to the container code that directly couple it to Kubernetes.
The Kubernetes downward API allows containers to consume information about themselves or their context in a Kubernetes cluster. Applications in containers can have access to that information, without the application needing to act as a client of the Kubernetes API.
There are two ways to expose Pod and container fields to a running container:
- using environment variables
- using a
downwardAPI
volume
Together, these two ways of exposing Pod and container fields are called the downward API.
Endpoints track the IP addresses of Pods with matching selectors.
[+]Endpoints can be configured manually for Services without selectors specified. The EndpointSlice resource provides a scalable and extensible alternative to Endpoints.
A way to group network endpoints together with Kubernetes resources.
[+]A scalable and extensible way to group network endpoints together. These can be used by kube-proxy to establish network routes on each node.
A Container type that you can temporarily run inside a Pod.
[+]If you want to investigate a Pod that's running with problems, you can add an ephemeral container to that Pod and carry out diagnostics. Ephemeral containers have no resource or scheduling guarantees, and you should not use them to run any part of the workload itself.
Ephemeral containers are not supported by static pods.
Base de données clé-valeur consistante et hautement disponible utilisée comme mémoire de sauvegarde pour toutes les données du cluster.
[+]Si votre cluster Kubernetes utilise etcd comme mémoire de sauvegarde, assurez-vous d'avoir un plan de back up pour ces données.
Vous pouvez trouver plus d'informations à propos d'etcd dans la documentation officielle.
Event is a Kubernetes object that describes state change/notable occurrences in the system.
[+]Events have a limited retention time and triggers and messages may evolve with time. Event consumers should not rely on the timing of an event with a given reason reflecting a consistent underlying trigger, or the continued existence of events with that reason.
Events should be treated as informative, best-effort, supplemental data.
In Kubernetes, auditing generates a different kind of Event record (API group
audit.k8s.io
).Eviction is the process of terminating one or more Pods on Nodes.
[+]There are two kinds of eviction:
Les extensions sont des composants logiciels qui s'intègrent profondément à Kubernetes afin de supporter de nouveaux types de matériel informatique.
[+]La plupart des administrateurs de cluster utiliseront une instance hébergée ou une instance de distribution de Kubernetes. En conséquence, la plupart des utilisateurs de Kubernetes devront installer des extensions et seront donc moins nombreux à devoir en créer de nouvelles.
Feature gates are a set of keys (opaque string values) that you can use to control which Kubernetes features are enabled in your cluster.
[+]You can turn these features on or off using the
--feature-gates
command line flag on each Kubernetes component. Each Kubernetes component lets you enable or disable a set of feature gates that are relevant to that component. The Kubernetes documentation lists all current feature gates and what they control.Finalizers are namespaced keys that tell Kubernetes to wait until specific conditions are met before it fully deletes resources marked for deletion. Finalizers alert controllers to clean up resources the deleted object owned.
[+]When you tell Kubernetes to delete an object that has finalizers specified for it, the Kubernetes API marks the object for deletion by populating
.metadata.deletionTimestamp
, and returns a202
status code (HTTP "Accepted"). The target object remains in a terminating state while the control plane, or other components, take the actions defined by the finalizers. After these actions are complete, the controller removes the relevant finalizers from the target object. When themetadata.finalizers
field is empty, Kubernetes considers the deletion complete and deletes the object.You can use finalizers to control garbage collection of resources. For example, you can define a finalizer to clean up related resources or infrastructure before the controller deletes the target resource.
FlexVolume is a deprecated interface for creating out-of-tree volume plugins. The Container Storage Interface is a newer interface that addresses several problems with FlexVolume.
[+]FlexVolumes enable users to write their own drivers and add support for their volumes in Kubernetes. FlexVolume driver binaries and dependencies must be installed on host machines. This requires root access. The Storage SIG suggests implementing a CSI driver if possible since it addresses the limitations with FlexVolumes.
Le fournisseur de cloud est une entreprise offrant une plateforme de cloud computing, pouvant faire fonctionner des clusters Kubernetes.
[+]Les fournisseurs de cloud, parfois appelés Fournisseurs de Services Cloud (Cloud Service Providers), mettent à disposition des plate-formes de cloud computing. Ils peuvent offrir des services tels qu'une Infrastructure en tant que Service (IaaS, de l'anglais Infrastructure as a Service) ou une Plate-forme en tant que Service (PaaS, de l'anglais Platform as a Service). Les fournisseurs de cloud hébergent le cluster Kubernetes et fournissent également des services qui interagissent avec le cluster, tels que des loads balancers, des classes de stockages, etc.
Garbage collection is a collective term for the various mechanisms Kubernetes uses to clean up cluster resources.
[+]Kubernetes uses garbage collection to clean up resources like unused containers and images, failed Pods, objects owned by the targeted resource, completed Jobs, and resources that have expired or failed.
A family of API kinds for modeling service networking in Kubernetes.
[+]Gateway API provides a family of extensible, role-oriented, protocol-aware API kinds for modeling service networking in Kubernetes.
- Also known as: GVR
Means of representing unique Kubernetes API resource.
[+]Group Version Resources (GVRs) specify the API group, API version, and resource (name for the object kind as it appears in the URI) associated with accessing a particular id of object in Kubernetes. GVRs let you define and distinguish different Kubernetes objects, and to specify a way of accessing objects that is stable even as APIs change.
- Also known as: HPA
An API resource that automatically scales the number of Pod replicas based on targeted CPU utilization or custom metric targets.
[+]HPA is typically used with ReplicationControllers, Deployments, or ReplicaSets. It cannot be applied to objects that cannot be scaled, for example DaemonSets.
A HostAliases is a mapping between the IP address and hostname to be injected into a Pod's hosts file.
[+]HostAliases is an optional list of hostnames and IP addresses that will be injected into the Pod's hosts file if specified. This is only valid for non-hostNetwork Pods.
Instance stockée d'un conteneur qui contient un ensemble de logiciels nécessaires à l'exécution d'une application.
[+]Une façon d'empaqueter un logiciel qui permet de le stocker dans un registre de conteneurs, de le récupérer dans un système local et de l'exécuter comme une application. Des métadonnées sont incluses dans l'image qui peut indiquer quel exécutable exécuter, qui l'a construit, et d'autres informations.
Immutable Infrastructure refers to computer infrastructure (virtual machines, containers, network appliances) that cannot be changed once deployed.
[+]Immutability can be enforced by an automated process that overwrites unauthorized changes or through a system that won’t allow changes in the first place. Containers are a good example of immutable infrastructure because persistent changes to containers can only be made by creating a new version of the container or recreating the existing container from its image.
By preventing or identifying unauthorized changes, immutable infrastructures make it easier to identify and mitigate security risks. Operating such a system becomes a lot more straightforward because administrators can make assumptions about it. After all, they know no one made mistakes or changes they forgot to communicate. Immutable infrastructure goes hand-in-hand with infrastructure as code where all automation needed to create infrastructure is stored in version control (such as Git). This combination of immutability and version control means that there is a durable audit log of every authorized change to a system.
- La couche d'infrastructure fournit et maintient, entre autres, les machines virtuelles, les réseaux ainsi que les groupes de sécurité. [+]
La couche d'infrastructure fournit et maintient, entre autres, les machines virtuelles, les réseaux ainsi que les groupes de sécurité.
Un objet API qui gère l'accès externe aux services d'un cluster, typiquement HTTP.
[+]L'Ingress peut fournir un équilibrage de charge, une terminaison SSL ainsi qu'un hébergement virtuel basé sur un nom.
Un ou plusieurs conteneurs d'initialisation qui doivent être exécutés jusqu'à la fin, avant l'exécution de tout conteneur d'application.
[+]Les conteneurs d'initialisation (init containers en anglais) sont comme les conteneurs d'applications classiques, à une différence près : les conteneurs d'initialisation doivent être exécutés jusqu'au bout, avant que les conteneurs d'applications puissent démarrer. Les conteneurs d'initialisation fonctionnent en série : chaque conteneur d'initialisation doit fonctionner jusqu'à la complétion avant que le conteneur d'initialisation suivant ne commence.
L'Interface de Stockage de Conteneurs, (CSI, de l'anglais Container Storage Interface) définit une interface normalisée pour exposer les systèmes de stockage aux conteneurs.
[+]L'Interface de Stockage de Conteneurs permet aux fournisseurs de créer des plugins de stockage personnalisés pour Kubernetes, sans les ajouter au référentiel Kubernetes (plugin hors arbre). Afin d'utiliser un pilote d'Interface de Stockage de Conteneurs d'un fournisseur de mémoire, vous devez d'abord le déployer sur votre cluster. Vous pourrez alors créer une Classe de Stockage qui utilise le pilote de cette Interface de Stockage de Conteneurs.
Les plugins de l'interface réseau de conteneurs (CNI, de l'anglais Container Network Interface), sont un type de plugin réseau conforme à la spécification appc/CNI.
[+]- Pour plus d'informations sur Kubernetes et le CNI, se référer aux "Plugins réseau".
Une plate-forme ouverte (non spécifique à Kubernetes) qui fournit un moyen uniforme d'intégrer des microservices, de gérer des flux de trafic, d'appliquer des règles et d'agréger des données télémétriques.
[+]L'ajout d'Istio ne nécessite pas de changement de code d'application. Il s'agit d'une couche d'infrastructure entre un service et le réseau, qui, une fois combinée aux déploiements de services, est communément appelée maillage de services. Le plan de contrôle d'Istio fait abstraction de la plate-forme de gestion de cluster sous-jacente, qui peut être Kubernetes, Mesosphere, etc.
A means of representing claims to be transferred between two parties.
[+]JWTs can be digitally signed and encrypted. Kubernetes uses JWTs as authentication tokens to verify the identity of entities that want to perform actions in a cluster.
[+]kOps
will not only help you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes cluster, but it will also provision the necessary cloud infrastructure.Note:
AWS (Amazon Web Services) is currently officially supported, with DigitalOcean, GCE and OpenStack in beta support, and Azure in alpha.kOps
is an automated provisioning system:- Fully automated installation
- Uses DNS to identify clusters
- Self-healing: everything runs in Auto-Scaling Groups
- Multiple OS support (Amazon Linux, Debian, Flatcar, RHEL, Rocky and Ubuntu)
- High-Availability support
- Can directly provision, or generate terraform manifests
Composant sur le master qui expose l'API Kubernetes. Il s'agit du front-end pour le plan de contrôle Kubernetes.
[+]Il est conçu pour une mise à l'échelle horizontale, ce qui veut dire qu'il met à l'échelle en déployant des instances supplémentaires. Voir Construire des Clusters en Haute Disponibilité.
Composant du master qui exécute les contrôleurs.
[+]Logiquement, chaque contrôleur est un processus à part mais, pour réduire la complexité, les contrôleurs sont tous compilés dans un seul binaire et s'exécutent dans un seul processus.
kube-proxy est un proxy réseau qui s'exécute sur chaque nœud du cluster et implémente une partie du concept Kubernetes de Service.
[+]kube-proxy maintient les règles réseau sur les nœuds. Ces règles réseau permettent une communication réseau vers les Pods depuis des sessions réseau à l'intérieur ou à l'extérieur du cluster.
kube-proxy utilise la couche de filtrage de paquets du système d'exploitation s'il y en a une et qu'elle est disponible. Sinon, kube-proxy transmet le trafic lui-même.
Composant sur le master qui surveille les pods nouvellement créés qui ne sont pas assignés à un nœud et sélectionne un nœud sur lequel ils vont s'exécuter.
[+]Les facteurs pris en compte pour les décisions de planification (scheduling) comprennent les exigences individuelles et collectives en ressources, les contraintes matérielles/logicielles/politiques, les spécifications d'affinité et d'anti-affinité, la localité des données, les interférences entre charges de travail et les dates limites.
A tool for quickly installing Kubernetes and setting up a secure cluster.
[+]You can use kubeadm to install both the control plane and the worker node components.
- Also known as: kubectl
Command line tool for communicating with a Kubernetes cluster's control plane, using the Kubernetes API.
[+]You can use
kubectl
to create, inspect, update, and delete Kubernetes objects. Un agent qui s'exécute sur chaque nœud du cluster. Il s'assure que les conteneurs fonctionnent dans un pod.
[+]Le kubelet prend un ensemble de PodSpecs fournis par divers mécanismes et s'assure du fonctionnement et de la santé des conteneurs décrits dans ces PodSpecs. Le kubelet ne gère que les conteneurs créés par Kubernetes.
The application that serves Kubernetes functionality through a RESTful interface and stores the state of the cluster.
[+]Kubernetes resources and "records of intent" are all stored as API objects, and modified via RESTful calls to the API. The API allows configuration to be managed in a declarative way. Users can interact with the Kubernetes API directly, or via tools like
kubectl
. The core Kubernetes API is flexible and can also be extended to support custom resources.Provides constraints to limit resource consumption per Containers or Pods in a namespace.
[+]LimitRange limits the quantity of objects that can be created by type, as well as the amount of compute resources that may be requested/consumed by individual Containers or Pods in a namespace.
A software offering maintained by a third-party provider.
[+]Some examples of Managed Services are AWS EC2, Azure SQL Database, and GCP Pub/Sub, but they can be any software offering that can be used by an application.
Specification of a Kubernetes API object in JSON or YAML format.
[+]A manifest specifies the desired state of an object that Kubernetes will maintain when you apply the manifest. Each configuration file can contain multiple manifests.
Legacy term, used as synonym for nodes hosting the control plane.
[+]The term is still being used by some provisioning tools, such as kubeadm, and managed services, to label nodes with
kubernetes.io/role
and control placement of control plane pods.A continuously active contributor in the K8s community.
[+]Members can have issues and PRs assigned to them and participate in special interest groups (SIGs) through GitHub teams. Pre-submit tests are automatically run for members' PRs. A member is expected to remain an active contributor to the community.
A tool for running Kubernetes locally.
[+]Minikube runs a single-node cluster inside a VM on your computer. You can use Minikube to try Kubernetes in a learning environment.
A pod object that a kubelet uses to represent a static pod
[+]When the kubelet finds a static pod in its configuration, it automatically tries to create a Pod object on the Kubernetes API server for it. This means that the pod will be visible on the API server, but cannot be controlled from there.
(For example, removing a mirror pod will not stop the kubelet daemon from running it).
- Also known as: MVP
Feature to let a kube-apiserver proxy a resource request to a different peer API server.
[+]When a cluster has multiple API servers running different versions of Kubernetes, this feature enables resource requests to be served by the correct API server.
MVP is disabled by default and can be activated by enabling the feature gate named
UnknownVersionInteroperabilityProxy
when the API Server is started. A client-provided string that refers to an object in a resource URL, such as
[+]/api/v1/pods/some-name
.Only one object of a given kind can have a given name at a time. However, if you delete the object, you can make a new object with the same name.
An abstraction used by Kubernetes to support isolation of groups of resources within a single cluster.
[+]Namespaces are used to organize objects in a cluster and provide a way to divide cluster resources. Names of resources need to be unique within a namespace, but not across namespaces. Namespace-based scoping is applicable only for namespaced objects (e.g. Deployments, Services, etc) and not for cluster-wide objects (e.g. StorageClass, Nodes, PersistentVolumes, etc).
A specification of how groups of Pods are allowed to communicate with each other and with other network endpoints.
[+]Network Policies help you declaratively configure which Pods are allowed to connect to each other, which namespaces are allowed to communicate, and more specifically which port numbers to enforce each policy on.
NetworkPolicy
resources use labels to select Pods and define rules which specify what traffic is allowed to the selected Pods. Network Policies are implemented by a supported network plugin provided by a network provider. Be aware that creating a network resource without a controller to implement it will have no effect.A node is a worker machine in Kubernetes.
[+]A worker node may be a VM or physical machine, depending on the cluster. It has local daemons or services necessary to run Pods and is managed by the control plane. The daemons on a node include kubelet, kube-proxy, and a container runtime implementing the CRI such as Docker.
In early Kubernetes versions, Nodes were called "Minions".
- Also known as: kubelet eviction
Node-pressure eviction is the process by which the kubelet proactively terminates pods to reclaim resources on nodes.
[+]The kubelet monitors resources like CPU, memory, disk space, and filesystem inodes on your cluster's nodes. When one or more of these resources reach specific consumption levels, the kubelet can proactively fail one or more pods on the node to reclaim resources and prevent starvation.
Node-pressure eviction is not the same as API-initiated eviction.
An entity in the Kubernetes system. The Kubernetes API uses these entities to represent the state of your cluster.
[+]A Kubernetes object is typically a “record of intent”—once you create the object, the Kubernetes control plane works constantly to ensure that the item it represents actually exists. By creating an object, you're effectively telling the Kubernetes system what you want that part of your cluster's workload to look like; this is your cluster's desired state.
Une personne qui configure, contrôle et surveille les clusters.
[+]Leur principale responsabilité consiste à assurer le bon fonctionnement d'un cluster, ce qui peut impliquer des activités de maintenance périodique ou des mises à niveau.
Note:
L'opérateur de cluster est différent du modèle Opérateur complétant l'API Kubernetes.- Activités telles que la mise à niveau des clusters, la mise en œuvre de la sécurité, du stockage, de l'Ingress, du réseau, de la consignation et de la surveillance, et autres opérations nécessaires pour gérer un cluster Kubernetes. [+]
Activités telles que la mise à niveau des clusters, la mise en œuvre de la sécurité, du stockage, de l'Ingress, du réseau, de la consignation et de la surveillance, et autres opérations nécessaires pour gérer un cluster Kubernetes.
The operator pattern is a system design that links a Controller to one or more custom resources.
[+]You can extend Kubernetes by adding controllers to your cluster, beyond the built-in controllers that come as part of Kubernetes itself.
If a running application acts as a controller and has API access to carry out tasks against a custom resource that's defined in the control plane, that's an example of the Operator pattern.
An API object that represents a piece of storage in the cluster. Available as a general, pluggable resource that persists beyond the lifecycle of any individual Pod.
[+]PersistentVolumes (PVs) provide an API that abstracts details of how storage is provided from how it is consumed. PVs are used directly in scenarios where storage can be created ahead of time (static provisioning). For scenarios that require on-demand storage (dynamic provisioning), PersistentVolumeClaims (PVCs) are used instead.
Claims storage resources defined in a PersistentVolume so that it can be mounted as a volume in a container.
[+]Specifies the amount of storage, how the storage will be accessed (read-only, read-write and/or exclusive) and how it is reclaimed (retained, recycled or deleted). Details of the storage itself are described in the PersistentVolume object.
- Couche d'orchestration des conteneurs exposant l'API et les interfaces pour définir, déployer et gérer le cycle de vie des conteneurs. [+]
Couche d'orchestration des conteneurs exposant l'API et les interfaces pour définir, déployer et gérer le cycle de vie des conteneurs.
- Couche fournissant des capacités comme le CPU, la mémoire, le réseau et le stockage afin que les conteneurs puissent fonctionner et se connecter à un réseau. [+]
Couche fournissant des capacités comme le CPU, la mémoire, le réseau et le stockage afin que les conteneurs puissent fonctionner et se connecter à un réseau.
A person who customizes the Kubernetes platform to fit the needs of their project.
[+]A platform developer may, for example, use Custom Resources or Extend the Kubernetes API with the aggregation layer to add functionality to their instance of Kubernetes, specifically for their application. Some Platform Developers are also contributors and develop extensions which are contributed to the Kubernetes community. Others develop closed-source commercial or site-specific extensions.
Les Plugins de Périphériques sont des conteneurs fonctionnant dans Kubernetes, donnant accès à une ressource spécifique d'un fournisseur.
[+]Les Plugins de Périphériques sont des conteneurs fonctionnant dans Kubernetes, donnant accès à une ressource spécifique d'un fournisseur. Les Plugins de Périphériques communiquent ces ressources à kubelet et peuvent être déployés manuellement ou sous forme de DaemonSet, plutôt que d'écrire du code Kubernetes personnalisé.
Le plus petit et le plus simple des objets Kubernetes. Un Pod est un ensemble de conteneurs fonctionnant sur votre cluster.
[+]Un Pod est généralement configuré pour faire fonctionner un seul conteneur primaire. Il peut également exécuter des conteneurs side-car optionnels qui ajoutent des fonctions supplémentaires comme le logging. Les Pods sont généralement gérés par un Déploiement.
Pod disruption is the process by which Pods on Nodes are terminated either voluntarily or involuntarily.
[+]Voluntary disruptions are started intentionally by application owners or cluster administrators. Involuntary disruptions are unintentional and can be triggered by unavoidable issues like Nodes running out of resources, or by accidental deletions.
- Also known as: PDB
A Pod Disruption Budget allows an application owner to create an object for a replicated application, that ensures a certain number or percentage of Pods with an assigned label will not be voluntarily evicted at any point in time.
[+]Involuntary disruptions cannot be prevented by PDBs; however they do count against the budget.
The sequence of states through which a Pod passes during its lifetime.
[+]The Pod Lifecycle is defined by the states or phases of a Pod. There are five possible Pod phases: Pending, Running, Succeeded, Failed, and Unknown. A high-level description of the Pod state is summarized in the PodStatus
phase
field.Pod Priority indicates the importance of a Pod relative to other Pods.
[+]Pod Priority gives the ability to set scheduling priority of a Pod to be higher and lower than other Pods — an important feature for production clusters workload.
Enables fine-grained authorization of Pod creation and updates.
[+]A cluster-level resource that controls security sensitive aspects of the Pod specification. The
PodSecurityPolicy
objects define a set of conditions that a Pod must run with in order to be accepted into the system, as well as defaults for the related fields. Pod Security Policy control is implemented as an optional admission controller.PodSecurityPolicy was deprecated as of Kubernetes v1.21, and removed in v1.25. As an alternative, use Pod Security Admission or a 3rd party admission plugin.
A PriorityClass is a named class for the scheduling priority that should be assigned to a Pod in that class.
[+]A PriorityClass is a non-namespaced object mapping a name to an integer priority, used for a Pod. The name is specified in the
metadata.name
field, and the priority value in thevalue
field. Priorities range from -2147483648 to 1000000000 inclusive. Higher values indicate higher priority.A check that the kubelet periodically performs against a container that is running in a pod, that will define container's state and health and informing container's lifecycle.
[+]To learn more, read container probes.
Permet aux utilisateurs de demander la création automatique de Volumes de stockage.
[+]Le provisionnement dynamique élimine le besoin, pour les administrateurs de cluster, de pré-provisionner le stockage. Au lieu de cela, il provisionne automatiquement le stockage à la demande de l'utilisateur. Le provisionnement dynamique de volume est basé sur un objet API, la Class de Stockage, se référant à un Plugin de Volume qui provisionne un Volume ainsi qu'un ensemble de paramètres à passer au Plugin de Volume.
In computing, a proxy is a server that acts as an intermediary for a remote service.
[+]A client interacts with the proxy; the proxy copies the client's data to the actual server; the actual server replies to the proxy; the proxy sends the actual server's reply to the client.
kube-proxy is a network proxy that runs on each node in your cluster, implementing part of the Kubernetes Service concept.
You can run kube-proxy as a plain userland proxy service. If your operating system supports it, you can instead run kube-proxy in a hybrid mode that achieves the same overall effect using less system resources.
QoS Class (Quality of Service Class) provides a way for Kubernetes to classify Pods within the cluster into several classes and make decisions about scheduling and eviction.
[+]QoS Class of a Pod is set at creation time based on its compute resources requests and limits settings. QoS classes are used to make decisions about Pods scheduling and eviction. Kubernetes can assign one of the following QoS classes to a Pod:
Guaranteed
,Burstable
orBestEffort
.Une représentation en nombres entiers de petits ou grands nombres utilisant des suffixes SI.
[+]Les quantités sont des représentations de petits ou grands nombres utilisant une notation compacte en nombres entiers avec des suffixes SI. Les nombres fractionnaires sont représentés en utilisant des unités en millièmes, tandis que les grands nombres peuvent être représentés en utilisant les unités kilo, méga ou giga.
Par exemple, le nombre
1.5
est représenté comme1500m
, tandis que le nombre1000
peut être représenté comme1k
, et1000000
comme1M
. Vous pouvez également spécifier des suffixes de notation binaire ; le nombre 2048 peut s'écrire comme2Ki
.Les unités décimales acceptées (puissance de 10) sont
m
(milli),k
(kilo, intentionnellement en minuscule),M
(méga),G
(giga),T
(tera),P
(peta),E
(exa).Les unités binaires acceptées (puissance de 2) sont
Ki
(kibi),Mi
(mebi),Gi
(gibi),Ti
(tebi),Pi
(pebi),Ei
(exbi).Manages authorization decisions, allowing admins to dynamically configure access policies through the Kubernetes API.
[+]RBAC utilizes roles, which contain permission rules, and role bindings, which grant the permissions defined in a role to a set of users.
A copy or duplicate of a Pod or a set of pods. Replicas ensure high availability, scalability, and fault tolerance by maintaining multiple identical instances of a pod.
[+]Replicas are commonly used in Kubernetes to achieve the desired application state and reliability. They enable workload scaling and distribution across multiple nodes in a cluster.
By defining the number of replicas in a Deployment or ReplicaSet, Kubernetes ensures that the specified number of instances are running, automatically adjusting the count as needed.
Replica management allows for efficient load balancing, rolling updates, and self-healing capabilities in a Kubernetes cluster.
A ReplicaSet (aims to) maintain a set of replica Pods running at any given time.
[+]Workload objects such as Deployment make use of ReplicaSets to ensure that the configured number of Pods are running in your cluster, based on the spec of that ReplicaSet.
A workload resource that manages a replicated application, ensuring that a specific number of instances of a Pod are running.
[+]The control plane ensures that the defined number of Pods are running, even if some Pods fail, if you delete Pods manually, or if too many are started by mistake.
Note:
ReplicationController is deprecated. See Deployment, which is similar.Une personne qui examine la qualité et l'exactitude du code sur une partie du projet.
[+]Les réviseurs connaissent bien la base de code (codebase) et les principes d'ingénierie logicielle. Le statut du réviseur est limité à une partie de la base de code.
Stores sensitive information, such as passwords, OAuth tokens, and SSH keys.
[+]Secrets give you more control over how sensitive information is used and reduces the risk of accidental exposure. Secret values are encoded as base64 strings and are stored unencrypted by default, but can be configured to be encrypted at rest.
A Pod can reference the Secret in a variety of ways, such as in a volume mount or as an environment variable. Secrets are designed for confidential data and ConfigMaps are designed for non-confidential data.
The
[+]securityContext
field defines privilege and access control settings for a Pod or container.In a
securityContext
, you can define: the user that processes run as, the group that processes run as, and privilege settings. You can also configure security policies (for example: SELinux, AppArmor or seccomp).The
PodSpec.securityContext
setting applies to all containers in a Pod.Une manière abstraite d'exposer une application s'exécutant sur un ensemble de Pods en tant que service réseau.
[+]L'ensemble des pods ciblés par un service est (généralement) déterminé par un selecteur. Si plus de Pods sont ajoutés ou supprimés, l'ensemble de Pods correspondant au sélecteur changera. Le service s'assure que le trafic réseau peut être dirigé vers l'ensemble actuel de pods pour la charge de travail.
A former extension API that enabled applications running in Kubernetes clusters to easily use external managed software offerings, such as a datastore service offered by a cloud provider.
[+]It provided a way to list, provision, and bind with external Managed Services without needing detailed knowledge about how those services would be created or managed.
Provides an identity for processes that run in a Pod.
[+]When processes inside Pods access the cluster, they are authenticated by the API server as a particular service account, for example,
default
. When you create a Pod, if you do not specify a service account, it is automatically assigned the default service account in the same Namespace.A technique for assigning requests to queues that provides better isolation than hashing modulo the number of queues.
[+]We are often concerned with insulating different flows of requests from each other, so that a high-intensity flow does not crowd out low-intensity flows. A simple way to put requests into queues is to hash some characteristics of the request, modulo the number of queues, to get the index of the queue to use. The hash function uses as input characteristics of the request that align with flows. For example, in the Internet this is often the 5-tuple of source and destination address, protocol, and source and destination port.
That simple hash-based scheme has the property that any high-intensity flow will crowd out all the low-intensity flows that hash to the same queue. Providing good insulation for a large number of flows requires a large number of queues, which is problematic. Shuffle-sharding is a more nimble technique that can do a better job of insulating the low-intensity flows from the high-intensity flows. The terminology of shuffle-sharding uses the metaphor of dealing a hand from a deck of cards; each queue is a metaphorical card. The shuffle-sharding technique starts with hashing the flow-identifying characteristics of the request, to produce a hash value with dozens or more of bits. Then the hash value is used as a source of entropy to shuffle the deck and deal a hand of cards (queues). All the dealt queues are examined, and the request is put into one of the examined queues with the shortest length. With a modest hand size, it does not cost much to examine all the dealt cards and a given low-intensity flow has a good chance to dodge the effects of a given high-intensity flow. With a large hand size it is expensive to examine the dealt queues and more difficult for the low-intensity flows to dodge the collective effects of a set of high-intensity flows. Thus, the hand size should be chosen judiciously.
One or more containers that are typically started before any app containers run.
[+]Sidecar containers are like regular app containers, but with a different purpose: the sidecar provides a Pod-local service to the main app container. Unlike init containers, sidecar containers continue running after Pod startup.
Read Sidecar containers for more information.
Community members who collectively manage an ongoing piece or aspect of the larger Kubernetes open source project.
[+]Members within a SIG have a shared interest in advancing a specific area, such as architecture, API machinery, or documentation. SIGs must follow the SIG governance guidelines, but can have their own contribution policy and channels of communication.
For more information, see the kubernetes/community repo and the current list of SIGs and Working Groups.
Defines how each object, like Pods or Services, should be configured and its desired state.
[+]Almost every Kubernetes object includes two nested object fields that govern the object's configuration: the object spec and the object status. For objects that have a spec, you have to set this when you create the object, providing a description of the characteristics you want the resource to have: its desired state.
It varies for different objects like Pods, StatefulSets, and Services, detailing settings such as containers, volumes, replicas, ports,
and other specifications unique to each object type. This field encapsulates what state Kubernetes should maintain for the defined
object.Gère le déploiement et la mise à l'échelle d'un ensemble de Pods, et fournit des garanties sur l'ordre et l'unicité de ces Pods.
[+]Comme un Déploiement, un StatefulSet gère des Pods qui sont basés sur une même spécification de conteneur. Contrairement à un Deployment, un StatefulSet maintient une identité pour chacun de ces Pods. Ces Pods sont créés à partir de la même spec, mais ne sont pas interchangeables : chacun a un identifiant persistant qu'il garde à travers tous ses re-scheduling.
Si vous voulez utiliser des volumes de stockage pour fournir de la persistance à votre charge de travail, vous pouvez utiliser un StatefulSet comme partie de la solution. Même si des Pods individuels d'un StatefulSet sont susceptibles d'échouer, les identifiants persistants des Pods rendent plus facile de faire correspondre les volumes existants aux nouveaux Pods remplaçant ceux ayant échoué.
A pod managed directly by the kubelet daemon on a specific node,
[+]without the API server observing it.
Static Pods do not support ephemeral containers.
A StorageClass provides a way for administrators to describe different available storage types.
[+]StorageClasses can map to quality-of-service levels, backup policies, or to arbitrary policies determined by cluster administrators. Each StorageClass contains the fields
provisioner
,parameters
, andreclaimPolicy
, which are used when a Persistent Volume belonging to the class needs to be dynamically provisioned. Users can request a particular class using the name of a StorageClass object.
[+]sysctl
is a semi-standardized interface for reading or changing the attributes of the running Unix kernel.On Unix-like systems,
sysctl
is both the name of the tool that administrators use to view and modify these settings, and also the system call that the tool uses.Container runtimes and network plugins may rely on
sysctl
values being set a certain way.Un objet de base composé de trois caractéristiques requises : clé, valeur et effet. Les marquages empêchent l'ordonnancement des pods sur les nœuds ou les groupes de nœuds.
[+]Marquages et tolérances} travaillent ensemble pour s'assurer que les pods ne sont pas ordonnancés sur des nœuds inappropriés. Un ou plusieurs marquages sont appliqués à un nœud. Un nœud ne doit ordonnancer que des pods ayant les tolérances correspondantes pour les marquages configurés.
Un objet de base composé de trois caractéristiques requises : clé, valeur et effet. Les tolérances permettent d'ordonnancer les pods sur les nœuds ou les groupes de nœuds qui ont des marquages compatibles.
[+]Tolérances et marquages fonctionnent ensemble pour s'assurer que les pods ne sont pas ordonnancés sur des nœuds inappropriés. Une ou plusieurs tolérances sont appliquées à un pod. Une tolérance indique que le pod est autorisé à (mais non obligé de) être ordonnancé sur les nœuds ou groupes de nœuds avec un marquage compatible.
Chaîne de caractères générée par les systèmes Kubernetes pour identifier de manière unique les objets.
[+]Chaque objet créé pendant toute la durée de vie d'un cluster Kubernetes possède un UID distinct. Il vise à distinguer les occurrences historiques d'entités similaires.
May refer to: core Kubernetes or the source repo from which a repo was forked.
[+]- In the Kubernetes Community: Conversations often use upstream to mean the core Kubernetes codebase, which the general ecosystem, other code, or third-party tools rely upon. For example, community members may suggest that a feature is moved upstream so that it is in the core codebase instead of in a plugin or third-party tool.
- In GitHub or git: The convention is to refer to a source repo as upstream, whereas the forked repo is considered downstream.
A kernel feature to emulate root. Used for "rootless containers".
[+]User namespaces are a Linux kernel feature that allows a non-root user to emulate superuser ("root") privileges, for example in order to run containers without being a superuser outside the container.
User namespace is effective for mitigating damage of potential container break-out attacks.
In the context of user namespaces, the namespace is a Linux kernel feature, and not a namespace in the Kubernetes sense of the term.
Les variables d'environnement de conteneur sont des paires nom=valeur qui fournissent des informations utiles aux conteneurs fonctionnant au sein d'un Pod.
[+]Les variables d'environnement de conteneur fournissent les informations requises par les applications conteneurisées en cours d'exécution, ainsi que des informations sur les ressources importantes aux Conteneurs comme les détails du système de fichiers, les informations sur le conteneur lui-même et d'autres ressources du cluster telles que les terminaux de services par exemple.
Un répertoire contenant des données, accessible aux conteneurs d'un Pod.
[+]Un volume Kubernetes vit aussi longtemps que le pod qui le contient. Par conséquent, un volume survit à tous les conteneurs qui s'exécutent dans le pod, et les données contenues dans le volume sont préservées lors des redémarrages du conteneur.
Voir stockage pour plus d'informations.
A Volume Plugin enables integration of storage within a Pod.
[+]A Volume Plugin lets you attach and mount storage volumes for use by a Pod. Volume plugins can be in tree or out of tree. In tree plugins are part of the Kubernetes code repository and follow its release cycle. Out of tree plugins are developed independently.
A verb that is used to track changes to an object in Kubernetes as a stream. It is used for the efficient detection of changes.
[+]A verb that is used to track changes to an object in Kubernetes as a stream. Watches allow efficient detection of changes; for example, a controller that needs to know whenever a ConfigMap has changed can use a watch rather than polling.
See Efficient Detection of Changes in API Concepts for more information.
Facilitates the discussion and/or implementation of a short-lived, narrow, or decoupled project for a committee, SIG, or cross-SIG effort.
[+]Working groups are a way of organizing people to accomplish a discrete task.
For more information, see the kubernetes/community repo and the current list of SIGs and working groups.
Une charge de travail (workload) est une application exécutée sur Kubernetes.
[+]Divers objets de base qui représentent différents types ou parties d'une charge de travail incluent les objets DaemonSet, Deployment, Job, ReplicaSet et StatefulSet.
Par exemple, une charge de travail constituée d'un serveur Web et d'une base de données peut exécuter la base de données dans un StatefulSet et le serveur web dans un Déploiement.
Feedback
Cette page est elle utile ?
Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on Stack Overflow. Open an issue in the GitHub Repository if you want to report a problem or suggest an improvement.