- 
                Notifications
    
You must be signed in to change notification settings  - Fork 15.1k
 
[docs][glossary] Add page that lists all standardized k8s terms #5657
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| 
           Deploy preview ready! Built with commit ccc9a06 https://deploy-preview-5657--kubernetes-io-master-staging.netlify.com  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great!
As per our Slack convo:
- I think we should simplify the title and just call it "Glossary".
 - We need to disable the "Edit this Page" button since changes requested by users would probably need to be made at the snippet level.
 Don't worry about handling a long list of terms until we add more content. Then it will be worth a refactor.- The first incarnation of Glossary was in the Reference section, so I'm fine w/ leaving it there unless there is a huge uproar, which I doubt. It's easy enough to move if we need to.
 
| 
           @abiogenesis-now It was Paris (@parispittman) who mentioned adding community terms, but I like to think of it as coming from the uber-entity known as Saris. LOL  | 
    
| 
           @chenopis addressed your comments! Do you think we can merge this first or should we keep it as a PR until we've fleshed out all the "People"/"User Persona" terms?  | 
    
| 
           @abiogenesis-now I want to merge this now, but since it's still pretty sparse, I think we should do a quick sprint to get maybe a dozen terms in before we merge. EDIT: My suggestion would be to scrape terms from the top 25 "Related queries" in Google Trends for a discrete list of ones to start with.  | 
    
| 
           @chenopis good idea! I'll make a list--might solicit help from you, Luke, and Jennifer to help populate/edit the definitions (if you have bandwidth, of course!)  | 
    
| 
           We can also scrape some terminology and/or definitions from: https://github.com/kubernetes-incubator/service-catalog/blob/master/terminology.md  | 
    
| 
           Got carried away so I updated the glossary UI to be fancy and tag-filtering. TODOs: 
  | 
    
| 
           FYI, Travis CI is failing 
  | 
    
| 
           @chenopis good call, I'll add it to the TODOS  | 
    
| 
           Terms remaining: 
  | 
    
| 
           @abiogenesis-now Can we change the spec and rename "formerly" to "aka"?  | 
    
Additional Authors: * Andrew Chen <chenopis@users.noreply.github.com> * Steve Perry <steveperry-53@users.noreply.github.com>
| 
           Added GIF to main description (for reference)  | 
    
| short-description: | | ||
| A person who writes an application that runs in a Kubernetes cluster. | ||
| long-description: | | ||
| Typically an application developer works on one portion of an application that is split into microservices. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we need to say that microsrvices are "typical". Maybe "..one portion of an application, which might be monolithic or composed of many microservices."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I'll make the change.
| A person who designs infrastructure that involves one or more Kubernetes clusters. | ||
| long-description: | | ||
| They are concerned with distributed system best practices, such as high availability and security. A cluster architect is likely the one determining the suitability of a feature like cross-cloud cluster federation, for their particular setup. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would strike references to federation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I'll remove the second sentence.
        
          
                _data/glossary/cluster.yaml
              
                Outdated
          
        
      | short-description: | | ||
| A set of machines, called nodes, that run containerized applications managed by Kubernetes. | ||
| long-description: | | ||
| Typically a cluster has serveral worker nodes and at least one master node. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo: serveral
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
got it, thx
        
          
                _data/glossary/code-contributor.yaml
              
                Outdated
          
        
      | short-description: | | ||
| Develops and contributes code to the project that is part of the open source codebase. | ||
| long-description: | | ||
| They are also an active community member and participate in one of the Special Interest Groups (SIGs). | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"may participate"
"one or more"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thx
        
          
                _data/glossary/cronjob.yaml
              
                Outdated
          
        
      | - core-object | ||
| - workload | ||
| short-description: | | ||
| Manages time based [Jobs](/docs/concepts/jobs/run-to-completion-finite-workloads/) that are run once or periodically on a given schedule. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"once" doesn't make sense "on a given schedule".
"A job that runs on a periodic schedule. "?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I'm going with "Manages a Job that runs on a periodic schedule."
        
          
                _data/glossary/ingress.yaml
              
                Outdated
          
        
      | - architecture | ||
| - extension | ||
| short-description: | | ||
| An API object that manages external access to the services in a cluster. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cluster, typically HTTP.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
got it
        
          
                _data/glossary/kubernetes-api.yaml
              
                Outdated
          
        
      | - fundamental | ||
| - architecture | ||
| short-description: | | ||
| The foundation for how Kubernetes represents and stores the state of the cluster. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't actually describe what an apiserver is.
"The application which serves the Kubernetes HTTP API, and which stores the state of the cluster".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm going with "The application which serves the Kubernetes HTTP API and stores the state of the cluster."
        
          
                _data/glossary/maintainer.yaml
              
                Outdated
          
        
      | tags: | ||
| - community | ||
| short-description: | | ||
| Works holistically across the project to maintain its health and success. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is what they do, not what they are.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@abiogenesis-now Let's rewrite this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about...
short-description: "A highly experienced contributor, active in multiple areas, who has cross area ownership and GitHub repo write access."
long-description: "They work holistically across the project to maintain its health and success and have made substantial contributions, both through code development and broader organizational efforts."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
works for me---I'm making the slight copyedit of saying "active in multiple areas [of Kubernetes]" but if you disagree, let me know
        
          
                _data/glossary/pod.yaml
              
                Outdated
          
        
      | - core-object | ||
| - fundamental | ||
| short-description: | | ||
| The smallest and simplest Kubernetes object. Represents a set of running processes on your cluster. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/processes/containers ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok
        
          
                _data/glossary/service.yaml
              
                Outdated
          
        
      | - fundamental | ||
| - core-object | ||
| short-description: | | ||
| An API object that manages load-balanced access to a replicated set of Pods. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An API object that describes how to access applications, such as a set of Pods, and can describe ports and load-balancers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thx
| 
           BTW, we should double check the community membership role definitions against https://github.com/kubernetes/community/blob/master/community-membership.md.  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Editorial review, part 1. There's more to come; I'll pick back up tomorrow, beginning with Cluster Operators.
| @@ -0,0 +1,3 @@ | |||
| id: fundamental | |||
| name: Fundamental | |||
| description: Relevant to a first-time user of Kubernetes. | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Relevant for
        
          
                _data/canonical-tags/networking.yaml
              
                Outdated
          
        
      | @@ -0,0 +1,3 @@ | |||
| id: networking | |||
| name: Networking | |||
| description: Relevant to how Kubernetes components talk to each other (and to programs outside the cluster). | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How Kubernetes components talk to each other and to programs outside the cluster.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 I'll be changing all of these as you suggested, but want to provide some context. Initially I prefaced a lot of these terms with "relevant to" because the description shows up as follows:

I wasn't sure if the description should directly apply to the tags themselves (in which case, it's clear that "relevant for" should be omitted), or to the terms described by the tags---so I initially opted for the latter.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the context, it helps! 👍
| @@ -0,0 +1,3 @@ | |||
| id: architecture | |||
| name: Architecture | |||
| description: Related to the inner components of the Kubernetes system. | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the Kubernetes system
Can we replace this with just "Kubernetes"? See operation.yaml for the same question. So:
description: The inner components of Kubernetes.
        
          
                _data/canonical-tags/operation.yaml
              
                Outdated
          
        
      | @@ -0,0 +1,3 @@ | |||
| id: operation | |||
| name: Operation | |||
| description: Relevant to starting and maintaining the Kubernetes system itself. | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the Kubernetes system
Can we replace this with "Kubernetes"? See architecture.yaml for the same question. So:
description: Starting and maintaining Kubernetes.
        
          
                _data/canonical-tags/security.yaml
              
                Outdated
          
        
      | @@ -0,0 +1,3 @@ | |||
| id: security | |||
| name: Security | |||
| description: Relevant to keeping Kubernetes applications safe and secure. | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
description: Keeping Kubernetes applications safe and secure.
        
          
                _data/glossary/approver.yaml
              
                Outdated
          
        
      | tags: | ||
| - community | ||
| short-description: | | ||
| Able to both review and approve K8s code contributions. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A person who can review and approve Kubernetes code contributions.
        
          
                _data/glossary/approver.yaml
              
                Outdated
          
        
      | short-description: | | ||
| Able to both review and approve K8s code contributions. | ||
| long-description: | | ||
| While code review is focused on code quality and correctness, approval is focused on holistic acceptance of a contribution including: backwards/forwards compatibility, adhering to API and flag conventions, subtle performance and correctness issues, interactions with other parts of the system, etc. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While code review focuses on code quality and correctness, approval is focused on 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.
        
          
                _data/glossary/cla.yaml
              
                Outdated
          
        
      | tags: | ||
| - community | ||
| short-description: | | ||
| Terms under which the contributor grants a license to the open source project for their contributions. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Terms under which a contributor grants a license to an open source project for their contributions.
        
          
                _data/glossary/cla.yaml
              
                Outdated
          
        
      | short-description: | | ||
| Terms under which the contributor grants a license to the open source project for their contributions. | ||
| long-description: | | ||
| They help enable a legal resolution to cases in which there are copyright disputes related to contributed material or intellectual property (IP). | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CLAs help resolve legal disputes involving contributed material and intellectual property.
| A person who designs infrastructure that involves one or more Kubernetes clusters. | ||
| long-description: | | ||
| They are concerned with distributed system best practices, such as high availability and security. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cluster architects are concerned with best practices for distributed systems, for example: high availability and security.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These look good. 🌟 Make sure to apply capitalization (or the lack thereof) of terms consistently across all entries. Pods/pods, Nodes/nodes, Clusters/clusters, etc.
        
          
                _data/glossary/cluster-operator.yaml
              
                Outdated
          
        
      | tags: | ||
| - user-type | ||
| short-description: | | ||
| A person who configures, controls, and monitors cluster(s). | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clusters.
        
          
                _data/glossary/cluster-operator.yaml
              
                Outdated
          
        
      | long-description: | | ||
| Their primary responsibility is keeping the cluster up and running, which may involve periodic maintenance activities or upgrades.<br> | ||
| *(Cluster operators are not to be confused with the [Operator pattern](https://coreos.com/operators) that extends the Kubernetes API.)* | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: Cluster operators are different from the Operator pattern that extends the Kubernetes API.
        
          
                _data/glossary/cluster.yaml
              
                Outdated
          
        
      | short-description: | | ||
| A set of machines, called nodes, that run containerized applications managed by Kubernetes. | ||
| long-description: | | ||
| Typically a cluster has several worker nodes and at least one master node. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A cluster has several worker nodes and at least one master node.
        
          
                _data/glossary/deployment.yaml
              
                Outdated
          
        
      | short-description: | | ||
| An API object that manages a replicated application. | ||
| long-description: | | ||
| Each replica is represented by a Pod, and the Pods are distributed among the Nodes of a cluster. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make sure that Node is either capitalized or un-capitalized correctly for all entries; same for Pod.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 will stick to capitalizing standard K8s objects only
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@abiogenesis-now Thanks, that was what I was trying to convey. 😸 👍
        
          
                _data/glossary/code-contributor.yaml
              
                Outdated
          
        
      | - community | ||
| - user-type | ||
| short-description: | | ||
| Develops and contributes code to the project that is part of the open source codebase. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A person who develops and contributes code to the open source codebase.
        
          
                _data/glossary/statefulset.yml
              
                Outdated
          
        
      | 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, 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--each has a persistent identifier that it maintains across any rescheduling. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
interchangeable: each has
        
          
                _data/glossary/upstream.yaml
              
                Outdated
          
        
      | 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 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. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
relies upon.
        
          
                _data/glossary/wg.yaml
              
                Outdated
          
        
      | @@ -0,0 +1,9 @@ | |||
| id: wg | |||
| name: WG (Working Group) | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
working group
        
          
                _data/glossary/wg.yaml
              
                Outdated
          
        
      | short-description: | | ||
| Facilitates the discussion and/or implementation of a short-lived, narrow, or decoupled project for a committee, SIG, or cross-SIG effort. | ||
| long-description: | | ||
| They are a way of organizing people to accomplish a discrete task and are relatively easy to create and deprecate when inactive. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Working groups are a way of organizing people to accomplish a discrete task, and are relatively easy to create and deprecate when inactive.
        
          
                _data/glossary/wg.yaml
              
                Outdated
          
        
      | Facilitates the discussion and/or implementation of a short-lived, narrow, or decoupled project for a committee, SIG, or cross-SIG effort. | ||
| long-description: | | ||
| They 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). | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
working groups
| 
           Addressed most of your comments @zacharysarah and added some more cross-linking. Also am now using   | 
    
…multiparagraph definitions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! 🌟 
 🌟

@chenopis This PR is a quick prototype of what we discussed last week. You mentioned that Sarah (or was it Paris?) thought it would be worth formally defining "user persona terms" like "cluster operator" and "application developer."
I put the link to this glossary page under Reference. You may have mentioned putting it on the home page--I think that categorically it makes sense under "Reference", but was that suggestion due to visibility concerns? If you feel strongly I can move it.
GIF of final product, illustrating all the random features:
This change is