You are on page 1of 13


• Blog

• Partners

• Community

• Case Studies
• English

• v1.10

Get Started
Ready to get your hands dirty? Build a simple Kubernetes cluster that runs "Hello
World" for Node.js.

Learn how to use Kubernetes with the use of walkthroughs, samples, and
reference documentation. You can even help contribute to the docs!

If you need help, you can connect with other Kubernetes users and the Kubernetes
authors, attend community events, and watch video presentations from around the

Read the latest news for Kubernetes and the containers space in general, and get
technical how-tos hot off the presses.

Interested in hacking on the core Kubernetes code base?

View On Github

Explore the community






Supported Versions of the Kubernetes Documentation

Contributing to the Kubernetes Docs

Content Organization

Creating a Documentation Pull Request

Custom Hugo Shortcodes

Documentation Style Guide

Generating Reference Documentation for Kubernetes Federation API

Generating Reference Documentation for kubectl Commands

Generating Reference Documentation for the Kubernetes API

Generating Reference Pages for Kubernetes Components and Tools

Localizing Kubernetes Documentation

Participating in SIG-DOCS

Reviewing Documentation Issues

Staging Your Documentation Changes

Using Page Templates

Writing a Blog Post

Writing a New Topic

Edit This Page

Documentation Style Guide

This page gives writing style guidelines for the Kubernetes documentation. These
are guidelines, not rules. Use your best judgment, and feel free to propose changes
to this document in a pull request.
For additional information on creating new content for the Kubernetes docs, follow
the instructions on using page templates and creating a documentation pull
• Language
• Documentation formatting standards
• Inline code formatting
• Code snippet formatting
• word list
• Shortcodes
• Common Shortcode Issues
• Content best practices
• Patterns to avoid
• What's next
Note: Kubernetes documentation uses Blackfriday Markdown Renderer along with a
few Hugo Shortcodes to support glossary entries, tabs, and representing feature


Kubernetes documentation uses US English.

Documentation formatting standards

Use camel case for API objects
When you refer to an API object, use the same uppercase and lowercase letters
that are used in the actual object name. Typically, the names of API objects
use camel case.

Don’t split the API object name into separate words. For example, use
PodTemplateList, not Pod Template List.

Refer to API objects without saying “object,” unless omitting “object” leads to an
awkward construction.
Do Don

The Pod has two Containers. The

The Deployment is responsible for ... The

A PodList is a list of Pods. A Po

The two ContainerPorts ... The

The two ContainerStateTerminated objects ... The

Use angle brackets for placeholders

Use angle brackets for placeholders. Tell the reader what a placeholder represents.
1. Display information about a pod:

kubectl describe pod

where <pod-name> is the name of one of your pods.

Use bold for user interface elements

Do Don't

Click Fork. Click "Fo

Select Other. Select 'O

Use italics to define or introduce new terms

Do Don't
A cluster is a set of nodes ... A "cluste

These components form the control plane. These c

Use code style for filenames, directories, and paths


Open the envars.yaml file.

Go to the /docs/tutorials directory.

Open the /_data/concepts.yaml file.

Use the international standard for punctuation inside

Do Don't

events are recorded with an associated "stage". events

The copy is called a "fork". The co

Inline code formatting

Use code style for inline code and commands

For inline code in an HTML document, use the <code> tag. In a Markdown
document, use the backtick (`).
Do Do

The kubectl run command creates a Deployment. The

For declarative management, use kubectl apply. For

Use code style for object field names

Do Don

Set the value of the replicas field in the configuration file. Set t
The value of the exec field is an ExecAction object. The

Use normal style for string and integer field values

For field values of type string or integer, use normal style without quotation marks.
Do Don't

Set the value of imagePullPolicy to Always. Set the v

Set the value of image to nginx:1.8. Set the v

Set the value of the replicas field to 2. Set the v

Code snippet formatting

Don’t include the command prompt

Do Don't

kubectl get pods $ kubectl ge

Separate commands from output

Verify that the pod is running on your chosen node:
kubectl get pods --output=wide

The output is similar to this:

nginx 1/1 Running 0 13s worker0

Versioning Kubernetes examples

Code examples and configuration examples that include version information should
be consistent with the accompanying text. Identify the Kubernetes version in
the Before you beginsection.
To specify the Kubernetes version for a task or tutorial page, include min-
kubernetes-server-version in the front matter of the page.

If the example YAML is in a standalone file, find and review the topics that include
it as a reference. Verify that any topics using the standalone YAML have the
appropriate version information defined. If a stand-alone YAML file is not
referenced from any topics, consider deleting it instead of updating it.

For example, if you are writing a tutorial that is relevant to Kubernetes version 1.8,
the front-matter of your markdown file should look something like:
title: <your tutorial title here>
min-kubernetes-server-version: v1.8

In code and configuration examples, do not include comments about alternative

versions. Be careful to not include incorrect statements in your examples as
comments, such as:
apiVersion: v1 # earlier versions use...
kind: Pod
... word list

A list of Kubernetes-specific terms and words to be used consistently across the

Term Usage

Kubernetes Kubernetes should always be capitalized.

Docker Docker should always be capitalized.

SIG Docs SIG Docs rather than SIG-DOCS or other variations.


Hugo Shortcodes help create different rhetorical appeal levels. Our documentation
supports three different shortcodes in this category: Note: {{< note
>}}, Caution: {{< caution >}}, and Warning: {{< warning >}}.
1. Surround the text with an opening and closing shortcode.
2. Use the following syntax to apply a style:
3. {{< note >}}
4. **Note:**** The prefix you use is the same text you use in the tag.
{{< /note >}}

The output is:

Note: The prefix you choose is the same text for the tag.

Use {{< note >}} to highlight a tip or a piece of information that may be helpful to

For example:
{{< note >}}
**Note:** You can _still_ use Markdown inside these callouts.
{{< /note >}}

The output is:

Note: You can still use Markdown inside these callouts.

Use {{< caution >}} to call attention to an important piece of information to avoid

For example:
{{< caution >}}
**Caution:** The callout style only applies to the line directly above
the tag.
{{< /caution >}}

The output is:

Caution: The callout style only applies to the line directly above the tag.

Use {{< warning >}} to indicate danger or a piece of information that is crucial to

For example:
{{< warning >}}
**Warning:** Beware.
{{< /warning >}}

The output is:

Warning: Beware.

Common Shortcode Issues

Ordered Lists
Shortcodes will interrupt numbered lists unless you indent four spaces before the
notice and the tag.

For example:
1. Preheat oven to 350˚F

1. Prepare the batter, and pour into springform pan.

{{< note >}}**Note:** Grease the pan for best results.{{< note >}}

1. Bake for 20-25 minutes or until set.

The output is:

1. Preheat oven to 350˚F
2. Prepare the batter, and pour into springform pan.
Note: Grease the pan for best results.

3. Bake for 20-25 minutes or until set.

Content best practices

This section contains suggested best practices for clear, concise, and consistent

Use present tense

Do Don't

This command starts a proxy. This comm

Exception: Use future or past tense if it is required to convey the correct meaning.

Use active voice

Do Don't

You can explore the API using a browser. The API can

The YAML file specifies the replica count. The replica c

Exception: Use passive voice if active voice leads to an awkward construction.

Use simple and direct language
Use simple and direct language. Avoid using unnecessary phrases, such as saying
Do Don't

To create a ReplicaSet, ... In order to create a ReplicaSet, ...

See the configuration file. Please see the configuration file.

View the Pods. With this next command, we'll view

Address the reader as “you”

Do Don't

You can create a Deployment by ... We'll c

In the preceding output, you can see... In the

Avoid Latin phrases

Prefer English terms over Latin abbreviations.

For example, ...

That is, ...

Exception: Use “etc.” for et cetera.

Patterns to avoid

Avoid using “we”

Using “we” in a sentence can be confusing, because the reader might not know
whether they’re part of the “we” you’re describing.
Do Don't

Version 1.4 includes ... In version 1.4

Kubernetes provides a new feature for ... We provide a

This page teaches you how to use pods. In this page, w

Avoid jargon and idioms

Some readers speak English as a second language. Avoid jargon and idioms to
help make their understanding easier.
Do Don't

Internally, ... Under th

Create a new cluster. Turn up a

Avoid statements about the future

Avoid making promises or giving hints about the future. If you need to talk about an
alpha feature, put the text under a heading that identifies it as alpha information.

Avoid statements that will soon be out of date

Avoid words like “currently” and “new.” A feature that is new today might not be
considered new in a few months.
Do Don't

In version 1.4, ... In the current

The Federation feature provides ... The new Fed

What's next

• Learn about writing a new topic.

• Learn about using page templates.
• Learn about staging your changes
• Learn about creating a pull request.

Create an Issue Edit this Page

Hello MinikubeDocumentationBlogPartnersCommunityCase Studies
Get Kubernetes Contribute
© 2018 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2018 The Linux Foundation®. All rights reserved. The Linux Foundation has registered trademarks and
uses trademarks. For a list of trademarks of The Linux Foundation, please see our Trademark Usage page