Glossary

Questo glossario vuole essere un aiuto per standardizzare la terminologia usata per Kubernetes. Include termini tecnici che sono specifici di Kubernetes, così come termini più generali che sono utili per dare un contesto.

Filtra i termini sulla base delle loro etichette

The inner components of Kubernetes.
Related to Kubernetes open-source development.
A resource type that Kubernetes supports by default.
Supported customizations of Kubernetes.
Relevant for a first-time user of Kubernetes.
How Kubernetes components talk to each other (and to programs outside the cluster).
Starting and maintaining Kubernetes.
Keeping Kubernetes applications safe and secure.
How Kubernetes applications handle persistent data.
Software that makes Kubernetes easier or better to use.
Represents a common type of Kubernetes user.
Applications running on Kubernetes.
Architecture Community Core Object Extension Fundamental Networking Operation Security Storage Tool User Type Workload Seleziona tutto Deseleziona tutto

Fare click sull'icona [+] per il significato di questo termine.

  • Add-ons

    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 Controller

    A piece of code that intercepts requests to the Kubernetes API server prior to persistence of the object.

    [+]

    Admission controllers are configurable for the Kubernetes API server and may be "validating", "mutating", or both. Any admission controller may reject the request. Mutating controllers may modify the objects they admit; validating controllers may not.

  • Affinity

    In Kubernetes, affinity is a set of rules that give hints to the scheduler about where to place pods.

    [+]

    There are two kinds of affinity:

    The rules are defined using the Kubernetes labels, and selectors specified in pods, and they can be either required or preferred, depending on how strictly you want the scheduler to enforce them.

  • Aggregation Layer

    The aggregation layer lets you install additional Kubernetes-style APIs in your cluster.

    [+]

    When you've configured the Kubernetes API Server to support additional APIs, you can add APIService objects to "claim" a URL path in the Kubernetes API.

  • Annotation

    A key-value pair that is used to attach arbitrary non-identifying metadata to objects.

    [+]

    The metadata in an annotation can be small or large, structured or unstructured, and can include characters not permitted by labels. Clients such as tools and libraries can retrieve this metadata.

  • API Group

    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.

  • API server
    Anche noto come:kube-apiserver

    L'API server è un componente di Kubernetes control plane che espone le Kubernetes API. L'API server è il front end del control plane di Kubernetes.

    [+]

    La principale implementazione di un server Kubernetes API è kube-apiserver. kube-apiserver è progettato per scalare orizzontalmente, cioè scala aumentando il numero di istanze. Puoi eseguire multiple istanze di kube-apiserver e bilanciare il traffico tra queste istanze.

  • API-initiated eviction

    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 an Eviction object is created, the API server terminates the Pod.

    API-initiated evictions respect your configured PodDisruptionBudgets and terminationGracePeriodSeconds.

    API-initiated eviction is not the same as node-pressure eviction.

  • App Container

    Application containers (or app containers) are the containers in a pod that are started after any init containers have completed.

    [+]

    An init container lets you separate initialization details that are important for the overall workload, and that don't need to keep running once the application container has started. If a pod doesn't have any init containers configured, all the containers in that pod are app containers.

  • Application Architect

    A person responsible for the high-level design of an application.

    [+]

    An architect ensures that an app's implementation allows it to interact with its surrounding components in a scalable, maintainable way. Surrounding components include databases, logging infrastructure, and other microservices.

  • Application Developer

    A person who writes an application that runs in a Kubernetes cluster.

    [+]

    An application developer focuses on one part of an application. The scale of their focus may vary significantly in size.

  • Applications
    The layer where various containerized applications run. [+]

    The layer where various containerized applications run.

  • Approver

    A person who can review and approve Kubernetes code contributions.

    [+]

    While code review is focused on code quality and correctness, approval is focused on the holistic acceptance of a contribution. Holistic acceptance includes backwards/forwards compatibility, adhering to API and flag conventions, subtle performance and correctness issues, interactions with other parts of the system, and others. Approver status is scoped to a part of the codebase. Approvers were previously referred to as maintainers.

  • cAdvisor

    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.

  • Certificate

    A cryptographically secure file used to validate access to the Kubernetes cluster.

    [+]

    Certificates enable applications within a Kubernetes cluster to access the Kubernetes API securely. Certificates validate that clients are allowed to access the API.

  • cgroup (control group)

    A group of Linux processes with optional resource isolation, accounting and limits.

    [+]

    cgroup is a Linux kernel feature that limits, accounts for, and isolates the resource usage (CPU, memory, disk I/O, network) for a collection of processes.

  • CIDR

    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 Node is assigned a range of IP addresses through the start address and a subnet mask using CIDR. This allows Nodes to assign each Pod a unique IP address. Although originally a concept for IPv4, CIDR has also been expanded to include IPv6.

  • CLA (Contributor License Agreement)

    Terms under which a contributor grants a license to an open source project for their contributions.

    [+]

    CLAs help resolve legal disputes involving contributed material and intellectual property (IP).

  • Cloud Controller Manager

    Un componente della control plane di Kubernetes che aggiunge logiche di controllo specifiche per il cloud. Il cloud-controller-manager ti permette di collegare il tuo cluster con le API del cloud provider e separa le componenti che interagiscono con la piattaforma cloud dai componenti che interagiscono solamente col cluster.

    [+]

    Disaccoppiando la logica di interoperabilità tra Kubernetes e l'infrastruttura cloud sottostante, il componente cloud-controller-manager abilità i cloud provider di rilasciare funzionalità a un ritmo diverso rispetto al progetto principale Kubernetes.

  • Cloud Native Computing Foundation (CNCF)

    The Cloud Native Computing Foundation (CNCF) builds sustainable ecosystems and fosters a community around projects that orchestrate containers as part of a microservices architecture.

    Kubernetes is a CNCF project.

    [+]

    The CNCF is a sub-foundation of the Linux Foundation. Its mission is to make cloud native computing ubiquitous.

  • Cloud Provider
    Anche noto come:Cloud Service Provider

    A business or other organization that offers a cloud computing platform.

    [+]

    Cloud providers, sometimes called Cloud Service Providers (CSPs), offer cloud computing platforms or services.

    Many cloud providers offer managed infrastructure (also called Infrastructure as a Service or IaaS). With managed infrastructure the cloud provider is responsible for servers, storage, and networking while you manage layers on top of that such as running a Kubernetes cluster.

    You can also find Kubernetes as a managed service; sometimes called Platform as a Service, or PaaS. With managed Kubernetes, your cloud provider is responsible for the Kubernetes control plane as well as the nodes and the infrastructure they rely on: networking, storage, and possibly other elements such as load balancers.

  • Cluster

    Un'insieme di macchine, chiamate nodi, che eseguono container gestiti da Kubernetes. Un cluster ha almeno un Worker Node.

    [+]

    Il/I Worker Node ospitano i Pod che eseguono i workload dell'utente. Il/I Control Plane Node gestiscono i Worker Node e tutto quanto accade all'interno del cluster. Per garantire la high-availability e la possibilità di failover del cluster, vengono utilizzati più Control Plane Node.

  • Cluster Architect

    A person who designs infrastructure that involves one or more Kubernetes clusters.

    [+]

    Cluster architects are concerned with best practices for distributed systems, for example: high availability and security.

  • Cluster Infrastructure
    The infrastructure layer provides and maintains VMs, networking, security groups and others. [+]

    The infrastructure layer provides and maintains VMs, networking, security groups and others.

  • Cluster Operations

    The work involved in managing a Kubernetes cluster: managing day-to-day operations, and co-ordinating upgrades.

    [+]

    Examples of cluster operations work include: deploying new Nodes to scale the cluster; performing software upgrades; implementing security controls; adding or removing storage; configuring cluster networking; managing cluster-wide observability; and responding to events.

  • Cluster Operator

    A person who configures, controls, and monitors clusters.

    [+]

    Their primary responsibility is keeping a cluster up and running, which may involve periodic maintenance activities or upgrades.

  • Code Contributor

    A person who develops and contributes code to the Kubernetes open source codebase.

    [+]

    They are also an active community member who participates in one or more Special Interest Groups (SIGs).

  • ConfigMap

    An API object used to store non-confidential data in key-value pairs. Pods can consume ConfigMaps as environment variables, command-line arguments, or as configuration files in a volume.

    [+]

    A ConfigMap allows you to decouple environment-specific configuration from your container images, so that your applications are easily portable.

  • Container

    Una immagine leggera, portabile ed eseguibile che contiene un software e tutte le sue dipendenze.

    [+]

    I ontainer disaccoppiano le applicazione dall'infrastruttura host sottostante e rendono semplice il deploy nei differenti cloud o sistemi operativi e anche per una semplice scalabilità

  • Container Environment Variables

    Container environment variables are name=value pairs that provide useful information into containers running in a pod

    [+]

    Container environment variables provide information that is required by the running containerized applications along with information about important resources to the containers. For example, file system details, information about the container itself, and other cluster resources such as service endpoints.

  • Container Lifecycle Hooks

    The lifecycle hooks expose events in the Container management lifecycle and let the user run code when the events occur.

    [+]

    Two hooks are exposed to Containers: PostStart which executes immediately after a container is created and PreStop which is blocking and is called immediately before a container is terminated.

  • Container network interface (CNI)

    Container network interface (CNI) plugins are a type of Network plugin that adheres to the appc/CNI specification.

    [+]
    • For information on Kubernetes and CNI refer to this.
    • For information on Kubernetes and CNI, see "Network plugins".
  • Container Runtime

    Il container runtime è il software che è responsabile per l'esecuzione dei container.

    [+]

    Kubernetes supporta diversi container runtimes: Docker, containerd, cri-o, rktlet e tutte le implementazioni di Kubernetes CRI (Container Runtime Interface).

  • 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 cluster components kubelet and container runtime.

  • Container runtime interface (CRI)

    Il container runtime interface (CRI) è una API per container runtimes che si integra con la kubelet in un node.

    [+]

    Per maggiori informazioni, guarda CRI API e relative specifiche.

  • Container Storage Interface (CSI)

    The Container Storage Interface (CSI) defines a standard interface to expose storage systems to containers.

    [+]

    CSI allows vendors to create custom storage plugins for Kubernetes without adding them to the Kubernetes repository (out-of-tree plugins). To use a CSI driver from a storage provider, you must first deploy it to your cluster. You will then be able to create a Storage Class that uses that CSI driver.

  • containerd

    A container runtime with an emphasis on simplicity, robustness and portability

    [+]

    containerd is a container runtime that runs as a daemon on Linux or Windows. containerd takes care of fetching and storing container images, executing containers, providing network access, and more.

  • Contributor

    Someone who donates code, documentation, or their time to help the Kubernetes project or community.

    [+]

    Contributions include pull requests (PRs), issues, feedback, special interest groups (SIG) participation, or organizing community events.

  • Control Plane

    Lo strato per l'orchestrazione dei container che espone le API e interfaccie per definere, deploy, e gestione del ciclo di vita dei container.

    [+]

    Questo strato è composto da diversi componenti, come (ma non limitato a):

    Questi compenti possono girare come trazionali servizi del sistema operativo (demoni) o come containers. L'host che esegue questi componenti era storicamente chiamato master.

  • Controller

    In Kubernetes, i controller sono circuiti di controllo che osservano lo stato del cluster, e apportano o richiedono modifiche quando necessario. Ogni controller prova a portare lo stato corrente del cluster verso lo stato desiderato.

    [+]

    I controller osservano lo stato condiviso del cluster attraverso il apiserver (che è parte del Control Plane).

    Alcuni controller vengono eseguiti all'interno del piano di controllo (control plane), e forniscono circuiti di controllo che sono parte dell'operatività base di Kubernetes. Ad esempio: il deployment controller, il daemonset controller, il namespace controller, ed il persistent volume controller (e altri) vengono tutti eseguiti all'interno del kube-controller-manager.

  • CRI-O

    A tool that lets you use OCI container runtimes with Kubernetes CRI.

    [+]

    CRI-O is an implementation of the Container runtime interface (CRI) to enable using container runtimes that are compatible with the Open Container Initiative (OCI) runtime spec.

    Deploying CRI-O allows Kubernetes to use any OCI-compliant runtime as the container runtime for running Pods, and to fetch OCI container images from remote registries.

  • CronJob

    Manages a Job that runs on a periodic schedule.

    [+]

    Similar to a line in a crontab file, a CronJob object specifies a schedule using the cron format.

  • CustomResourceDefinition

    Custom code that defines a resource to add to your Kubernetes API server without building a complete custom server.

    [+]

    Custom Resource Definitions let you extend the Kubernetes API for your environment if the publicly supported API resources can't meet your needs.

  • DaemonSet

    Assicura che una copia del Pod è attiva su tutti nodi di un cluster.

    [+]

    Utilizzato per il deploy di demoni di sistema come collettori di log e agenti di monitoraggio che tipicamente girano in ogni Node.

  • Data Plane
    The layer that provides capacity such as CPU, memory, network, and storage so that the containers can run and connect to a network. [+]

    The layer that provides capacity such as CPU, memory, network, and storage so that the containers can run and connect to a network.

  • Deployment

    Un oggetto API che gestisce un'applicazione replicatata, tipicamente esegue Pod senza stato locale.

    [+]

    Ogni replica è rappresentata da un Pod, e i Pod sono distribuiti attraverso i nodi di un cluster. Per i carichi di lavoro che hanno bisogno di uno stato locale, cosidera l'utilizzo di un StatefulSet.

  • Developer (disambiguation)

    May refer to: Application Developer, Code Contributor, or Platform Developer.

    [+]

    This overloaded term may have different meanings depending on the context

  • Device Plugin

    Device plugins run on worker Nodes and provide Pods with access to resources, such as local hardware, that require vendor-specific initialization or setup steps.

    [+]

    Device plugins advertise resources to the kubelet, so that workload Pods can access hardware features that relate to the Node where that Pod is running. You can deploy a device plugin as a DaemonSet, or install the device plugin software directly on each target Node.

    See Device Plugins for more information.

  • Disruption

    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

    Docker (nello specifico, Docker Engine) è una technologia software che offre una virtualizzazione a livello del sistema operativo nota come container.

    [+]

    Docker utilizza delle funzionalità di isolamente del kernel Linux come cgroups e kernel namespaces e un file system union-capable come OverlayFS e altro permettendo a container indipendenti di girare all'interno di una singola istanza Linux, eliminando il sovraccarico nell'avviare e manutenere delle virtual machines (VMs).

  • Dockershim

    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.

  • Downstream (disambiguation)

    May refer to: code in the Kubernetes ecosystem that depends upon the core Kubernetes codebase or a forked repo.

    [+]
    • In the Kubernetes Community: Conversations often use downstream to mean the ecosystem, code, or third-party tools that rely on the core Kubernetes codebase. For example, a new feature in Kubernetes may be adopted by applications downstream to improve their functionality.
    • In GitHub or git: The convention is to refer to a forked repo as downstream, whereas the source repo is considered upstream.
  • Downward API

    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:

    Together, these two ways of exposing Pod and container fields are called the downward API.

  • Dynamic Volume Provisioning

    Allows users to request automatic creation of storage Volumes.

    [+]

    Dynamic provisioning eliminates the need for cluster administrators to pre-provision storage. Instead, it automatically provisions storage by user request. Dynamic volume provisioning is based on an API object, StorageClass, referring to a Volume Plugin that provisions a Volume and the set of parameters to pass to the Volume Plugin.

  • Endpoints

    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.

  • EndpointSlice

    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.

  • Ephemeral Container

    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.

  • etcd

    È un database key-value ridondato, che è usato da Kubernetes per salvare tutte le informazioni del cluster.

    [+]

    Se il tuo cluster utilizza etcd per salvare le informazioni, assicurati di avere una strategia di backup per questi dati.

    Puoi trovare informazioni dettagliate su etcd sulla documentazione ufficiale.

  • Event

    Each Event is a report of an event somewhere in the cluster. It generally denotes some state change 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

    Eviction is the process of terminating one or more Pods on Nodes.

    [+]

    There are two kinds of eviction:

  • Extensions

    Extensions are software components that extend and deeply integrate with Kubernetes to support new types of hardware.

    [+]

    Many cluster administrators use a hosted or distribution instance of Kubernetes. These clusters come with extensions pre-installed. As a result, most Kubernetes users will not need to install extensions and even fewer users will need to author new ones.

  • Finalizer

    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 a 202 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 the metadata.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

    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.

  • Garbage Collection

    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.

  • Helm Chart

    A package of pre-configured Kubernetes resources that can be managed with the Helm tool.

    [+]

    Charts provide a reproducible way of creating and sharing Kubernetes applications. A single chart can be used to deploy something simple, like a memcached Pod, or something complex, like a full web app stack with HTTP servers, databases, caches, and so on.

  • Horizontal Pod Autoscaler
    Anche noto come: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.

  • HostAliases

    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.

  • Image

    Stored instance of a Container that holds a set of software needed to run an application.

    [+]

    A way of packaging software that allows it to be stored in a container registry, pulled to a local system, and run as an application. Meta data is included in the image that can indicate what executable to run, who built it, and other information.

  • Ingress

    An API object that manages external access to the services in a cluster, typically HTTP.

    [+]

    Ingress may provide load balancing, SSL termination and name-based virtual hosting.

  • Init Container

    One or more initialization containers that must run to completion before any app containers run.

    [+]

    Initialization (init) containers are like regular app containers, with one difference: init containers must run to completion before any app containers can start. Init containers run in series: each init container must run to completion before the next init container begins.

  • Istio

    An open platform (not Kubernetes-specific) that provides a uniform way to integrate microservices, manage traffic flow, enforce policies, and aggregate telemetry data.

    [+]

    Adding Istio does not require changing application code. It is a layer of infrastructure between a service and the network, which when combined with service deployments, is commonly referred to as a service mesh. Istio's control plane abstracts away the underlying cluster management platform, which may be Kubernetes, Mesosphere, etc.

  • Job

    Uno o più lavori (task) che vengono eseguiti fino al loro completamento.

    [+]

    Crea uno o più oggetti di tipo Pod ed assicura che un numero preciso di questi venga completato con successo. Quando i Pod vengono eseguiti con successo, il Job tiene traccia della completamento andato a buon fine.

  • Kops

    A CLI tool that helps you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes clusters.

    [+]

    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 Kubeadm as a building block. kops builds on the kubeadm work.

  • kube-controller-manager

    Componente della Control Plane che gestisce controllers.

    [+]

    Da un punto di vista logico, ogni controller è un processo separato, ma per ridurre la complessità, tutti i principali controller di Kubernetes vengono raggruppati in un unico container ed eseguiti in un singolo processo.

  • kube-proxy

    kube-proxy è un proxy eseguito su ogni nodo del cluster, responsabile della gestione dei Kubernetes Service.

    [+]

    I kube-proxy mantengono le regole di networking sui nodi. Queste regole permettono la comunicazione verso gli altri nodi del cluster o l'esterno.

    Il kube-proxy usa le librerie del sistema operativo quando possible; in caso contrario il kube-proxy gestisce il traffico direttamente.

  • kube-scheduler

    Componente della Control Plane che controlla i pod appena creati che non hanno un nodo assegnato, e dopo averlo identificato glielo assegna.

    [+]

    I fattori presi in considerazioni nell'individuare un nodo a cui assegnare l'esecuzione di un Pod includono la richiesta di risorse del Pod stesso e degli altri workload presenti nel sistema, i vincoli delle hardware/software/policy, le indicazioni di affinity e di anti-affinity, requisiti relativi alla disponibilità di dati/Volumes, le interferenze tra diversi workload e le scadenze.

  • Kubeadm

    Un tool per installare velocemente Kubernetes e avviare un cluster sicuro.

    [+]

    Puoi usare kubeadm per installare sia la control plane che il worker node.

  • Kubectl
    Anche noto come: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.

  • Kubelet

    Un agente che è eseguito su ogni nodo del cluster. Si assicura che i container siano eseguiti in un pod.

    [+]

    La kubelet riceve un set di PodSpecs che vengono forniti attraverso vari meccanismi, e si assicura che i container descritti in questi PodSpecs funzionino correttamente e siano sani. La kubelet non gestisce i container che non sono stati creati da Kubernetes.

  • Kubernetes API

    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.

  • Label

    Tags di oggetti con attributi identificativi che sono significativi e pertinenti per gli utenti.

    [+]

    Le label sono delle coppie key/value che sono collegate a oggetti come Pod. Esse sono usate per organizzare e selezionare un sottoinsieme di oggetti.

  • LimitRange

    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.

  • Logging

    Logs are the list of events that are logged by cluster 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 Service

    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.

  • Manifest

    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.

  • Master

    Termine vecchio, usato come sinonimo per i nodi che ospitano la control plane.

    [+]

    Il termine è ancora usato da alcuni strumenti di provisioning, come kubeadm, e servizi gestiti, per mettere la label kubernetes.io/role ai nodi per controllare il posizionamento dei pods della control plane .

  • Member

    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.

  • Minikube

    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 Pod

    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).

  • Name

    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.

  • Namespace

    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).

  • Network Policy

    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.

  • Node

    Un node è una macchina worker in Kubernetes.

    [+]

    Un worker node può essere una VM o una macchina fisica, in base al cluster. Possiede daemon locali o servizi ncessari a eseguire Pods e viene gestito dalla control plane. I deamon i un node includono kubelet, kube-proxy, e un container runtiome che implementa CRI come ad esempio Docker.

    Nelle prime versioni di Kubernetes, i Node venivano chiamati "Minion".

  • Node-pressure eviction
    Anche noto come: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.

  • Object

    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.

  • Operator pattern

    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.

  • Persistent Volume

    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.

  • Persistent Volume Claim

    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.

  • Platform Developer

    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.

  • Pod

    Il più piccolo e semplice oggetto in Kubernetes. Un pod rappresenta un gruppo di container nel tuo cluster.

    [+]

    Un pod è tipicamente progettato per eseguire un singolo container primario. Può opzionalmente eseguire sidecar container che aggiungono funzionalità supplementari come logging. I Pod sono generalmetne gestiti da un Deployment.

  • Pod Disruption

    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.

  • Pod Disruption Budget
    Anche noto come: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.

  • Pod Lifecycle

    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

    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.

  • Pod Security Policy

    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 is deprecated as of Kubernetes v1.21, and will be removed in v1.25. We recommend migrating to Pod Security Admission, or a 3rd party admission plugin.

  • Preemption

    Preemption logic in Kubernetes helps a pending Pod to find a suitable Node 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.

  • Proxy

    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

    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 or BestEffort.

  • Quantity

    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 as 1500m, while the number 1000 can be represented as 1k, and 1000000 as 1M. You can also specify binary-notation suffixes; the number 2048 can be written as 2Ki.

    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)

    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.

  • ReplicaSet

    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.

  • ReplicationController

    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.

  • Resource Quotas

    Provides constraints that limit aggregate resource consumption per Namespace.

    [+]

    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.

  • Reviewer

    A person who reviews code for quality and correctness on some part of the project.

    [+]

    Reviewers are knowledgeable about both the codebase and software engineering principles. Reviewer status is scoped to a part of the codebase.

  • Secret

    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. Secret values are encoded as base64 strings and stored unencrypted by default, but can be configured to be encrypted at rest. A Pod 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 Context

    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.

  • Selector

    Allows users to filter a list of resources based on labels.

    [+]

    Selectors are applied when querying lists of resources to filter them by labels.

  • Service

    An abstract way to expose an application running on a set of Pods as a network service.

    [+]

    The set of Pods targeted by a Service is (usually) determined by a selector. If more Pods are added or removed, the set of Pods matching the selector will change. The Service makes sure that network traffic can be directed to the current set of Pods for the workload.

  • Service Catalog

    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.

  • ServiceAccount

    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.

  • Shuffle-sharding

    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.

  • SIG (special interest group)

    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.

  • StatefulSet

    Gestisce deployment e la scalabilità di un gruppo di Pods, e garantisce il corretto ordine e unicità di questi Pods.

    [+]

    Come un Deployment, uno StatefulSet gestisce Pod che sono basati sulla stessa specifica di container. Contrariamente da un Deployment, uno StatefulSet mantiente una specifica identita per ogni Pod. Questi pod sono creati dalla stessa specifica, ma non sono intercambiabili: ogni pod a un identificativo persistente che si mantiene attraverso ogni rischedulazione.

    Se vuoi usare un volume dello storage per avere la persistenza per il tuo carico di lavoro, puoi usare uno StatefulSet come parte della tua soluzione. Anche se i singoli Pod in uno StatefulSet sono suscettibili al fallimento, l'identificativo persistente del Pod rende semplice il collegamento dei volumi esistenti ai nuovi Pods che sostituiscono quelli falliti.

  • Static Pod

    A pod managed directly by the kubelet daemon on a specific node,

    [+]

    without the API server observing it.

  • Storage Class

    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, and reclaimPolicy, 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

    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.

  • Taint

    A core object consisting of three required properties: key, value, and effect. Taints prevent the scheduling of Pods on nodes or node groups.

    [+]

    Taints and tolerations work together to ensure that pods are not scheduled onto inappropriate nodes. One or more taints are applied to a node. A node should only schedule a Pod with the matching tolerations for the configured taints.

  • Toleration

    A core object consisting of three required properties: key, value, and effect. Tolerations enable the scheduling of pods on nodes or node groups that have matching taints.

    [+]

    Tolerations and taints work together to ensure that pods are not scheduled onto inappropriate nodes. One or more tolerations are applied to a pod. A toleration indicates that the pod is allowed (but not required) to be scheduled on nodes or node groups with matching taints.

  • UID

    A Kubernetes systems-generated string to uniquely identify objects.

    [+]

    Every object created over the whole lifetime of a Kubernetes cluster has a distinct UID. It is intended to distinguish between historical occurrences of similar entities.

  • Upstream (disambiguation)

    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.
  • user namespace

    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.

  • Volume

    A directory containing data, accessible to the containers in a Pod.

    [+]

    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 Plugin

    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.

  • WG (working group)

    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.

  • Workload

    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 StatefulSet and the web server in a Deployment.

Ultima modifica June 16, 2021 at 5:57 PM PST: Remove exec permission on markdown files (e9703497a1)