标准化词汇表
此术语表旨在提供 Kubernetes 术语的完整、标准列表。其中包含特定于 Kubernetes 的技术术语以及能够构造有用的语境的一般性术语。
根据标签过滤术语
点击 [+] 下面的指示符号获取特定术语的更为完整的描述。
- Add-onsLINK
Resources that extend the functionality of Kubernetes.
[+]Installing addons explains more about using add-ons with your cluster, and lists some popular add-ons.
- Admission ControllerLINK
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.
- Aggregation LayerLINK
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 ServerComposant sur le master qui expose l’API Kubernetes. Il s’agit du front-end pour le plan de contrôle Kubernetes. pour support additional APIs, vous pourrez ajouter des objects
APIService
afin de “réclamer” un chemin URL dans l’API Kubernetes. - AnnotationLINK
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.
- API GroupLINK
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.
- App ContainerLINK
Les conteneurs d’application (ou conteneurs app) sont les containersUne image exécutable légère et portable qui contient le logiciel et toutes ses dépendances. dans un podLe plus petit et le plus simple des objets Kubernetes. Un Pod est un ensemble de conteneurs fonctionnant sur votre cluster. qui sont lancés après que les init containersUn ou plusieurs conteneurs d’initialisation qui doivent être exécutés jusqu’à la fin, avant l’exécution de tout conteneur d’application. soient terminés.
[+]Un conteneur d’initialisation vous permet de séparer les détails d’initialisation importants pour l’ensemble du workload workloadA workload is an application running on Kubernetes. , 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.
- ApprobateurLINK
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.
- Architecte d'ApplicationLINK
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.
- cgroup (control group)LINK
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.
- Chart HelmLINK
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.
- CIDRLINK
CIDR (Classless Inter-Domain Routing) is a notation for describing blocks of IP addresses and is used heavily in various networking configurations.
[+]In the context of Kubernetes, each NodeA node is a worker machine in Kubernetes. is assigned a range of IP addresses through the start address and a subnet mask using CIDR. This allows Nodes to assign each PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. a unique IP address. Although originally a concept for IPv4, CIDR has also been expanded to include IPv6.
- CLA (Contributor License Agreement)LINK
Conditions en vertu desquelles un contributeurQuelqu’un qui code, documente ou donne de son temps autrement, pour aider le projet ou la communauté Kubernetes. 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.
- Cloud Controller ManagerLINK
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.
- Cloud Native Computing Foundation (CNCF)LINK
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.
- ConfigMapLINK
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 volumeA directory containing data, accessible to the containers in a pod. .
[+]Permet de dissocier la configuration spécifique à l’environnement de vos images de conteneursUne image exécutable légère et portable qui contient le logiciel et toutes ses dépendances. , de sorte que vos applications soient facilement portable. Lorsque vous stockez des données confidentielles, utilisez un Secret.
- Container Lifecycle HooksLINK
Les hooks (ou déclencheurs) du cycle de vie exposent les événements du cycle de vie de la gestion du conteneurUne image exécutable légère et portable qui contient le logiciel et toutes ses dépendances. 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é.
- Container RuntimeLINK
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).
- containerdLINK
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 conteneurUne image exécutable légère et portable qui contient le logiciel et toutes ses dépendances. 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.
- ContributeurLINK
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)Community members who collectively manage an ongoing piece or aspect of the larger Kubernetes open source project. la participation ou l’organisation des évènements de la communauté.
- Contributeur de CodeLINK
Personne qui développe et contribue au code open source de Kubernetes.
[+]Cette personne est aussi un membre actif de la communautéA continuously active contributor in the K8s community. participant à un ou plusieurs Groupes d'Intérêts Spéciaux (SIGs, de l'anglais Special Interest Groups)Community members who collectively manage an ongoing piece or aspect of the larger Kubernetes open source project. .
- ContrôleurLINK
Boucle de contrôle surveillant l’état partagé du cluster à travers l’apiserverComposant sur le master qui expose l’API Kubernetes. Il s’agit du front-end pour le plan de contrôle Kubernetes. 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.
- CRI-OLINK
Un outil permettant d’utiliser les runtimes de conteneurs OCI avec Kubernetes CRI.
[+]CRI-O est une implémentation du Container Runtime Interface (CRI)Une API pour les runtimes de conteneurs à intégrer avec kubelet permettant l’utilisation des runtimes de conteneursUne image exécutable légère et portable qui contient le logiciel et toutes ses dépendances. 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 PodsLe plus petit et le plus simple des objets Kubernetes. Un Pod est un ensemble de conteneurs fonctionnant sur votre cluster. , et de récupérer les images de conteneurs OCI provenant de registres distants.
- CustomResourceDefinitionLINK
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.
- DaemonSetLINK
S’assure qu’une copie d’un PodLe plus petit et le plus simple des objets Kubernetes. Un Pod est un ensemble de conteneurs fonctionnant sur votre cluster. s’exécute sur un ensemble de nœuds d’un clusterUn ensemble de machines, appelées des “nœuds”, qui exécutent des applications conteneurisées gérées par Kubernetes. .
[+]Utilisé pour déployer des démons système tels que les collecteurs de logs et les agents de surveillance qui doivent généralement fonctionner sur chaque nœudA node is a worker machine in Kubernetes. .
- DisruptionLINK
Disruptions are events that lead to one or more PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. going out of service. A disruption has consequences for workload resources, such as DeploymentAn API object that manages a replicated application. , 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.
- DockerLINK
Docker (spécifiquement, Docker Engine) est un logiciel fournissant une virtualisation au niveau du système d’exploitation également connue sous le nom conteneursUne image exécutable légère et portable qui contient le logiciel et toutes ses dépendances. }.
[+]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).
- Downstream (désambiguïsation)LINK
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.
- DéploiementLINK
Objet API gérant une application répliquée.
[+]Chaque réplique est représentée par un PodLe plus petit et le plus simple des objets Kubernetes. Un Pod est un ensemble de conteneurs fonctionnant sur votre cluster. , et les Pods sont répartis entre les nœuds d’un cluster.
- Développeur (désambiguïsation)LINK
Peut faire référence à un Développeur d'ApplicationPersonne qui écrit une application s’exécutant dans un cluster Kubernetes. , Contributeur de CodePersonne qui développe et contribue au code open source de Kubernetes. ou à un Développeur de Plate-formeA person who customizes the Kubernetes platform to fit the needs of their project. .
[+]Ce terme ambigu peut avoir différentes significations selon le contexte.
- EndpointSliceLINK
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-proxykube-proxy is a network proxy that runs on each node in the cluster. to establish network routes on each nodeA node is a worker machine in Kubernetes. .
- Ephemeral ContainerLINK
A ContainerA lightweight and portable executable image that contains software and all of its dependencies. type that you can temporarily run inside a PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. .
[+]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.
- etcdLINK
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.
- ExtensionsLINK
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.
- FlexVolumeLINK
FlexVolume is an interface for creating out-of-tree volume plugins. The Container Storage InterfaceThe Container Storage Interface (CSI) defines a standard interface to expose storage systems to containers. is a newer interface which addresses several problems with FlexVolumes.
[+]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 CSIThe Container Storage Interface (CSI) defines a standard interface to expose storage systems to containers. driver if possible since it addresses the limitations with FlexVolumes.
- Fournisseur de CloudLINK
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.
- Horizontal Pod AutoscalerLINK亦称作:HPA
An API resource that automatically scales the number of PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. replicas based on targeted CPU utilization or custom metric targets.
[+]HPA is typically used with ReplicationControllersKubernetes service that ensures a specific number of instances of a pod are always running. , DeploymentsAn API object that manages a replicated application. , or ReplicaSetsReplicaSet ensures that a specified number of Pod replicas are running at one time . It cannot be applied to objects that cannot be scaled, for example DaemonSetsEnsures a copy of a Pod is running across a set of nodes in a cluster. .
- HostAliasesLINK
A HostAliases is a mapping between the IP address and hostname to be injected into a PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. ’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.
- ImageLINK
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.
- Infrastructure de ClusterLINKLa 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é.
- Init ContainerLINK
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.
- Interface de Stockage de Conteneurs (CSI)LINK
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 StockageA StorageClass provides a way for administrators to describe different available storage types. qui utilise le pilote de cette Interface de Stockage de Conteneurs.
- Interface réseau de conteneurs (CNI)LINK
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 ici.
- Pour plus d’informations sur Kubernetes et le CNI, se référer aux “Plugins réseau”.
- IstioLINK
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.
- JobLINK
A finite or batch task that runs to completion.
[+]Creates one or more PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. objects and ensures that a specified number of them successfully terminate. As Pods successfully complete, the Job tracks the successful completions.
- KopsLINK
A CLI tool that helps you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes clusters.
[+]Note: kops has general availability support only for AWS. Support for using kops with GCE and VMware vSphere are in alpha.kops
provisions your cluster with:- Fully automated installation
- DNS-based cluster identification
- Self-healing: everything runs in Auto-Scaling Groups
- Limited OS support (Debian preferred, Ubuntu 16.04 supported, early support for CentOS & RHEL)
- High availability (HA) support
- The ability to directly provision, or to generate Terraform manifests
You can also build your own cluster using KubeadmA tool for quickly installing Kubernetes and setting up a secure cluster. as a building block.
kops
builds on the kubeadm work. - kube-apiserverLINK
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é.
- kube-controller-managerLINK
Composant du master qui exécute les contrôleursBoucle 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é. .
[+]Logiquement, chaque contrôleurBoucle 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é. 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-proxyLINK
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 ServiceUn moyen d’exposer une application s’exécutant sur un ensemble de pods en tant que service réseau. .
[+]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.
- kube-schedulerLINK
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.
- KubeadmLINK
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 nodeA node is a worker machine in Kubernetes. components.
- KubectlLINK
A command line tool for communicating with a Kubernetes APIThe application that serves Kubernetes functionality through a RESTful interface and stores the state of the cluster. server.
[+]You can use kubectl to create, inspect, update, and delete Kubernetes objects.
- KubeletLINK
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.
- Kubernetes APILINK
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. - LabelLINK
Tags objects with identifying attributes that are meaningful and relevant to users.
[+]Labels are key/value pairs that are attached to objects such as PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. . They are used to organize and to select subsets of objects.
- LimitRangeLINK
Provides constraints to limit resource consumption per ContainersA lightweight and portable executable image that contains software and all of its dependencies. or PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. 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 ContainersA lightweight and portable executable image that contains software and all of its dependencies. or PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. in a namespace.
- LoggingLINK
Logs are the list of events that are logged by clusterA set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node. or application.
[+]Application and systems logs can help you understand what is happening inside your cluster. The logs are particularly useful for debugging problems and monitoring cluster activity.
- Managed ServiceLINK
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. Service Catalog provides a way to list, provision, and bind with Managed Services offered by Service BrokersAn endpoint for a set of Managed Services offered and maintained by a third-party. .
- MemberLINK
A continuously active contributorSomeone who donates code, documentation, or their time to help the Kubernetes project or community. in the K8s community.
[+]Members can have issues and PRs assigned to them and participate in special interest groups (SIGs)Community members who collectively manage an ongoing piece or aspect of the larger Kubernetes open source project. through GitHub teams. Pre-submit tests are automatically run for members’ PRs. A member is expected to remain an active contributor to the community.
- MinikubeLINK
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.
- Mirror PodLINK
A podThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. object that a kubelet uses to represent a static podA pod managed directly by the kubelet daemon on a specific node.
[+]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).
- NamespaceLINK
An abstraction used by Kubernetes to support multiple virtual clusters on the same physical clusterA set of worker machines, called nodes, that run containerized applications. Every cluster has at least one worker node. .
[+]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.
- Network PolicyLINK
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. - NodeLINK
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 PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. and is managed by the control plane. The daemons on a node include kubeletAn agent that runs on each node in the cluster. It makes sure that containers are running in a pod. , kube-proxykube-proxy is a network proxy that runs on each node in the cluster. , and a container runtime implementing the CRIAn API for container runtimes to integrate with kubelet such as DockerDocker is a software technology providing operating-system-level virtualization also known as containers. .
- Operator patternLINK
The operator pattern is a system design that links a ControllerA control loop that watches the shared state of the cluster through the apiserver and makes changes attempting to move the current state towards the desired state. 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.
- Opérateur de ClusterLINK
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. - Opérations sur le ClusterLINKActivité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.
- Persistent VolumeLINK
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 PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. .
[+]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.
- Persistent Volume ClaimLINK
Claims storage resources defined in a PersistentVolumeAn 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. so that it can be mounted as a volume in a containerA lightweight and portable executable image that contains software and all of its dependencies. .
[+]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.
- Plan de DonnéesLINKCouche 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.
- Platform DeveloperLINK
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 contributorsSomeone who donates code, documentation, or their time to help the Kubernetes project or community. and develop extensions which are contributed to the Kubernetes community. Others develop closed-source commercial or site-specific extensions.
- Plugin de PériphériqueLINK
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é.
- PodLINK
Le plus petit et le plus simple des objets Kubernetes. Un Pod est un ensemble de conteneursUne image exécutable légère et portable qui contient le logiciel et toutes ses dépendances. 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éploiementObjet API gérant une application répliquée. .
- Pod Disruption BudgetLINK亦称作: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. PDBs cannot prevent an involuntary disruption, but will count against the budget. [+]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. PDBs cannot prevent an involuntary disruption, but will count against the budget.
- Pod LifecycleLINK
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 PriorityLINK
Pod Priority indicates the importance of a PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. 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.
- Pod Security PolicyLINK
Enables fine-grained authorization of PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. 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. - PodPresetLINK
An API object that injects information such as secrets, volume mounts, and environment variables into PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. at creation time.
[+]This object chooses the Pods to inject information into using standard selectors. This allows the podspec definitions to be nonspecific, decoupling the podspec from environment specific configuration.
- PreemptionLINK
Preemption logic in Kubernetes helps a pending PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. to find a suitable NodeA node is a worker machine in Kubernetes. by evicting low priority Pods existing on that Node.
[+]If a Pod cannot be scheduled, the scheduler tries to preempt lower priority Pods to make scheduling of the pending Pod possible.
- Provisionnement Dynamique de VolumeLINK
Permet aux utilisateurs de demander la création automatique de VolumesA directory containing data, accessible to the containers in a pod. 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 StockageA StorageClass provides a way for administrators to describe different available storage types. , se référant à un Plugin de VolumeA Volume Plugin enables integration of storage within a Pod. qui provisionne un VolumeA directory containing data, accessible to the containers in a pod. ainsi qu’un ensemble de paramètres à passer au Plugin de Volume.
- ProxyLINK
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 ServiceA way to expose an application running on a set of Pods as a network 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 ClassLINK
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
. - QuantityLINK
A whole-number representation of small or large numbers using SI suffixes.
[+]Quantities are representations of small or large numbers using a compact, whole-number notation with SI suffixes. Fractional numbers are represented using milli units, while large numbers can be represented using kilo, mega, or giga units.
For instance, the number
1.5
is represented as1500m
, while the number1000
can be represented as1k
, and1000000
as1M
. You can also specify binary-notation suffixes; the number 2048 can be written as2Ki
.The accepted decimal (power-of-10) units are
m
(milli),k
(kilo, intentionally lowercase),M
(mega),G
(giga),T
(tera),P
(peta),E
(exa).The accepted binary (power-of-2) units are
Ki
(kibi),Mi
(mebi),Gi
(gibi),Ti
(tebi),Pi
(pebi),Ei
(exbi). - RBAC (Role-Based Access Control)LINK
Manages authorization decisions, allowing admins to dynamically configure access policies through the Kubernetes APIThe application that serves Kubernetes functionality through a RESTful interface and stores the state of the cluster. .
[+]RBAC utilizes roles, which contain permission rules, and role bindings, which grant the permissions defined in a role to a set of users.
- ReplicaSetLINK
A ReplicaSet (aims to) maintain a set of replica Pods running at any given time.
[+]Workload objects such as DeploymentAn API object that manages a replicated application. make use of ReplicaSets to ensure that the configured number of PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. are running in your cluster, based on the spec of that ReplicaSet.
- Replication ControllerLINK
Kubernetes service that ensures a specific number of instances of a PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. are always running.
[+]Will automatically add or remove running instances of a pod, based on a set value for that pod. Allows the pod to return to the defined number of instances if pods are deleted or if too many are started by mistake.
- Resource QuotasLINK
Provides constraints that limit aggregate resource consumption per NamespaceAn abstraction used by Kubernetes to support multiple virtual clusters on the same physical cluster. .
[+]Limits the quantity of objects that can be created in a namespace by type, as well as the total amount of compute resources that may be consumed by resources in that project.
- rktLINK
A security-minded, standards-based container engine.
[+]rkt is an application containerA lightweight and portable executable image that contains software and all of its dependencies. engine featuring a PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. -native approach, a pluggable execution environment, and a well-defined surface area. rkt allows users to apply different configurations at both the Pod and application level. Each Pod executes directly in the classic Unix process model, in a self-contained, isolated environment.
- SecretLINK
Stores sensitive information, such as passwords, OAuth tokens, and ssh keys.
[+]Allows for more control over how sensitive information is used and reduces the risk of accidental exposure, including encryption at rest. A PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. references the secret as a file in a volume mount or by the kubelet pulling images for a pod. Secrets are great for confidential data and ConfigMaps for non-confidential data.
- Security ContextLINK
The
[+]securityContext
field defines privilege and access control settings for a PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. or containerA lightweight and portable executable image that contains software and all of its dependencies. .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. - SelectorLINK
Allows users to filter a list of resources based on labelsTags objects with identifying attributes that are meaningful and relevant to users. .
[+]Selectors are applied when querying lists of resources to filter them by labels.
- ServiceLINK
Une manière abstraite d’exposer une application s’exécutant sur un ensemble de PodsLe plus petit et le plus simple des objets Kubernetes. Un Pod est un ensemble de conteneurs fonctionnant sur votre cluster. en tant que service réseau.
[+]L’ensemble des pods ciblés par un service est (généralement) déterminé par un selecteurAllows users to filter a list of resources based on labels. . 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.
- Service AccountLINK
Provides an identity for processes that run in a PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. .
[+]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 NamespaceAn abstraction used by Kubernetes to support multiple virtual clusters on the same physical cluster. . - Service BrokerLINK
An endpoint for a set of Managed ServicesA software offering maintained by a third-party provider. offered and maintained by a third-party.
[+]Service BrokersAn endpoint for a set of Managed Services offered and maintained by a third-party. implement the Open Service Broker API spec and provide a standard interface for applications to use their Managed Services. Service Catalog provides a way to list, provision, and bind with Managed Services offered by Service Brokers.
- Service CatalogLINK
An extension API that enables applications running in Kubernetes clusters to easily use external managed software offerings, such as a datastore service offered by a cloud provider.
[+]It provides a way to list, provision, and bind with external Managed ServicesA software offering maintained by a third-party provider. from Service BrokersAn endpoint for a set of Managed Services offered and maintained by a third-party. without needing detailed knowledge about how those services are created or managed.
- SIG (special interest group)LINK
Community membersA continuously active contributor in the K8s community. 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.
- StatefulSetLINK
Manages the deployment and scaling of a set of PodsThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. , and provides guarantees about the ordering and uniqueness of these Pods.
[+]Like a DeploymentAn API object that manages a replicated application. , a StatefulSet manages Pods that are based on an identical container spec. Unlike a Deployment, a StatefulSet maintains a sticky identity for each of their Pods. These pods are created from the same spec, but are not interchangeable: each has a persistent identifier that it maintains across any rescheduling.
- Static PodLINK
A podThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. managed directly by the kubelet daemon on a specific node,
[+]without the API server observing it.
- Storage ClassLINK
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 VolumeAn 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. belonging to the class needs to be dynamically provisioned. Users can request a particular class using the name of a StorageClass object. - sysctlLINK
[+]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.ContainerA lightweight and portable executable image that contains software and all of its dependencies. runtimes and network plugins may rely on
sysctl
values being set a certain way. - TaintLINK
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érancesUn 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 un marquage compatible. } 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œudA node is a worker machine in Kubernetes. . Un nœud ne doit ordonnancer que des pods ayant les tolérances correspondantes pour les marquages configurés.
- TolerationLINK
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 marquagesUn 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. compatibles.
[+]Tolérances et marquagesUn 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. 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 podLe plus petit et le plus simple des objets Kubernetes. Un Pod est un ensemble de conteneurs fonctionnant sur votre cluster. . Une tolérance indique que le podLe plus petit et le plus simple des objets Kubernetes. Un Pod est un ensemble de conteneurs fonctionnant sur votre cluster. est autorisé à (mais non obligé de) être ordonnancé sur les nœuds ou groupes de nœuds avec un marquageUn 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. compatible.
- Upstream (disambiguation)LINK
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.
- Variables d'Environnement de ConteneurLINK
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 ConteneursUne image exécutable légère et portable qui contient le logiciel et toutes ses dépendances. 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.
- VolumeLINK
A directory containing data, accessible to the containersA lightweight and portable executable image that contains software and all of its dependencies. in a PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. .
[+]A Kubernetes volume lives as long as the Pod that encloses it. Consequently, a volume outlives any containers that run within the Pod, and data in the volume is preserved across container restarts.
See storage for more information.
- Volume PluginLINK
A Volume Plugin enables integration of storage within a PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. .
[+]A Volume Plugin lets you attach and mount storage volumes for use by a PodThe smallest and simplest Kubernetes object. A Pod represents a set of running containers on your cluster. . 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.
- WG (working group)LINK
Facilitates the discussion and/or implementation of a short-lived, narrow, or decoupled project for a committee, SIGCommunity members who collectively manage an ongoing piece or aspect of the larger Kubernetes open source project. , or cross-SIG effort.
[+]Working groups are a way of organizing people to accomplish a discrete task, and are relatively easy to create and deprecate when inactive.
For more information, see the kubernetes/community repo and the current list of SIGs and working groups.
- WorkloadLINK
A workload is an application running on Kubernetes.
[+]Various core objects that represent different types or parts of a workload include the DaemonSet, Deployment, Job, ReplicaSet, and StatefulSet objects.
For example, a workload that has a web server and a database might run the database in one StatefulSetManages the deployment and scaling of a set of Pods, and provides guarantees about the ordering and uniqueness of these Pods. and the web server in a DeploymentAn API object that manages a replicated application. .
Feedback
Cette page est elle utile ?
感谢反馈。如果您有一个关于如何使用 Kubernetes 的特定的、需要答案的问题,可以访问 Stack Overflow. 在 GitHub 仓库上登记新的问题 报告问题 或者 提出改进建议.