標準化用語集

この用語集は、Kubernetesの用語の包括的で標準化されたリストを対象としています。これには、Kubernetesに固有で有用なコンテキストを提供しつつも、より一般的な技術用語が含まれています。

タグに従って用語をフィルタ

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 すべてを選択 すべての選択を解除

Click on the [+] 特定の用語の詳細な説明を取得するには、以下のインジケータを使用します。

  • 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-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 eviction is not the same as node-pressure eviction.

  • APIサーバー
    またの名を:kube-apiserver

    APIサーバーは、Kubernetes APIを外部に提供するKubernetesコントロールプレーンのコンポーネントです。 APIサーバーはKubernetesコントロールプレーンのフロントエンドになります。

    [+]

    Kubernetes APIサーバーの主な実装はkube-apiserverです。 kube-apiserverは水平方向にスケールするように設計されています—つまり、インスタンスを追加することでスケールが可能です。 複数のkube-apiserverインスタンスを実行することで、インスタンス間でトラフィックを分散させることが可能です。

  • 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 Native Computing Foundation (CNCF)

    Cloud Native Computing Foundation (CNCF)は、持続可能なエコシステムを構築し、マイクロサービスアーキテクチャの一部としてコンテナをオーケストレーションするプロジェクトを中心としたコミュニティを育成します。

    KubernetesはCNCFプロジェクトです。

    [+]

    CNCFはLinux Foundationのサブファウンデーションです。 CNCFの使命は、クラウドネイティブコンピューティングをユビキタスにすることです。

  • Cloud Provider
    またの名を: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 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.

  • 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

    機密性のないデータをキーと値のペアで保存するために使用されるAPIオブジェクトです。Podは、環境変数、コマンドライン引数、またはボリューム内の設定ファイルとしてConfigMapを使用できます。

    [+]

    ConfigMapを使用すると、環境固有の設定をコンテナイメージから分離できるため、アプリケーションを簡単に移植できるようになります。

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

    The container runtime interface (CRI) is an API for container runtimes to integrate with kubelet on a node.

    [+]

    For more information, see the CRI API and specifications.

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

  • Controller

    Kubernetesにおいて、コントローラーはクラスターの状態を監視し、必要に応じて変更を加えたり要求したりする制御ループです。それぞれのコントローラーは現在のクラスターの状態を望ましい状態に近づけるように動作します。

    [+]

    コントローラーはクラスターの状態をコントロールプレーンの一部であるkube-apiserverから取得します。

    コントロールプレーン内部で動くいくつかのコントローラーは、Kubernetesの主要な操作に対する制御ループを提供します。 例えば、Deploymentコントローラー、Daemonsetコントローラー、Namespaceコントローラー、Persistent Volumeコントローラー等は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

    Podのコピーがクラスター内の一連の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

    複製されたアプリケーションを管理するAPIオブジェクトで、通常はステートレスなPodを実行します。

    [+]

    各レプリカはPodで表され、Podはクラスターのノード間で分散されます。 ローカル状態を要求するワークロードには、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(正確にはDocker Engine)は、コンテナとしても知られる、オペレーティングシステムレベルでの仮想化を提供するソフトウェア技術です。

    [+]

    Dockerは、cgroupsやカーネル名前空間などのLinuxカーネルのリソースの隔離機能、OverlayFSなどの統合能力のあるファイルシステム、独立したコンテナを単一のLinuxインスタンス内で実行可能にするその他の機能などを利用して、マシンレベルでの仮想マシン(VM)の起動にかかるオーバーヘッドを回避します。

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

    一貫性、高可用性を持ったキーバリューストアで、Kubernetesの全てのクラスター情報の保存場所として利用されています。

    [+]

    etcdをKubernetesのデータストアとして使用する場合、必ずデータのバックアッププランを作成して下さい。

    公式ドキュメントでetcdに関する詳細な情報を見つけることができます。

  • 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
    またの名を: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.

  • Ingress

    クラスター内のServiceに対する外部からのアクセス(主にHTTP)を管理するAPIオブジェクトです。

    [+]

    Ingressは負荷分散、SSL終端、名前ベースの仮想ホスティングの機能を提供します。

  • 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

    A finite or batch task that runs to completion.

    [+]

    Creates one or more Pod objects and ensures that a specified number of them successfully terminate. As Pods successfully complete, the Job tracks the successful completions.

  • 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

    コントロールプレーン上で動作するコンポーネントで、複数のコントローラープロセスを実行します。

    [+]

    論理的には、各コントローラーは個別のプロセスですが、複雑さを減らすために一つの実行ファイルにまとめてコンパイルされ、単一のプロセスとして動きます。

  • kube-proxy

    kube-proxyはクラスター内の各nodeで動作しているネットワークプロキシで、KubernetesのServiceコンセプトの一部を実装しています。

    [+]

    kube-proxyは、Nodeのネットワークルールをメンテナンスします。これらのネットワークルールにより、クラスターの内部または外部のネットワークセッションからPodへのネットワーク通信が可能になります。

    kube-proxyは、オペレーティングシステムにパケットフィルタリング層があり、かつ使用可能な場合、パケットフィルタリング層を使用します。それ以外の場合は自身でトラフィックを転送します。

  • kube-scheduler

    コントロールプレーン上で動作するコンポーネントで、新しく作られたPodノードが割り当てられているか監視し、割り当てられていなかった場合にそのPodを実行するノードを選択します。

    [+]

    スケジューリングの決定は、PodあるいはPod群のリソース要求量、ハードウェア/ソフトウェア/ポリシーによる制約、アフィニティおよびアンチアフィニティの指定、データの局所性、ワークロード間の干渉、有効期限などを考慮して行われます。

  • Kubeadm

    A tool for quickly installing Kubernetes and setting up a secure cluster.

    [+]

    You can use kubeadm to install both the control plane and the worker node components.

  • Kubectl
    またの名を: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

    クラスター内の各ノードで実行されるエージェントです。各コンテナPodで実行されていることを保証します。

    [+]

    kubeletは、さまざまなメカニズムを通じて提供されるPodSpecのセットを取得し、それらのPodSpecに記述されているコンテナが正常に実行されている状態を保証します。kubeletは、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.

  • 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. Service Catalog provides a way to list, provision, and bind with Managed Services offered by Service Brokers.

  • 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

    Legacy term, used as synonym for nodes hosting the control plane.

    [+]

    The term is still being used by some provisioning tools, such as kubeadm, and managed services, to label nodes with kubernetes.io/role and control placement of control plane pods.

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

  • Namespace

    同一の物理クラスター上で複数の仮想クラスターをサポートするために使われる抽象概念です。

    [+]

    Namespaceはクラスター内のオブジェクトをまとめたり、クラスターのリソースを分離するための方法を提供します。
    リソース名は、Namespace内で一意である必要がありますが、Namespaceをまたいだ場合はその必要はないです。

  • 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-pressure eviction
    またの名を: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.

  • Pod

    一番小さく一番シンプルなKubernetesのオブジェクト。Podとはクラスターで動作しているいくつかのコンテナのまとまりです。

    [+]

    通常、Pod は一つの主コンテナを実行するように設定されます。ロギングなどの補足機能を付加する、取り外し可能なサイドカーコンテナを実行することもできます。Pod は通常 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
    またの名を: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.

  • 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

    パスワードやOAuthトークン、SSHキーのような機密の情報を保持します。

    [+]

    機密情報の取り扱い方法を細かく制御することができ、保存時には暗号化するなど、誤って公開してしまうリスクを減らすことができます。Podは、ボリュームマウントされたファイルとして、またはPodのイメージをPullするkubeletによって、Secretを参照します。Secretは機密情報を扱うのに最適で、機密でない情報にはConfigMapが適しています。

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

  • Service

    Podの集合で実行されているアプリケーションをネットワークサービスとして公開する抽象的な方法です。

    [+]

    Serviceが対象とするPodの集合は、(通常)セレクターによって決定されます。 Podを追加または削除するとセレクターにマッチしているPodの集合は変更されます。 Serviceは、ネットワークトラフィックが現在そのワークロードを処理するPodの集合に向かうことを保証します。

  • Service Broker

    An endpoint for a set of Managed Services offered and maintained by a third-party.

    [+]

    Service Brokers 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.

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

    大規模なKubernetesオープンソースプロジェクトにおいて、開発中の部分または側面を集合的に管理するコミュニティメンバー

    [+]

    SIGのメンバーは、アーキテクチャ、API machinery、ドキュメンテーションといった、特定のエリアの改善に共通の関心をもっています。 SIGはガバナンスガイドラインに準拠していなければなりませんが、独自の貢献ポリシーやコミュニケーションのチャンネルを持つことが可能です。

    さらなる情報はコミュニティ (kubernetes/community)リポジトリとSIGとワーキンググループを参照して下さい。

  • StatefulSet

    StatefulSetはDeploymentとPodのセットのスケーリングを管理し、それらのPodの順序と一意性を保証 します。

    [+]

    Deploymentのように、StatefulSetは指定したコンテナのspecに基づいてPodを管理します。Deploymentとは異なり、StatefulSetは各Podにおいて管理が大変な同一性を維持します。これらのPodは同一のspecから作成されますが、それらは交換可能ではなく、リスケジュール処理をまたいで維持される永続的な識別子を持ちます。

    ワークロードに永続性を持たせるためにストレージボリュームを使いたい場合は、解決策の1つとしてStatefulSetが利用できます。StatefulSet内の個々のPodは障害の影響を受けやすいですが、永続化したPodの識別子は既存のボリュームと障害によって置換された新しいPodの紐付けを簡単にします。

  • Static Pod

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

    [+]

    without the API server observing it.

  • StorageClass

    StorageClassは管理者が利用可能なさまざまなストレージタイプを記述する方法を提供します。

    [+]

    StorageClassはサービス品質レベル、バックアップポリシー、クラスター管理者が決定した任意のポリシーにマッピングできます。 各StorageClassにはprovisioner parametersreclaimPolicyフィールドが含まれています。これらは、対象のStorageClassのPersistentVolumeを動的プロビジョニングする必要がある場合に使用されます。ユーザーはStorageClassオブジェクトの名前を使用して特定のStorageClassを要求できます。

  • 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

    オブジェクトを一意に識別するためのKubernetesが生成する文字列です。

    [+]

    Kubernetesクラスターの生存期間中にわたって生成された全てのオブジェクトは、異なるUIDを持っています。これは類似のエンティティの、同一時間軸での存在を区別するのが目的です。

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

  • イメージ

    アプリケーションの実行に必要なソフトウェアのセットを持つ、保存されたコンテナの実体です。

    [+]

    コンテナレジストリに格納し、ローカルシステムにプルして、アプリケーションとして実行できるようにするソフトウェアをパッケージ化する方法です。イメージに含まれているメタデータは、実行する実行可能ファイル、作成者、およびその他の情報を示すことができます。

  • クラウドコントローラーマネージャー

    クラウド特有の制御ロジックを組み込むKubernetesのcontrol planeコンポーネントです。クラウドコントロールマネージャーは、クラスターをクラウドプロバイダーAPIをリンクし、クラスタのみで相互作用するコンポーネントからクラウドプラットフォームで相互作用するコンポーネントを分離します。

    [+]

    Kubernetesと下のクラウドインフラストラクチャー間の相互運用ロジックを分離することで、cloud-controller-managerコンポーネントはクラウドプロバイダを主なKubernetesプロジェクトと比較し異なるペースで機能をリリース可能にします。

  • クラスター

    コンテナ化されたアプリケーションを実行する、ノードと呼ばれるワーカーマシンの集合です。すべてのクラスターには少なくとも1つのワーカーノードがあります。

    [+]

    ワーカーノードは、アプリケーションのコンポーネントであるPodをホストします。マスターノードは、クラスター内のワーカーノードとPodを管理します。複数のマスターノードを使用して、クラスターにフェイルオーバーと高可用性を提供します。 ワーカーノードは、アプリケーションワークロードのコンポーネントであるPodをホストします。コントロールプレーンは、クラスター内のワーカーノードとPodを管理します。本番環境では、コントロールプレーンは複数のコンピューターを使用し、クラスターは複数のノードを使用し、耐障害性や高可用性を提供します。

  • クラスター管理者

    クラスターを設定、管理そして、監視する人

    [+]

    クラスターを稼働させ続けることを主な責務としており、定期的なメンテナンス作業やアップグレード作業も含まれることもあります。

  • コンテナ

    軽量でポータブルなソフトウェアとそのすべての依存関係が含まれている実行可能なイメージです。

    [+]

    コンテナはアプリケーションから基盤となるホストインフラストラクチャを分離させ、さまざまなクラウドまたはOS環境での展開を容易にし、スケーリングを容易にします。

  • コンテナストレージインターフェイス(CSI)

    コンテナストレージインターフェイス(CSI)はストレージシステムをコンテナに公開するための標準インターフェイスを定義します。

    [+]

    CSIはベンダーがKubernetesリポジトリにコードを追加することなく(Kubernetesリポジトリツリー外のプラグインとして)独自のストレージプラグインを作成することを可能にします。CSIドライバをストレージプロバイダから利用するには、はじめにクラスタにCSIプラグインをデプロイする必要があります。その後のCSIドライバーを使用するためのStorageClassを作成することができます。

  • コンテナランタイム

    コンテナランタイムは、コンテナの実行を担当するソフトウェアです。

    [+]

    Kubernetesは次の複数のコンテナランタイムをサポートします。 DockercontainerdCRI-O、 および全ての Kubernetes CRI (Container Runtime Interface) 実装です。

  • コントリビューター

    Kubernetesプロジェクトやコミュニティのために、コード、ドキュメント、その他に自身の時間を使って貢献している人々

    [+]

    貢献はPull Request(PRs)、Issue、フィードバック、special interest groups (SIG)への参加、またはコミュニティイベントの開催が含まれます。

  • コントロールプレーン

    コンテナのライフサイクルを定義、展開、管理するためのAPIとインターフェイスを公開するコンテナオーケストレーションレイヤーです。

    [+]

    このレイヤーは、次のような多くの異なるコンポーネントから構成されます(しかし、これらに限定はされません)。

    これらのコンポーネントは従来のオペレーティングシステムサービス(デーモン)もしくはコンテナとして実行できます。これらのコンポーネントを実行するホストは歴史的にマスターと呼ばれていました。

  • サービスカタログ

    Kubernetesクラスターで稼働するアプリケーションが、クラウドプロバイダーによって提供されるデータストアサービスのように、外部のマネージドソフトウェアを容易に使えるようにするための拡張APIです。

    [+]

    サービスカタログを使用することでサービスブローカーが提供するマネージドサービスを、それらのサービスがどのように作成されるか、また管理されるかについての知識を無しに、一覧表示したり、プロビジョニングや使用をすることができます。

  • セレクター

    セレクターを利用すると、ユーザーはラベルに基づいてリソースのリストをフィルタリングできます。

    [+]

    セレクターは、リソースのリストを照会してラベルでフィルターするときに適用されます。

  • ノード

    ノードはKubernetesのワーカーマシンです。

    [+]

    ワーカーノードは、クラスターに応じてVMまたは物理マシンの場合があります。Podの実行に必要なローカルデーモンまたはサービスがあり、コントロールプレーンによって管理されます。ノード上のデーモンには、kubeletkube-proxy、およびDockerなどのCRIを実装するコンテナランタイムが含まれます。 Kubernetesの初期バージョンでは、ノードは"Minion"と呼ばれていました。

  • プラットフォーム開発者

    自身のプロジェクトの要件に合わせ、Kubernetesプラットフォームをカスタマイズする人

    [+]

    プラットフォーム開発者は、特に自身のアプリケーションのために、例えばカスタムリソース集約レイヤーを使ったKubernetes APIの拡張を用いて、Kubernetesに機能を追加ことがあるかもしれません。一部のプラットフォーム開発者はまたコントリビューターとして、エクステンションを開発しKubernetesのコミュニティに貢献しています。他の方々は、クローズドソースな商用もしくは、サイト固有なエクステンションを開発しています。

  • ボリューム

    データを格納するディレクトリで、Pod内のコンテナからアクセス可能です。

    [+]

    Kubernetesボリュームはボリュームを含んだPodが存在する限り有効です。そのため、ボリュームはPod内で実行されるどのコンテナよりも長く存在し、コンテナが再起動してもボリューム内のデータは維持されます。

    詳しくはストレージをご覧ください。

  • ミラーPod

    kubeletがstatic Podを代表するために使用するPodオブジェクトです。

    [+]

    kubeletが設定の中にstatic Podを発見すると、static Podに対応するPodオブジェクトをKubernetes APIサーバー上に自動的に作成しようとします。つまり、APIサーバーからはPodが見えていますが、制御まではできないということです。

    (たとえば、ミラーPodを削除しても、kubeletデーモンが対応するPodの実行を停止することはありません。)

  • メンバー

    K8sコミュニティの継続的かつアクティブなコントリビューター

    [+]

    メンバーはイシューとPRをアサインすることができ、GitHub teamを通じてspecial interest groups (SIGs)に参加することが可能です。メンバーのPRではPre-submitテストが自動で走ります。メンバーは、アクティブなコントリビューターとしてコミュニティに居続けることを期待されています。

  • ラベル

    ユーザーにとって意味があり関連性のある識別属性を、オブジェクトにタグ付けするものです。

    [+]

    ラベルは、Podなどのオブジェクトに付与されるキーと値のペアです。オブジェクトのサブセットを組織化したり選択したりするために使われます。

  • ワークロード

    ワークロードとは、Kubernetes上で実行中のアプリケーションです。

    [+]

    異なる種類のワークロードやその一部を表すコアオブジェクトはさまざまなものがあり、DaemonSet、Deployment、Job、ReplicaSet、StatefulSetオブジェクトなどがあります。

    たとえば、ウェブサーバーとデータベースを含むワークロードの場合、データベースを1つのStatefulSetで実行し、ウェブサーバーをDeploymentで実行するという構成が考えられます。

  • 名前(Name)

    クライアントから提供され、リソースURL内のオブジェクトを参照する文字列です。例えば/api/v1/pods/何らかの名前のようになります。

    [+]

    同じ種類のオブジェクトは、同じ名前を同時に持つことはできません。しかし、オブジェクトを削除することで、旧オブジェクトと同じ名前で新しいオブジェクトを作成できます。

  • 永続ボリューム

    クラスター内のストレージの一部を表すAPIオブジェクトです。通常利用可能で、個々のPodのライフサイクルの先にあるプラグイン形式のリソースです。

    [+]

    PersistentVolume(PV)はストレージの利用方法からストレージの提供方法の詳細を抽象化するAPIを提供します。 PVはストレージを事前に作成できるシナリオで直接使用されます(静的プロビジョニング)。 オンデマンドストレージ(動的プロビジョニング)を必要とするシナリオでは、代わりにPersistentVolumeClaims(PVC)が使用されます。

  • 永続ボリューム要求

    コンテナ内でボリュームとしてマウントするためにPersistentVolume内で定義されたストレージリソースを要求します。

    [+]

    ストレージサイズ、ストレージへのアクセス制御(読み取り専用、読み取り/書き込み、排他的)、および再利用方法(保持、リサイクル、削除)を指定します。ストレージ自体の詳細はPersistentVolumeオブジェクトに記載されています。

最終更新 June 22, 2021 at 6:22 PM PST : [ja] Remove exec permission on markdown files (7c256aa07)