[docs][glossary] Add page that lists all standardized k8s terms (#5657)

* Add comprehensive glossary page

Additional Authors:
* Andrew Chen <chenopis@users.noreply.github.com>
* Steve Perry <steveperry-53@users.noreply.github.com>

* 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.
This commit is contained in:
Jessica Yao
2017-10-12 16:12:38 -07:00
committed by Zach Corleissen
parent 8da72ca938
commit b22947afc3
55 changed files with 743 additions and 50 deletions
+4 -4
View File
@@ -1,13 +1,13 @@
id: _example
name: Example K8s Term
formerly:
aka:
- Slang K8s Term
- Misnomer
- Formerly Known as Prince
related:
- Less Fancy K8s Term
- Tangential Term
- Commonly Used With
- id-of-less-fancy-k8s-term
- id-of-tangential-term
- id-of-commonly-used-with-term
tags:
- Some Tag
short-description: |
+11
View File
@@ -0,0 +1,11 @@
id: application-architect
name: Application Architect
related:
- application-developer
tags:
- user-type
short-description: |
A person responsible for the high-level design of an application.
long-description: >
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.
+11
View File
@@ -0,0 +1,11 @@
id: application-developer
name: Application Developer
related:
- application-architect
tags:
- user-type
short-description: |
A person who writes an application that runs in a Kubernetes cluster.
long-description: >
An application developer focuses on one part of an application.
The scale of their focus may vary significantly in size.
+10
View File
@@ -0,0 +1,10 @@
id: approver
name: Approver
tags:
- community
short-description: |
A person who can review and approve Kubernetes code contributions.
long-description: >
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.
+8
View File
@@ -0,0 +1,8 @@
id: cla
name: CLA (Contributor License Agreement)
tags:
- community
short-description: |
Terms under which a [contributor](#term-contributor) grants a license to an open source project for their contributions.
long-description: |
CLAs help resolve legal disputes involving contributed material and intellectual property (IP).
+12
View File
@@ -0,0 +1,12 @@
id: cluster-architect
name: Cluster Architect
related:
- cluster
- cluster-operator
tags:
- user-type
short-description: |
A person who designs infrastructure that involves one or more Kubernetes clusters.
long-description: |
Cluster architects are concerned with best practices for distributed systems, for example&#58; high availability and security.
+16
View File
@@ -0,0 +1,16 @@
id: cluster-operator
name: Cluster Operator
aka:
- Cluster Administrator
related:
- cluster
- cluster-architect
tags:
- user-type
short-description: |
A person who configures, controls, and monitors clusters.
long-description: |
Their primary responsibility is keeping a cluster up and running, which may involve periodic maintenance activities or upgrades.<br>
**NOTE:** Cluster operators are different from the [Operator pattern](https://coreos.com/operators) that extends the Kubernetes API.
+9
View File
@@ -0,0 +1,9 @@
id: cluster
name: Cluster
tags:
- fundamental
- operation
short-description: |
A set of machines, called nodes, that run containerized applications managed by Kubernetes.
long-description: |
A cluster has several worker nodes and at least one master node.
+11
View File
@@ -0,0 +1,11 @@
id: code-contributor
name: Code Contributor
aka:
- Community Developer
tags:
- community
- user-type
short-description: |
A person who develops and contributes code to the Kubernetes open source codebase.
long-description: |
They are also an active [community member](#term-community-member) who participates in one or more [Special Interest Groups (SIGs)](#term-sig).
+9
View File
@@ -0,0 +1,9 @@
id: container
name: Container
tags:
- fundamental
- workload
short-description: |
A lightweight and portable executable image that contains software and all of its dependencies.
long-description: |
Containers decouple applications from underlying host infrastructure to make deployment easier in different cloud or OS environments, and for easier scaling.
+8
View File
@@ -0,0 +1,8 @@
id: contributor
name: Contributor
tags:
- community
short-description: |
Someone who donates code, documentation, or their time to help the Kubernetes project or community.
long-description: |
Contributions include pull requests (PRs), issues, feedback, [special interest group (SIG)](#term-sig) participation, or organizing community events.
+9
View File
@@ -0,0 +1,9 @@
id: cronjob
name: CronJob
tags:
- core-object
- workload
short-description: |
Manages a [Job](/docs/concepts/jobs/run-to-completion-finite-workloads/) that runs on a periodic schedule.
long-description: |
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.
+10
View File
@@ -0,0 +1,10 @@
id: deployment
name: Deployment
tags:
- fundamental
- core-object
- workload
short-description: |
An API object that manages a replicated application.
long-description: |
Each replica is represented by a [Pod](#term-pod), and the Pods are distributed among the nodes of a cluster.
+15
View File
@@ -0,0 +1,15 @@
id: developer
name: Developer (disambiguation)
aka:
- Kubernetes Developer
tags:
- community
- user-type
short-description: |
May refer to&#58; [*Application Developer*](#term-application-developer), [*Code Contributor*](#term-code-contributor), or [*Platform Developer*](#term-platform-developer).
long-description: |
This overloaded term may have different meanings depending on the context. It could mean&#58;
* [**Application Developer**](#term-application-developer): A person who writes an application that runs in a Kubernetes cluster.
* [**Code Contributor**](#term-code-contributor): A person who develops and contributes code to the Kubernetes open source codebase.
* [**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.
+11
View File
@@ -0,0 +1,11 @@
id: downstream
name: Downstream (disambiguation)
related:
- upstream
tags:
- community
short-description: |
May refer to: code in the Kubernetes ecosystem that depends upon the core Kubernetes codebase or a forked repo.
long-description: |
* 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*.
+9
View File
@@ -0,0 +1,9 @@
id: helm-chart
name: Helm Chart
tags:
- tool
short-description: |
A package of pre-configured Kubernetes resources that can be managed with the Helm tool.
long-description: |
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.
+10
View File
@@ -0,0 +1,10 @@
id: ingress
name: Ingress
tags:
- networking
- architecture
- extension
short-description: |
An API object that manages external access to the services in a cluster, typically HTTP.
long-description: |
Ingress can provide load balancing, SSL termination and name-based virtual hosting.
+12
View File
@@ -0,0 +1,12 @@
id: istio
name: Istio
tags:
- networking
- architecture
- extension
short-description: |
An open platform (not Kubernetes-specific) that provides a uniform way to integrate microservices, manage traffic flow, enforce policies, and aggregate telemetry data.
long-description: >
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.
+18
View File
@@ -0,0 +1,18 @@
id: kops
name: Kops
tags:
- tool
- operation
short-description: |
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*.
long-description: |
`kops` provisions your cluster with&#58;
* Fully automated installation
* DNS-based cluster identification
* Self-healing&#58; 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 generate terraform manifests
You can also build your own cluster using [`kubeadm`](#term-kubeadm) as a building block. `kops` builds on the kubeadm work.
+9
View File
@@ -0,0 +1,9 @@
id: kubeadm
name: Kubeadm
tags:
- tool
- operation
short-description: |
A tool for quickly installing Kubernetes and setting up a secure cluster.
long-description: |
You can use kubeadm to install both the control plane and the worker node components.
+9
View File
@@ -0,0 +1,9 @@
id: kubectl
name: Kubectl
tags:
- tool
- fundamental
short-description: |
A command line tool for communicating with a [Kubernetes API](#term-kubernetes-api) server.
long-description: |
You can use kubectl to create, inspect, update, and delete Kubernetes objects.
+12
View File
@@ -0,0 +1,12 @@
id: kubernetes-api
name: Kubernetes API
tags:
- fundamental
- architecture
short-description: |
The application that serves Kubernetes functionality through a RESTful interface and stores the state of the cluster.
long-description: >
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.
+8
View File
@@ -0,0 +1,8 @@
id: maintainer
name: Maintainer
tags:
- community
short-description: |
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.
long-description: |
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.
+10
View File
@@ -0,0 +1,10 @@
id: member
name: Member
tags:
- community
short-description: |
A continuously active [contributor](#term-contributor) in the K8s community.
long-description: >
Members can have issues and PRs assigned to them and participate in [special interest groups (SIGs)](#term-sig) through GitHub teams.
Pre-submit tests are automatically run for members' PRs.
A member is expected to remain an active contributor to the community.
+9
View File
@@ -0,0 +1,9 @@
id: minikube
name: Minikube
tags:
- fundamental
- tool
short-description: |
A tool for running Kubernetes locally.
long-description: |
Minikube runs a single-node cluster inside a VM on your computer.
+10
View File
@@ -0,0 +1,10 @@
id: platform-developer
name: Platform Developer
aka:
- Kubernetes Developer
tags:
- user-type
short-description: |
A person who customizes the Kubernetes platform to fit the needs of their project.
long-description: >
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.
+16
View File
@@ -0,0 +1,16 @@
id: pod
name: Pod
related:
- container
- sidecar
- deployment
- statefulset
tags:
- core-object
- fundamental
short-description: |
The smallest and simplest Kubernetes object. A Pod represents a set of running [containers](#term-container) on your cluster.
long-description: >
A Pod is typically set up to run a single primary container.
It can also run optional sidecar containers that add supplementary features like logging.
Pods are commonly managed by a [Deployment](#term-deployment).
+9
View File
@@ -0,0 +1,9 @@
id: rbac
name: RBAC (Role-Based Access Control)
tags:
- security
- fundamental
short-description: |
Manages authorization decisions, allowing admins to dynamically configure access policies through the [Kubernetes API](#term-kubernetes-api).
long-description: |
RBAC utilizes *roles*, which contain permission rules, and *role bindings*, which grant the permissions defined in a role to a set of users.
+8
View File
@@ -0,0 +1,8 @@
id: reviewer
name: Reviewer
tags:
- community
short-description: |
A person who reviews code for quality and correctness on some part of the project.
long-description: |
Reviewers are knowledgeable about both the codebase and software engineering principles. Reviewer status is scoped to a part of the codebase.
+9
View File
@@ -0,0 +1,9 @@
id: service
name: Service
tags:
- fundamental
- core-object
short-description: |
An API object that describes how to access applications, such as a set of [Pods](#term-pod), and can describe ports and load-balancers.
long-description: |
The access point can be internal or external to the cluster.
+11
View File
@@ -0,0 +1,11 @@
id: sig
name: SIG (special interest group)
tags:
- community
short-description: |
[Members](#term-member) who collectively manage an ongoing piece or aspect of the larger Kubernetes open source project.
long-description: >
Members within a SIG have a shared interest in advancing a specific area, such as architecture, API machinery, or documentation.
SIGs must follow the [SIG Governance](https://github.com/kubernetes/community/blob/master/sig-governance.md) guidelines but can have their own contribution policy and channels of communication.
For more information, see the [kubernetes/community](https://github.com/kubernetes/community) repo and the current list of [SIGs and Working Groups](https://github.com/kubernetes/community/blob/master/sig-list.md).
+9 -9
View File
@@ -1,18 +1,18 @@
id: statefulset
name: StatefulSet
formerly:
aka:
- PetSet
related:
- Deployment
- Pod
- deployment
- pod
tags:
- Storage
- Workload
- API Object
- core-object
- workload
- storage
short-description: |
Manage the deployment and scaling of a set of Pods, *and provide guarantees about ordering*. They do so by maintaining a *unique*, sticky identity for each of their Pods.
Manages the deployment and scaling of a set of [Pods](#term-pod), *and provides guarantees about the ordering and uniqueness* of these Pods.
long-description: |
Like Deployments, StatefulSets manage Pods that are based on an identical container spec. However, although their specs are the same, the Pods in a StatefulSet are not interchangeable. Each Pod has a persistent identifier that it maintains across any rescheduling.
Like a [Deployment](#term-deployment), a StatefulSet manages Pods that are based on an identical container spec. Unlike a Deployment, a StatefulSet maintains a sticky identity for each of their Pods. These pods are created from the same spec, but are not interchangeable&#58; each has a persistent identifier that it maintains across any rescheduling.
StatefulSets also operate according to the Controller pattern. You define your desired state in a StatefulSet *object*, and the StatefulSet *controller* makes any necessary updates to the get there from the current state.
A StatefulSet operates under the same pattern as any other Controller. You define your desired state in a StatefulSet *object*, and the StatefulSet *controller* makes any necessary updates to get there from the current state.
+11
View File
@@ -0,0 +1,11 @@
id: upstream
name: Upstream (disambiguation)
related:
- downstream
tags:
- community
short-description: |
May refer to: core Kubernetes or the source repo from which a repo was forked.
long-description: |
* In the **Kubernetes Community**: Conversations often use *upstream* to mean the core Kubernetes codebase, which the general ecosystem, other code, or third-party tools relies upon. For example, [community members](#term-member) 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*.
+10
View File
@@ -0,0 +1,10 @@
id: wg
name: WG (working group)
tags:
- community
short-description: |
Facilitates the discussion and/or implementation of a short-lived, narrow, or decoupled project for a committee, [SIG](#term-sig), or cross-SIG effort.
long-description: |
Working groups are a way of organizing people to accomplish a discrete task, and are relatively easy to create and deprecate when inactive.
For more information, see the [kubernetes/community](https://github.com/kubernetes/community) repo and the current list of [SIGs and working groups](https://github.com/kubernetes/community/blob/master/sig-list.md).