標準化用語集

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

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

Kubernetes内部のコンポーネント。
Kubernetesのオープンソース開発に関連する用語。
Kubernetesがデフォルトで提供するリソースタイプ。
Kubernetesによってサポートされているカスタマイズ。
Kubernetesを初めて使用するユーザーに関連する用語。
Kubernetesコンポーネントが互いに(およびクラスター外のプログラムと)どのように通信するか。
Kubernetesの起動とメンテナンス。
Kubernetesアプリケーションを安全かつセキュアに保つ。
Kubernetesアプリケーションが永続データをどのように処理するか。
Kubernetesをより良く、より簡単に使用するためのソフトウェア。
一般的なKubernetesユーザーのタイプ。
Kubernetes上で実行されているアプリケーション。
アーキテクチャ コミュニティ コアオブジェクト 拡張 基本 ネットワーキング オペレーション セキュリティ ストレージ ツール ユーザータイプ ワークロード すべてを選択 すべての選択を解除

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

  • Add-ons

    Kubernetesの機能を拡張するリソース。

    [+]

    アドオンのインストールでは、クラスターのアドオン使用について詳しく説明し、いくつかの人気のあるアドオンを列挙します。

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

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

    [+]

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

  • APIグループ

    Kubernetes APIの関連するパスのセット。

    [+]

    APIサーバーの構成を変更することで、各APIグループを有効または無効にできます。特定のリソースへのパスを無効または有効にすることもできます。APIグループを使用すると、Kubernetes APIを簡単に拡張できます。APIグループは、RESTパスとシリアル化されたオブジェクトのapiVersionフィールドで指定されます。

  • APIを起点とした退避

    APIを起点とした退避は、Eviction APIを使用して退避オブジェクトを作成し、Podの正常終了を起動させるプロセスです。

    [+]

    kubectl drainコマンドのようなkube-apiserverのクライアントを使用し、Eviction APIを直接呼び出すことで、退避を要求することができます。Evictionオブジェクトが生成された時、APIサーバーは対象のPodを終了させます。

    APIを起点とした退避はPodDisruptionBudgetsterminationGracePeriodSecondsの設定を優先します。

    APIを起点とした退避は、Node不足による退避とは異なります。

  • Appコンテナ

    アプリケーションコンテナ(またはAppコンテナ)は、Initコンテナが完了したあとに開始されるPod内のコンテナです。

    [+]

    Initコンテナを使用すると、ワークロード全体にとって重要であり、アプリケーションコンテナの開始後に実行し続ける必要のない初期化の詳細を分離できます。 PodにInitコンテナが構成されていない場合、そのPod内のすべてのコンテナはAppコンテナになります。

  • cAdvisor

    cAdvisor(Container Advisor)は、コンテナユーザーに実行中のコンテナのリソース使用量とパフォーマンス特性を理解させることができます。

    [+]

    これは、実行中のコンテナに関する情報を収集、集約、処理、エクスポートするデーモンです。具体的には、コンテナごとにリソース分離パラメーター、リソース使用量の履歴、完全なリソース使用量の履歴のヒストグラム、およびネットワーク統計を保持します。このデータは、コンテナごととマシン全体でエクスポートされます。

  • cgroup (control group)

    リソースの分離、使用状況の監視、制限を行うLinuxプロセスのグループ。

    [+]

    cgroupはLinuxカーネルの機能であり、一連のプロセスに対して、リソース使用量(CPU、メモリー、ディスクI/O、ネットワーク)を制限、監視、分離するものです。

  • CIDR

    CIDR(Classless Inter-Domain Routing)はIPアドレスの範囲を記述するための表記法であり、さまざまなネットワークを構成するために使用されています。

    [+]

    Kubernetesでは、各Nodeに対して、CIDRで記述されている開始アドレスとサブネットマスクを通してIPアドレスの範囲が割り当てられます。これにより、Nodeは各Podに一意のIPアドレスを割り当てることができます。CIDRはもともとIPv4の概念でしたが、IPv6もサポートされるように拡張されています。

  • CLA (Contributor License Agreement)

    コントリビューターが行った貢献について、オープンソースプロジェクトが利用することを許諾する同意契約。

    [+]

    CLAは、提供された成果物や知的財産(IP)に関する法的紛争の解決に役立ちます。

  • Cloud Native Computing Foundation (CNCF)

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

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

    [+]

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

  • ConfigMap

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

    [+]

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

  • containerd

    シンプルさ、堅牢性、移植性を重視したコンテナランタイムです。

    [+]

    containerdはLinuxやWindows上でデーモンとして実行されるコンテナランタイムです。containerdはコンテナイメージの取得や保存、コンテナの実行、ネットワークアクセスの提供などを行います。

  • Controller

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

    [+]

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

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

  • CRI-O

    Kubernetes CRIと一緒にOCIコンテナランタイムを使うためのツールです。

    [+]

    CRI-OはOpen Container Initiative (OCI) runtime specと互換性があるコンテナランタイムを使用できるようにするためのコンテナランタイムインターフェース(CRI)の実装の1つです。

    CRI-Oのデプロイによって、Kubernetesは任意のOCI準拠のランタイムを、Podを実行するためのコンテナランタイムとして利用することと、リモートレジストリからOCIコンテナイメージを取得することができるようになります。

  • CronJob

    定期的なスケジュールで実行されるJobを管理します。

    [+]

    crontabファイルでの記述のようにCronJobオブジェクトはcronフォーマットを使用しスケジュールを指定できます。

  • DaemonSet

    Podのコピーがクラスター内の一連のNodeに渡って実行されることを保証します。

    [+]

    通常ノードで実行する必要があるログコレクターや監視エージェントなどのシステムデーモンをデプロイするために使用します。

  • 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

  • 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)の起動にかかるオーバーヘッドを回避します。

  • Dockershim

    Dockershimは、Kubernetesバージョン1.23およびそれ以前のバージョンに存在するコンポーネントです。Dockershimにより、kubeletDocker Engineと通信できるようになります。

    [+]

    Kubernetesバージョン1.24以降では、dockershimが削除されました。詳細については、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.

  • Duration

    A string value representing an amount of time.

    [+]

    The format of a (Kubernetes) duration is based on the time.Duration type from the Go programming language.

    In Kubernetes APIs that use durations, the value is expressed as series of a non-negative integers combined with a time unit suffix. You can have more than one time quantity and the duration is the sum of those time quantities. The valid time units are "ns", "µs" (or "us"), "ms", "s", "m", and "h".

    For example: 5s represents a duration of five seconds, and 1m30s represents a duration of one minute and thirty seconds.

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

    Ephemeral containers are not supported by static pods.

  • etcd

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

    [+]

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

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

  • Event

    Event is a Kubernetes object that describes state change/notable occurrences in the system.

    [+]

    Events have a limited retention time and triggers and messages may evolve with time. Event consumers should not rely on the timing of an event with a given reason reflecting a consistent underlying trigger, or the continued existence of events with that reason.

    Events should be treated as informative, best-effort, supplemental data.

    In Kubernetes, auditing generates a different kind of Event record (API group audit.k8s.io).

  • Eviction

    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.

  • FlexVolume

    FlexVolumeは、ツリー外のボリュームプラグインを作成するための非推奨なインターフェースです。コンテナストレージインターフェース(CSI)は、FlexVolumeのいくつかの問題に対処する新しいインターフェースです。

    [+]

    FlexVolumeを使用すると、ユーザーは独自のドライバーを作成し、Kubernetesでそれらのボリュームをサポートすることができます。 FlexVolumeドライバーのバイナリと依存関係は、ホストマシンにインストールする必要があります。 これにはrootアクセスが必要です。 Storage SIGは、FlexVolumeの制約に対処するために可能であればCSIドライバーを実装することを推奨しています。

  • Gateway API

    Kubernetesでサービスネットワーキングをモデル化するために使用されるAPIクラス群。

    [+]

    Gateway APIは、Kubernetesにおけるサービスネットワーキングをモデル化するための、拡張性が高く、ロール指向で、プロトコル対応のAPIクラス群を提供します。

  • Group Version Resource
    またの名を: GVR

    Means of representing unique Kubernetes API resource.

    [+]

    Group Version Resources (GVRs) specify the API group, API version, and resource (name for the object kind as it appears in the URI) associated with accessing a particular id of object in Kubernetes. GVRs let you define and distinguish different Kubernetes objects, and to specify a way of accessing objects that is stable even as APIs change.

  • Helmチャート

    Helmツールで管理できる、事前構成されたKubernetesリソースのパッケージ。

    [+]

    チャートは、Kubernetesアプリケーションを作成および共有する再現可能な方法を提供します。 単一のチャートを使用して、memcached Podなどの単純なもの、またはHTTPサーバー、データベース、キャッシュなどを含む完全なWebアプリスタックなどの複雑なものをデプロイできます。

  • Horizontal Pod Autoscaler
    またの名を: HPA

    水平Pod自動スケーラーは、ターゲットCPU使用率またはカスタムメトリクスターゲットに基づいてPodのレプリカ数をスケーリングするAPIリソースです。

    [+]

    HPAは通常ReplicationControllerDeploymentまたはReplicaSetで使用されます。HPAはDaemonSetなどのスケーリングをサポートしないオブジェクトでは使用できません。

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

    Unlike sidecar containers, init containers do not remain running after Pod startup.

    For more information, read init containers.

  • Istio

    Istioは、マイクロサービスの統合やトラフィックフローの管理、ポリシーの適用、そしてテレメトリーデータの集約を行うための一様な方法を提供するオープンソースのプラットフォームです(Kubernetesに特化したものではありません)。

    [+]

    Istioの追加にはアプリケーションコードの変更は必要ありません。Istioは、サービスとネットワークの間のインフラストラクチャーレイヤーになります。Istioのコントロールプレーンは、KubernetesやMesosphereなどのクラスター管理プラットフォームを抽象化します。

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

  • JSON Web Token (JWT)

    2つの通信主体間で送受信されるクレームを表現する手段。

    [+]

    JWTはデジタル署名と暗号化をすることが可能です。Kubernetesはクラスター内で何らかの操作を実行したいエンティティの身元を確認するため、認証トークンとしてJWTを使用します。

  • kOps (Kubernetes Operations)

    kOps will not only help you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes cluster, but it will also provision the necessary cloud infrastructure.

    [+]

    kOps is an automated provisioning system:

    • Fully automated installation
    • Uses DNS to identify clusters
    • Self-healing: everything runs in Auto-Scaling Groups
    • Multiple OS support (Amazon Linux, Debian, Flatcar, RHEL, Rocky and Ubuntu)
    • High-Availability support
    • Can directly provision, or generate terraform manifests
  • kube-controller-manager

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

    [+]

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

  • kube-proxy

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

    [+]

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

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

  • kube-scheduler

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

    [+]

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

  • Kubeadm

    Kubernetesを迅速にインストールし、安全なクラスターをセットアップするためのツール。

    [+]

    kubeadmを使用して、コントロールプレーンとワーカーノードコンポーネントの両方をインストールできます。

  • Kubectl
    またの名を: kubectl

    Kubernetes APIを使用してKubernetesクラスターのコントロールプレーンと通信するためのコマンドラインツールです。

    [+]

    Kubernetesオブジェクトの作成、検査、更新、削除には kubectl を使用することができます。

  • 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

    各Namespace内のコンテナまたはPodごとのリソース消費量を制限するための制約を提供します。

    [+]

    LimitRangeは、タイプごとに作成できるオブジェクトの数量を制限するだけでなく、Namespace内の個々のコンテナまたはPodによって要求または消費される計算リソースの量も制限します。

  • 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. For YAML format, each 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.

  • Mixed Version Proxy (MVP)
    またの名を: MVP

    Feature to let a kube-apiserver proxy a resource request to a different peer API server.

    [+]

    When a cluster has multiple API servers running different versions of Kubernetes, this feature enables resource requests to be served by the correct API server.

    MVP is disabled by default and can be activated by enabling the feature gate named UnknownVersionInteroperabilityProxy when the API Server is started.

  • Namespace

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

    [+]

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

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

    PodSecurityPolicy was deprecated as of Kubernetes v1.21, and removed in v1.25. As an alternative, use Pod Security Admission or a 3rd party admission plugin.

  • PodTemplate
    またの名を: pod template

    An API object that defines a template for creating Pods. The PodTemplate API is also embedded in API definitions for workload management, such as Deployment or StatefulSets.

    [+]

    Pod templates allow you to define common metadata (such as labels, or a template for the name of a new Pod) as well as to specify a pod's desired state. Workload management controllers use Pod templates (embedded into another object, such as a Deployment or StatefulSet) to define and manage one or more Pods. When there can be multiple Pods based on the same template, these are called replicas. Although you can create a PodTemplate object directly, you rarely need to do so.

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

  • PriorityClass

    A PriorityClass is a named class for the scheduling priority that should be assigned to a Pod in that class.

    [+]

    A PriorityClass is a non-namespaced object mapping a name to an integer priority, used for a Pod. The name is specified in the metadata.name field, and the priority value in the value field. Priorities range from -2147483648 to 1000000000 inclusive. Higher values indicate higher priority.

  • Probe

    Pod内で実行中のコンテナに対して、kubeletが定期的に実行するチェック。 コンテナの状態と正常性を定義し、コンテナのライフサイクルを通知します。

    [+]

    さらなる情報はコンテナのProbeを参照して下さい。

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

    管理者がKubernetes APIを通じてアクセスポリシーを動的に設定できるようにし、認可の判断を管理します。

    [+]

    RBACは、権限を含むRoleと、Roleで定義された権限を一連のユーザーに付与するRoleBindingを使用します。

  • Replica

    Podのコピーまたは複製、または一連のPodです。 Replicaは複数Podの同一インスタンスを維持することで、高い可用性、スケーラビリティ、耐障害性を保証します。

    [+]

    Replicaは望まれるアプリケーションの状態と信頼性を達成するために、Kubernetesで広く使われています。 これにより、クラスター内の複数ノード間に渡るワークロードのスケーリングと分散を可能にしています。

    DeploymentやReplicaSetでReplicaの数を定義することで、Kubernetesは指定の数のインスタンスが実行されていることを保証し、必要に応じて自動的にその数を調整します。

    Replicaを管理することで、Kubernetesクラスター内での効率的なロードバランスやローリングアップデート、自己修復を可能にしています。

  • ReplicaSet

    ReplicaSetは、任意の時点で動作しているレプリカPodの集合を保持します。(保持することを目指します。)

    [+]

    Deploymentなどのワークロードオブジェクトは、ReplicaSetの仕様に基づいて、 設定された数のPodsがクラスターで稼働することを保証するために、 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キーのような機密の情報を保持します。

    [+]

    Secretは、機密情報の使用方法をより管理しやすくし、偶発的な漏洩のリスクを減らすことができます。Secretの値はbase64文字列としてエンコードされ、デフォルトでは暗号化されずに保存されますが、保存時に暗号化するように設定することもできます。

    Podは、ボリュームマウントや環境変数など、さまざまな方法でSecretを参照できます。Secretは機密データ用に設計されており、ConfigMapは非機密データ用に設計されています。

  • Security Context

    securityContextフィールドは、Podまたはコンテナの権限とアクセス制御の設定を定義します。

    [+]

    securityContextでは、プロセスを実行するユーザー、プロセスを実行するグループ、および権限の設定を定義できます。 また、セキュリティポリシー(例:SELinux、AppArmor、seccomp)も設定できます。

    PodSpec.securityContextの設定内容は、Pod内のすべてのコンテナに適用されます。

  • Service

    クラスター内で1つ以上のPodとして実行されているネットワークアプリケーションを公開する方法です。

    [+]

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

    Kubernetes Serviceは、IPネットワーキング(IPv4、IPv6、またはその両方)を使用するか、ドメインネームシステム(DNS)でExternal Nameを参照します。

    Serviceの抽象化により、IngressやGatewayなどの他のメカニズムを実現することができます。

  • 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とワーキンググループを参照して下さい。

  • Spec

    Defines how each object, like Pods or Services, should be configured and its desired state.

    [+]

    Almost every Kubernetes object includes two nested object fields that govern the object's configuration: the object spec and the object status. For objects that have a spec, you have to set this when you create the object, providing a description of the characteristics you want the resource to have: its desired state.

    It varies for different objects like Pods, StatefulSets, and Services, detailing settings such as containers, volumes, replicas, ports,
    and other specifications unique to each object type. This field encapsulates what state Kubernetes should maintain for the defined
    object.

  • StatefulSet

    StatefulSetは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.

    Static Pods do not support ephemeral containers.

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

  • Watch

    A verb that is used to track changes to an object in Kubernetes as a stream. It is used for the efficient detection of changes.

    [+]

    A verb that is used to track changes to an object in Kubernetes as a stream. Watches allow efficient detection of changes; for example, a controller that needs to know whenever a ConfigMap has changed can use a watch rather than polling.

    See Efficient Detection of Changes in API Concepts for more information.

  • 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スタイルのAPIをクラスターにインストールできます。

    [+]

    Kubernetes APIサーバーsupport additional APIsに設定すると、APIServiceオブジェクトを追加して、Kubernetes APIのURLパスを「要求」することができます。

  • サービスカタログ

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

    [+]

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

  • アドミッションコントローラー

    オブジェクトを永続化する前に、Kubernetes APIサーバーへのリクエストをインターセプトするコード。

    [+]

    アドミッションコントローラーはKubernetes APIサーバー用に構成可能で、「検証(validating)」、「変更(mutating)」、またはその両方を行うことができます。どのアドミッションコントローラーも、リクエストを拒否することができます。変更コントローラーは、自身が許可するオブジェクトを変更できますが、検証コントローラーは変更できません。

  • アノテーション

    任意の非識別メタデータをオブジェクトにアタッチするために使用されるキーと値のペア。

    [+]

    アノテーション内のメタデータは大小さまざまで、構造化されていてもいなくてもよく、ラベルでは許可されていない文字も含めることができます。ツールやライブラリなどのクライアントは、このメタデータを取得できます。

  • アフィニティ

    Kubernetesでは、アフィニティ(affinity) はPodを配置する場所に関するヒントをスケジューラーに与える一連のルールです。

    [+]

    アフィニティには次の2種類があります:

    ルールは、KubernetesラベルPodで指定されたセレクターを使用して定義され、スケジューラーにどれだけ厳密にルールを適用するかに応じて、必須または優先のいずれかにすることができます。

  • アプリケーション
    様々なコンテナ化されたアプリケーションが実行される層。 [+]

    様々なコンテナ化されたアプリケーションが実行される層。

  • アプリケーションアーキテクト

    アプリケーションの高レベルの設計を担当する人。

    [+]

    アーキテクトは、アプリの実装によりスケーラブルで保守可能な方法で周囲のコンポーネントと対話できるようにします。 周囲のコンポーネントには、データベース、ロギングインフラストラクチャ、その他のマイクロサービスが含まれます。

  • アプリケーション開発者

    Kubernetesクラスターで実行されるアプリケーションを作成する人。

    [+]

    アプリケーション開発者は、アプリケーションの一部分に焦点を当てます。それらの焦点の規模は大きく異なる場合があります。

  • ワークロード

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

    [+]

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

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

  • イメージ

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

    [+]

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

  • イミュータブルインフラストラクチャ

    イミュータブルインフラストラクチャはデプロイ後に変更できないコンピューターインフラストラクチャ(仮想マシン、コンテナ、ネットワークアプライアンス)を指します。

    [+]

    イミュータビリティ(不変性)は、不正な変更に対して自動で上書きする処理や、そもそも変更を許可しないシステムによって強制的に維持されます。

    コンテナはイミュータブルインフラストラクチャの良い例です。 コンテナへの永続的な変更は、新たなバージョンでコンテナを作成するか、既存のコンテナをイメージから再作成する方法しかないためです。

    不正な変更を阻止または特定することで、イミュータブルインフラストラクチャはセキュリティリスクの特定と軽減を容易にします。 このようなシステムの運用は管理者が想定できるため、より簡単になります。 結局のところ、彼らは誰もミスや伝え忘れた変更がないことを知っています。 イミュータブルインフラストラクチャは、インフラストラクチャの作成に必要なすべての自動化をバージョン管理(Gitなど)に保存する、Infrastructure as Codeと密接に関係しています。 このイミュータビリティとバージョン管理の組み合わせは、システムに対するすべての許可された変更の永続性のある監査ログが存在することを意味します。

  • ユーザー名前空間
    またの名を: user namespace

    root権限をエミュレートするLinuxカーネルの機能。rootlessコンテナを実現するために使われます。

    [+]

    ユーザー名前空間は、非rootユーザーが管理者(root)権限をエミュレートできるLinuxカーネルの機能です。例えば、コンテナの外部で管理者権限を持っていなくてもコンテナを実行することができます。

    ユーザー名前空間は、コンテナブレークアウト攻撃による被害を軽減するのに効果的な対策です。

    ここでのユーザー名前空間は、Linuxカーネルの機能を指し、KubernetesのNamespaceとは異なります。

  • データプレーン
    コンテナを実行し、ネットワークに接続できるように、CPU、メモリ、ネットワーク、ストレージなどのキャパシティを提供するレイヤーです。 [+]

    コンテナを実行し、ネットワークに接続できるように、CPU、メモリ、ネットワーク、ストレージなどのキャパシティを提供するレイヤーです。

  • エンドポイント(Endpoints)

    エンドポイントは、サービスのセレクターに一致するPodのIPアドレスを記録する責任があります。

    [+]

    セレクター識別子を指定せずに、サービス上でエンドポイントを手動で設定できます。 EndpointSliceは、スケーラブルで拡張可能な代替手段を提供します。

  • コードコントリビューター

    Kubernetesのオープンソースのコードベースを開発し、貢献する人。

    [+]

    コントリビューターは、一つ以上のSIGのアクティブなコミュニティメンバーでもあります。

  • ノード

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

    [+]

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

  • ノード圧迫による退避
    またの名を: kubelet eviction

    ノード圧迫による退避は、kubeletがノード上のリソースを回収するためにPodを積極的に失敗させるプロセスです。

    [+]

    kubeletは、クラスターのノード上のCPU、メモリ、ディスク容量、ファイルシステムのinodeなどのリソースを監視します。 これらのリソースの1つ以上が特定の消費レベルに達すると、kubeletはノード上の1つ以上のPodを積極的に失敗させることでリソースを回収し、枯渇を防ぎます。

    ノード圧迫による退避は、APIを起点とした退避とは異なります。

  • ガベージコレクション

    ガベージコレクションは、Kubernetesがクラスターリソースをクリーンアップするために使用するさまざまなメカニズムの総称です。

    [+]

    Kubernetesはガベージコレクションを使用して、未使用のコンテナとイメージ失敗したPod対象リソースが所有するオブジェクト完了したJob、期限切れまたは失敗したリソースなどのリソースをクリーンアップします。

  • カスタムリソース定義(Custom Resource Definitions)

    拡張APIサーバーを構築することなく、Kubernetes APIサーバーに追加するリソースを定義するカスタムコードです。

    [+]

    公開されているサポート対象のAPIリソースではニーズを満たせない場合、カスタムリソース定義(Custom Resource Definitions)を使用することで環境に合わせてKubernetes APIを拡張できます。

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

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

    [+]

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

  • クラウドプロバイダー
    またの名を: クラウドサービスプロバイダー

    クラウドコンピューティングプラットフォームを提供する企業やその他の組織。

    [+]

    クラウドプロバイダーは、クラウドサービスプロバイダー(CSP)とも呼ばれ、クラウドコンピューティングプラットフォームやサービスを提供します。

    多くのクラウドプロバイダーは、マネージドインフラストラクチャ(Infrastructure as a ServiceやIaaSとも呼ばれる)を提供しています。 マネージドインフラストラクチャでは、クラウドプロバイダーがサーバー、ストレージ、ネットワーキングの責任を負い、ユーザーはその上のレイヤー、例えばKubernetesクラスターの運用を管理します。

    また、Kubernetesをマネージドサービスとして提供する場合もあります。これはPlatform as a Service(PaaS)とも呼ばれます。マネージドKubernetesでは、クラウドプロバイダーがKubernetesのコントロールプレーンやNode、ネットワーキング、ストレージ、ロードバランサーなどのインフラストラクチャを管理します。

  • クラスター

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

    [+]

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

  • クラスターアーキテクト

    一つ以上のKubernetesクラスターで構成されるインフラストラクチャーを設計する人。

    [+]

    クラスターアーキテクトは、高可用性やセキュリティといった、分散システムにおけるベストプラクティスに関心を持ちます。

  • クラスターインフラストラクチャ
    インフラストラクチャレイヤーは、VM、ネットワーキング、セキュリティグループなどを提供および運用します。 [+]

    インフラストラクチャレイヤーは、VM、ネットワーキング、セキュリティグループなどを提供および運用します。

  • クラスター管理

    Kubernetesクラスターの管理に関連する作業です。日々の運用管理とアップグレードの調整が含まれます。

    [+]

    クラスター管理作業の例は以下の通りです。クラスターをスケールするために新しいノードをデプロイすること、ソフトウェアのアップグレードを実行すること、セキュリティコントロールを実装すること、ストレージの追加または削除を行うこと、クラスターのネットワークを構成すること、クラスター全体のオブザーバビリティを管理すること、イベントに対応することです。

  • クラスター管理者

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

    [+]

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

  • コンテナ

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

    [+]

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

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

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

    [+]

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

  • コンテナネットワークインターフェース(CNI)

    コンテナネットワークインターフェイス(CNI)プラグインは、appc/CNI仕様に準拠したネットワークプラグインの一種です。

    [+]
  • コンテナライフサイクルフック

    ライフサイクルフックは、コンテナ管理のライフサイクルにおけるイベントを公開し、イベントが発生したときにユーザーがコードを実行できるようにします。

    [+]

    コンテナには2つのフックが公開されています。PostStartはコンテナが作成された直後に実行され、PreStopはコンテナが終了する直前に呼ばれるブロッキングです。

  • コンテナランタイム

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

    [+]

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

  • コンテナランタイムインターフェース(CRI)

    コンテナランタイムインターフェース(CRI)は、ノード上のkubeletと統合するためのコンテナランタイム用APIです。

    [+]

    詳細については、CRIのAPIと仕様をご覧ください。

  • コンテナ環境変数

    コンテナ環境変数は、Pod内で実行されているコンテナに関する有用な情報を提供するname=valueのペアです。

    [+]

    コンテナ環境変数は、コンテナにとって重要なリソースに関する情報とともに、実行中のコンテナ化されたアプリケーションが必要とする情報を提供します。たとえば、ファイルシステムの詳細、コンテナ自体の情報、あるいはサービスエンドポイントのような他のクラスターリソースです。

  • コントロールプレーン

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

    [+]

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

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

  • コントリビューター

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

    [+]

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

  • サイドカーコンテナ

    サイドカーコンテナは1つ以上のコンテナで構成され、一般的にアプリケーションコンテナより先に起動されます。

    [+]

    サイドカーコンテナは通常のアプリケーションコンテナと似ていますが、目的が違います: サイドカーコンテナは、同じPodで実行されるメインのアプリケーションコンテナに対してサービスを提供します。 Initコンテナとは異なり、サイドカーコンテナはPod起動後も実行を続けます。

    詳細については、サイドカーコンテナをご参照ください。

  • セレクター

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

    [+]

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

  • デバイスプラグイン

    デバイスプラグインはワーカーノード上で実行され、ベンダー固有の初期化やセットアップ手順を必要とするローカルのハードウェアへのアクセスをPodに提供します。

    [+]

    デバイスプラグインは、ワークロード上のPodが、実行されているノードに関連するハードウェア機能にアクセスできるようにリソースをkubeletに提供します。デバイスプラグインはDaemonSetとしてデプロイするか、ターゲットの各ノードに直接デバイスプラグインのソフトウェアをインストールすることができます。 詳細については、デバイスプラグインをご覧ください。

  • ネットワークポリシー

    一連のPodがPod同士やその他のネットワークエンドポイントとどのように通信することを許可されるかを定める規定。

    [+]

    ネットワークポリシーは、どのPodが互いに接続を許可されるか、どのNamespaceが通信を許可されるか、そしてより具体的には各ポリシーを適用するポート番号を宣言的に設定することができます。 NetworkPolicyリソースはラベルを使用してPodを選択し、選択されたPodに対して許可するトラフィックを指定するルールを定義します。 ネットワークポリシーはネットワークプロバイダーが提供するネットワークプラグインによって実装されます。 ネットワークポリシーを実装するためのコントローラーを使用せずにネットワークリソースを作成しても効果がないことに注意してください。

  • ファイナライザー

    ファイナライザーは、削除対象としてマークされたリソースを完全に削除する前に、特定の条件が満たされるまでKubernetesを待機させるための名前空間付きのキーです。 ファイナライザーは、削除されたオブジェクトが所有していたリソースをクリーンアップするようにコントローラーに警告します。

    [+]

    Kubernetesにファイナライザーが指定されたオブジェクトを削除するように指示すると、Kubernetes APIはそのオブジェクトに.metadata.deletionTimestampを追加し削除対象としてマークして、ステータスコード202(HTTP "Accepted")を返します。 コントロールプレーンやその他のコンポーネントがファイナライザーによって定義されたアクションを実行している間、対象のオブジェクトは終了中の状態のまま残っています。 それらのアクションが完了したら、そのコントローラーは関係しているファイナライザーを対象のオブジェクトから削除します。 metadata.finalizersフィールドが空になったら、Kubernetesは削除が完了したと判断しオブジェクトを削除します。

    ファイナライザーはリソースのガベージコレクションを管理するために使うことができます。 例えば、コントローラーが対象のリソースを削除する前に関連するリソースやインフラをクリーンアップするためにファイナライザーを定義することができます。

  • フィーチャーゲート(Feature gate)

    フィーチャーゲートはクラスター内でどのKubernetes機能を有効にするかを制御するために使用できるキー(不透明な文字列値)のセットです。

    [+]

    各Kubernetesコンポーネントで--feature-gatesコマンドラインフラグを使用して、これらの機能をオンまたはオフにすることができます。 各Kubernetesコンポーネントでは、そのコンポーネントに関連する一連のフィーチャーゲートを有効または無効にすることができます。 Kubernetesのドキュメントには、現在のすべてのフィーチャーゲートとその制御対象がリストされています。

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

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

    [+]

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

  • ボリューム

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

    [+]

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

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

  • ボリュームの動的プロビジョニング

    ユーザーがストレージボリュームの自動作成をリクエストできるようにします。

    [+]

    動的プロビジョニングによりクラスター管理者が事前にストレージをプロビジョニングする必要がなくなります。その代わりにユーザーのリクエストにより自動的にストレージをプロビジョニングします。ボリュームの動的プロビジョニングはボリュームをプロビジョニングするVolume PluginとそのVolume Pluginに渡すパラメーターのセットを参照するStorageClassというAPIオブジェクトに基づいています。

  • ミラー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などのオブジェクトに付与されるキーと値のペアです。オブジェクトのサブセットを組織化したり選択したりするために使われます。

  • 永続ボリューム

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

    [+]

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

  • 永続ボリューム要求

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

    [+]

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

  • 承認者

    Kubernetesコードの貢献をレビュー、および承認できる人。

    [+]

    コードレビューはコードの品質と正確性に焦点を当てていますが、承認はコントリビューションの全体的な受け入れに焦点を当てています。全体的な受け入れには、後方互換性/前方互換性、APIとフラグの規約への準拠、微妙なパフォーマンスと正確性の問題、システムの他の部分との相互作用などが含まれます。承認者のステータスは、コードベースの一部にスコープされます。承認者は以前はメンテナーと呼ばれていました。

  • 証明書

    Kubernetesクラスターへのアクセスを検証するために使用される暗号化されたセキュアなファイル。

    [+]

    証明書により、Kubernetesクラスター内のアプリケーションがKubernetes APIに安全にアクセスできるようになります。証明書は、クライアントがAPIへのアクセスを許可されていることを検証します。

  • 名前(Name)

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

    [+]

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

最終更新 June 20, 2024 at 12:44 PM PST: Sync changest from andygol/k8s-website (36d05bc8a1)