Skip to content

Commit b22947a

Browse files
Jessica Yaozacharysarah
Jessica Yao
authored andcommitted
[docs][glossary] Add page that lists all standardized k8s terms (kubernetes#5657)
* Add comprehensive glossary page Additional Authors: * Andrew Chen <[email protected]> * Steve Perry <[email protected]> * incorporate Tim's feedback * address zach's comments * address more comments * add additional crosslinking * Add platform developer, tweak formatting for disambiguation cases or multiparagraph definitions.
1 parent 8da72ca commit b22947a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+743
-50
lines changed

_data/canonical-tags.yml

-12
This file was deleted.
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id: architecture
2+
name: Architecture
3+
description: The inner components of Kubernetes.

_data/canonical-tags/community.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id: community
2+
name: Community
3+
description: Related to Kubernetes open-source development.

_data/canonical-tags/core-object.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id: core-object
2+
name: Core Object
3+
description: A resource type that Kubernetes supports by default.

_data/canonical-tags/extension.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id: extension
2+
name: Extension
3+
description: Supported customizations of Kubernetes.

_data/canonical-tags/fundamental.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id: fundamental
2+
name: Fundamental
3+
description: Relevant for a first-time user of Kubernetes.

_data/canonical-tags/networking.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id: networking
2+
name: Networking
3+
description: How Kubernetes components talk to each other (and to programs outside the cluster).

_data/canonical-tags/operation.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id: operation
2+
name: Operation
3+
description: Starting and maintaining Kubernetes.

_data/canonical-tags/security.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id: security
2+
name: Security
3+
description: Keeping Kubernetes applications safe and secure.

_data/canonical-tags/storage.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id: storage
2+
name: Storage
3+
description: How Kubernetes applications handle persistent data.

_data/canonical-tags/tool.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id: tool
2+
name: Tool
3+
description: Software that makes Kubernetes easier or better to use.

_data/canonical-tags/user-type.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id: user-type
2+
name: User Type
3+
description: Represents a common type of Kubernetes user.

_data/canonical-tags/workload.yaml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
id: workload
2+
name: Workload
3+
description: Applications running on Kubernetes.

_data/glossary/_example.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
id: _example
22
name: Example K8s Term
3-
formerly:
3+
aka:
44
- Slang K8s Term
55
- Misnomer
66
- Formerly Known as Prince
77
related:
8-
- Less Fancy K8s Term
9-
- Tangential Term
10-
- Commonly Used With
8+
- id-of-less-fancy-k8s-term
9+
- id-of-tangential-term
10+
- id-of-commonly-used-with-term
1111
tags:
1212
- Some Tag
1313
short-description: |
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
id: application-architect
2+
name: Application Architect
3+
related:
4+
- application-developer
5+
tags:
6+
- user-type
7+
short-description: |
8+
A person responsible for the high-level design of an application.
9+
long-description: >
10+
An architect ensures that an app's implementation allows it to interact with its surrounding components in a scalable, maintainable way.
11+
Surrounding components include databases, logging infrastructure, and other microservices.
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
id: application-developer
2+
name: Application Developer
3+
related:
4+
- application-architect
5+
tags:
6+
- user-type
7+
short-description: |
8+
A person who writes an application that runs in a Kubernetes cluster.
9+
long-description: >
10+
An application developer focuses on one part of an application.
11+
The scale of their focus may vary significantly in size.

_data/glossary/approver.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
id: approver
2+
name: Approver
3+
tags:
4+
- community
5+
short-description: |
6+
A person who can review and approve Kubernetes code contributions.
7+
long-description: >
8+
While code review is focused on code quality and correctness, approval is focused on the holistic acceptance of a contribution.
9+
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.
10+
Approver status is scoped to a part of the codebase.

_data/glossary/cla.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
id: cla
2+
name: CLA (Contributor License Agreement)
3+
tags:
4+
- community
5+
short-description: |
6+
Terms under which a [contributor](#term-contributor) grants a license to an open source project for their contributions.
7+
long-description: |
8+
CLAs help resolve legal disputes involving contributed material and intellectual property (IP).

_data/glossary/cluster-architect.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
id: cluster-architect
2+
name: Cluster Architect
3+
related:
4+
- cluster
5+
- cluster-operator
6+
tags:
7+
- user-type
8+
short-description: |
9+
A person who designs infrastructure that involves one or more Kubernetes clusters.
10+
11+
long-description: |
12+
Cluster architects are concerned with best practices for distributed systems, for example&#58; high availability and security.

_data/glossary/cluster-operator.yaml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
id: cluster-operator
2+
name: Cluster Operator
3+
aka:
4+
- Cluster Administrator
5+
related:
6+
- cluster
7+
- cluster-architect
8+
tags:
9+
- user-type
10+
short-description: |
11+
A person who configures, controls, and monitors clusters.
12+
13+
long-description: |
14+
Their primary responsibility is keeping a cluster up and running, which may involve periodic maintenance activities or upgrades.<br>
15+
16+
**NOTE:** Cluster operators are different from the [Operator pattern](https://coreos.com/operators) that extends the Kubernetes API.

_data/glossary/cluster.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
id: cluster
2+
name: Cluster
3+
tags:
4+
- fundamental
5+
- operation
6+
short-description: |
7+
A set of machines, called nodes, that run containerized applications managed by Kubernetes.
8+
long-description: |
9+
A cluster has several worker nodes and at least one master node.

_data/glossary/code-contributor.yaml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
id: code-contributor
2+
name: Code Contributor
3+
aka:
4+
- Community Developer
5+
tags:
6+
- community
7+
- user-type
8+
short-description: |
9+
A person who develops and contributes code to the Kubernetes open source codebase.
10+
long-description: |
11+
They are also an active [community member](#term-community-member) who participates in one or more [Special Interest Groups (SIGs)](#term-sig).

_data/glossary/container.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
id: container
2+
name: Container
3+
tags:
4+
- fundamental
5+
- workload
6+
short-description: |
7+
A lightweight and portable executable image that contains software and all of its dependencies.
8+
long-description: |
9+
Containers decouple applications from underlying host infrastructure to make deployment easier in different cloud or OS environments, and for easier scaling.

_data/glossary/contributor.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
id: contributor
2+
name: Contributor
3+
tags:
4+
- community
5+
short-description: |
6+
Someone who donates code, documentation, or their time to help the Kubernetes project or community.
7+
long-description: |
8+
Contributions include pull requests (PRs), issues, feedback, [special interest group (SIG)](#term-sig) participation, or organizing community events.

_data/glossary/cronjob.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
id: cronjob
2+
name: CronJob
3+
tags:
4+
- core-object
5+
- workload
6+
short-description: |
7+
Manages a [Job](/docs/concepts/jobs/run-to-completion-finite-workloads/) that runs on a periodic schedule.
8+
long-description: |
9+
Similar to a line in a *crontab* file, a [CronJob](/docs/concepts/workloads/controllers/cron-jobs/#writing-a-cron-job-spec) object specifies a schedule using the [Cron](https://en.wikipedia.org/wiki/Cron) format.

_data/glossary/deployment.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
id: deployment
2+
name: Deployment
3+
tags:
4+
- fundamental
5+
- core-object
6+
- workload
7+
short-description: |
8+
An API object that manages a replicated application.
9+
long-description: |
10+
Each replica is represented by a [Pod](#term-pod), and the Pods are distributed among the nodes of a cluster.

_data/glossary/developer.yaml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
id: developer
2+
name: Developer (disambiguation)
3+
aka:
4+
- Kubernetes Developer
5+
tags:
6+
- community
7+
- user-type
8+
short-description: |
9+
May refer to&#58; [*Application Developer*](#term-application-developer), [*Code Contributor*](#term-code-contributor), or [*Platform Developer*](#term-platform-developer).
10+
long-description: |
11+
This overloaded term may have different meanings depending on the context. It could mean&#58;
12+
13+
* [**Application Developer**](#term-application-developer): A person who writes an application that runs in a Kubernetes cluster.
14+
* [**Code Contributor**](#term-code-contributor): A person who develops and contributes code to the Kubernetes open source codebase.
15+
* [**Platform Developer**](#term-platform-developer): A person who customizes the Kubernetes platform to fit the needs of their project&mdash;for example, by extending the API.

_data/glossary/downstream.yaml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
id: downstream
2+
name: Downstream (disambiguation)
3+
related:
4+
- upstream
5+
tags:
6+
- community
7+
short-description: |
8+
May refer to: code in the Kubernetes ecosystem that depends upon the core Kubernetes codebase or a forked repo.
9+
long-description: |
10+
* 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.
11+
* In **GitHub** or **git**: The convention is to refer to a forked repo as *downstream*, whereas the source repo is considered *upstream*.

_data/glossary/helm-chart.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
id: helm-chart
2+
name: Helm Chart
3+
tags:
4+
- tool
5+
short-description: |
6+
A package of pre-configured Kubernetes resources that can be managed with the Helm tool.
7+
long-description: |
8+
Charts provide a reproducible way of creating and sharing Kubernetes applications.
9+
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.

_data/glossary/ingress.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
id: ingress
2+
name: Ingress
3+
tags:
4+
- networking
5+
- architecture
6+
- extension
7+
short-description: |
8+
An API object that manages external access to the services in a cluster, typically HTTP.
9+
long-description: |
10+
Ingress can provide load balancing, SSL termination and name-based virtual hosting.

_data/glossary/istio.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
id: istio
2+
name: Istio
3+
tags:
4+
- networking
5+
- architecture
6+
- extension
7+
short-description: |
8+
An open platform (not Kubernetes-specific) that provides a uniform way to integrate microservices, manage traffic flow, enforce policies, and aggregate telemetry data.
9+
long-description: >
10+
Adding Istio does not require changing application code.
11+
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.
12+
Istio's control plane abstracts away the underlying cluster management platform, which may be Kubernetes, Mesosphere, etc.

_data/glossary/kops.yaml

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
id: kops
2+
name: Kops
3+
tags:
4+
- tool
5+
- operation
6+
short-description: |
7+
A CLI tool that helps you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes clusters. *NOTE&#58; Officially supports AWS only, with GCE and VMware vSphere in alpha*.
8+
long-description: |
9+
`kops` provisions your cluster with&#58;
10+
11+
* Fully automated installation
12+
* DNS-based cluster identification
13+
* Self-healing&#58; everything runs in Auto-Scaling Groups
14+
* Limited OS support (Debian preferred, Ubuntu 16.04 supported, early support for CentOS & RHEL)
15+
* High availability (HA) support
16+
* The ability to directly provision, or generate terraform manifests
17+
18+
You can also build your own cluster using [`kubeadm`](#term-kubeadm) as a building block. `kops` builds on the kubeadm work.

_data/glossary/kubeadm.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
id: kubeadm
2+
name: Kubeadm
3+
tags:
4+
- tool
5+
- operation
6+
short-description: |
7+
A tool for quickly installing Kubernetes and setting up a secure cluster.
8+
long-description: |
9+
You can use kubeadm to install both the control plane and the worker node components.

_data/glossary/kubectl.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
id: kubectl
2+
name: Kubectl
3+
tags:
4+
- tool
5+
- fundamental
6+
short-description: |
7+
A command line tool for communicating with a [Kubernetes API](#term-kubernetes-api) server.
8+
long-description: |
9+
You can use kubectl to create, inspect, update, and delete Kubernetes objects.

_data/glossary/kubernetes-api.yaml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
id: kubernetes-api
2+
name: Kubernetes API
3+
tags:
4+
- fundamental
5+
- architecture
6+
short-description: |
7+
The application that serves Kubernetes functionality through a RESTful interface and stores the state of the cluster.
8+
long-description: >
9+
Kubernetes resources and "records of intent" are all stored as API objects, and modified via RESTful calls to the API.
10+
The API allows configuration to be managed in a declarative way.
11+
Users can interact with the Kubernetes API directly, or via tools like `kubectl`.
12+
The core Kubernetes API is flexible and can also be extended to support custom resources.

_data/glossary/maintainer.yaml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
id: maintainer
2+
name: Maintainer
3+
tags:
4+
- community
5+
short-description: |
6+
A highly experienced [contributor](#term-contributor), active in multiple areas of Kubernetes, who has cross-area ownership and write access to a project's GitHub repository.
7+
long-description: |
8+
Maintainers work holistically across the project to maintain its health and success and have made substantial contributions, both through code development and broader organizational efforts.

_data/glossary/member.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
id: member
2+
name: Member
3+
tags:
4+
- community
5+
short-description: |
6+
A continuously active [contributor](#term-contributor) in the K8s community.
7+
long-description: >
8+
Members can have issues and PRs assigned to them and participate in [special interest groups (SIGs)](#term-sig) through GitHub teams.
9+
Pre-submit tests are automatically run for members' PRs.
10+
A member is expected to remain an active contributor to the community.

_data/glossary/minikube.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
id: minikube
2+
name: Minikube
3+
tags:
4+
- fundamental
5+
- tool
6+
short-description: |
7+
A tool for running Kubernetes locally.
8+
long-description: |
9+
Minikube runs a single-node cluster inside a VM on your computer.
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
id: platform-developer
2+
name: Platform Developer
3+
aka:
4+
- Kubernetes Developer
5+
tags:
6+
- user-type
7+
short-description: |
8+
A person who customizes the Kubernetes platform to fit the needs of their project.
9+
long-description: >
10+
A platform developer may, for example, use [Custom Resources](/docs/concepts/api-extension/custom-resources/) or [Extend the Kubernetes API with the aggregation layer](/docs/concepts/api-extension/apiserver-aggregation/) to add functionality to their instance of Kubernetes, specifically for their application.

_data/glossary/pod.yaml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
id: pod
2+
name: Pod
3+
related:
4+
- container
5+
- sidecar
6+
- deployment
7+
- statefulset
8+
tags:
9+
- core-object
10+
- fundamental
11+
short-description: |
12+
The smallest and simplest Kubernetes object. A Pod represents a set of running [containers](#term-container) on your cluster.
13+
long-description: >
14+
A Pod is typically set up to run a single primary container.
15+
It can also run optional sidecar containers that add supplementary features like logging.
16+
Pods are commonly managed by a [Deployment](#term-deployment).

_data/glossary/rbac.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
id: rbac
2+
name: RBAC (Role-Based Access Control)
3+
tags:
4+
- security
5+
- fundamental
6+
short-description: |
7+
Manages authorization decisions, allowing admins to dynamically configure access policies through the [Kubernetes API](#term-kubernetes-api).
8+
long-description: |
9+
RBAC utilizes *roles*, which contain permission rules, and *role bindings*, which grant the permissions defined in a role to a set of users.

0 commit comments

Comments
 (0)