Reference ToC refactor (#3427)

* Reference ToC refactor

* Move Federation into Reference

* Fix ToC, add deprecation notice

* Fix Reference ToC

* tweak ToC

* Move content into Reference

* touch up kubectl

* fix ToC syntax error

* remove resources-reference docs

* change kubectl section name

* adjust page titles

* create Command-Line Tools section

* Move Federation API out to top level

* remove extensions/v1beta1 definitions

* rewrite Kubernetes API in Concepts in a later PR

* Add jbeda to Kubernetes API Overview page for reviews.

* incorporate feedback

* remove /docs/federation

* move around copy

* cleanup reference landing page

* update reference landing page
pull/3456/head^2
Andrew Chen 2017-04-20 13:04:32 -07:00 committed by GitHub
parent e648c764ab
commit 90070474d4
24 changed files with 428 additions and 320 deletions

View File

@ -1,72 +1,70 @@
bigheader: "Reference Documentation"
abstract: "Design docs, concept definitions, and references for APIs and CLIs."
toc:
- docs/reference.md
- docs/reference/index.md
- title: "Kubernetes Resource Types"
- title: Using the API
section:
- title: Version 1.6
path: /docs/resources-reference/v1.6/
- title: Version 1.5
path: /docs/resources-reference/v1.5/
- title: "Kubernetes API"
section:
- title: Overview
path: /docs/concepts/overview/kubernetes-api/
- title: Version 1.6
path: /docs/api-reference/v1.6/
- title: Version 1.5
path: /docs/api-reference/v1.5/
- docs/reference/api-overview.md
- title: Accessing the API
section:
- docs/admin/accessing-the-api.md
- docs/admin/authentication.md
- docs/admin/bootstrap-tokens.md
- title: Authorization Plugins
section:
- docs/admin/authorization/index.md
- docs/admin/authorization/rbac.md
- docs/admin/admission-controllers.md
- docs/admin/service-accounts-admin.md
- docs/api-reference/labels-annotations-taints.md
- docs/api-reference/extensions/v1beta1/definitions.html
- title: Authorization
section:
- docs/admin/authorization/index.md
- docs/admin/authorization/rbac.md
- docs/reference/deprecation-policy.md
- title: API Reference
section:
- title: v1.6
path: /docs/api-reference/v1.6/
- title: v1.5
path: /docs/api-reference/v1.5/
- docs/reference/labels-annotations-taints.md
- title: OpenAPI and Swagger
section:
- title: OpenAPI Spec
path: https://github.com/kubernetes/kubernetes/blob/master/api/openapi-spec/
- title: Swagger Spec
path: https://github.com/kubernetes/kubernetes/tree/master/api/swagger-spec/
- title: Federation API
section:
- docs/reference/federation/v1/operations.html
- docs/reference/federation/v1/definitions.html
- docs/reference/federation/v1beta1/operations.html
- docs/reference/federation/v1beta1/definitions.html
- docs/reference/federation/extensions/v1beta1/operations.html
- docs/reference/federation/extensions/v1beta1/definitions.html
- title: kubectl CLI
section:
- title: Overview
path: /docs/user-guide/kubectl-overview/
- title: Commands
section:
- title: Version 1.6
path: /docs/user-guide/kubectl/v1.6/
- title: Version 1.5
path: /docs/user-guide/kubectl/v1.5/
- docs/user-guide/kubectl-overview.md
- title: v1.6 Commands
path: /docs/user-guide/kubectl/v1.6/
- title: v1.5 Commands
path: /docs/user-guide/kubectl/v1.5/
- docs/user-guide/docker-cli-to-kubectl.md
- docs/user-guide/kubectl-conventions.md
- docs/user-guide/jsonpath.md
- docs/user-guide/kubectl-cheatsheet.md
- title: Kubernetes Components
- docs/admin/kubeadm.md
- title: Config Reference
section:
- docs/admin/kubelet.md
- docs/admin/kube-apiserver.md
- docs/admin/kube-controller-manager.md
- docs/admin/kube-proxy.md
- docs/admin/kube-scheduler.md
- docs/admin/kubeadm.md
- docs/admin/federation-apiserver.md
- docs/admin/federation-controller-manager.md
- docs/federation/api-reference/index.md
- title: kubelet
section:
- docs/admin/kubelet.md
- docs/admin/kubelet-tls-bootstrapping.md
- docs/admin/kubelet-authentication-authorization.md
- title: Glossary
section:
- docs/user-guide/cron-jobs.md
- docs/admin/resourcequota/index.md
- title: Kubernetes Design Docs
section:
@ -82,11 +80,10 @@ toc:
- title: Security in Kubernetes
path: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/security.md
- title: Issues and Security
- title: Kubernetes Issues and Security
section:
- title: Kubernetes Issue Tracker on GitHub
path: https://github.com/kubernetes/kubernetes/issues/
- docs/home/security.md
- docs/home/deprecation-policy.md
- docs/reference/security.md

View File

@ -0,0 +1,2 @@
The topics in the `/docs/api-reference/` section of the Kubernetes docs
are being moved to the [Reference](/docs/reference/) section. The content in this topic has moved to:

View File

@ -0,0 +1,2 @@
The topics in the [Federation API](/docs/federation/api-reference/) section of the Kubernetes docs
are being moved to the [Reference](/docs/reference/) section. The content in this topic has moved to:

View File

@ -3,7 +3,7 @@ assignees:
- bgrant0607
- erictune
- lavalamp
title: Controlling Accessing to the Kubernetes API
title: Controlling Access to the Kubernetes API
---
Users [access the API](/docs/user-guide/accessing-the-cluster) using `kubectl`,

View File

@ -4,7 +4,7 @@ assignees:
- luxas
- errordeveloper
- jbeda
title: kubeadm reference
title: kubeadm Setup Tool
---
This document provides information on how to use kubeadm's advanced options.

View File

@ -1,5 +1,5 @@
---
title: Overview
title: kubelet
notitle: true
---
## kubelet

View File

@ -2,112 +2,6 @@
title: Well-Known Labels, Annotations and Taints
---
Kubernetes reserves all labels and annotations in the kubernetes.io namespace. This document describes
the well-known kubernetes.io labels and annotations.
{% include api-reference-content-moved.md %}
This document serves both as a reference to the values, and as a coordination point for assigning values.
**Table of contents:**
<!-- BEGIN MUNGE: GENERATED_TOC -->
- [Well-Known Labels, Annotations and Taints](#well-known-labels-annotations-and-taints)
- [beta.kubernetes.io/arch](#betakubernetesioarch)
- [beta.kubernetes.io/os](#betakubernetesioos)
- [kubernetes.io/hostname](#kubernetesiohostname)
- [beta.kubernetes.io/instance-type](#betakubernetesioinstance-type)
- [failure-domain.beta.kubernetes.io/region](#failure-domainbetakubernetesioregion)
- [failure-domain.beta.kubernetes.io/zone](#failure-domainbetakubernetesiozone)
<!-- END MUNGE: GENERATED_TOC -->
## beta.kubernetes.io/arch
Example: `beta.kubernetes.io/arch=amd64`
Used on: Node
Kubelet populates this with `runtime.GOARCH` as defined by Go. This can be handy if you are mixing arm and x86 nodes,
for example.
## beta.kubernetes.io/os
Example: `beta.kubernetes.io/os=linux`
Used on: Node
Kubelet populates this with `runtime.GOOS` as defined by Go. This can be handy if you are mixing operating systems
in your cluster (although currently Linux is the only OS supported by Kubernetes).
## kubernetes.io/hostname
Example: `kubernetes.io/hostname=ip-172-20-114-199.ec2.internal`
Used on: Node
Kubelet populates this with the hostname. Note that the hostname can be changed from the "actual" hostname
by passing the `--hostname-override` flag to kubelet.
## beta.kubernetes.io/instance-type
Example: `beta.kubernetes.io/instance-type=m3.medium`
Used on: Node
Kubelet populates this with the instance type as defined by the `cloudprovider`. It will not be set if
not using a cloudprovider. This can be handy if you want to target certain workloads to certain instance
types, but typically you want to rely on the Kubernetes scheduler to perform resource-based scheduling,
and you should aim to schedule based on properties rather than on instance types (e.g. require a GPU, instead
of requiring a `g2.2xlarge`)
## failure-domain.beta.kubernetes.io/region
See [failure-domain.beta.kubernetes.io/zone](#failure-domainbetakubernetesiozone)
## failure-domain.beta.kubernetes.io/zone
Example:
`failure-domain.beta.kubernetes.io/region=us-east-1`
`failure-domain.beta.kubernetes.io/zone=us-east-1c`
Used on: Node, PersistentVolume
On the Node: Kubelet populates this with the zone information as defined by the `cloudprovider`. It will not be set if
not using a `cloudprovider`, but you should consider setting it on the nodes if it makes sense in your topology.
On the PersistentVolume: The `PersistentVolumeLabel` admission controller will automatically add zone labels to PersistentVolumes,
on GCE and AWS.
Kubernetes will automatically spread the pods in a replication controller or service across nodes in a single-zone
cluster (to reduce the impact of failures.) With multiple-zone clusters, this spreading behaviour is extended
across zones (to reduce the impact of zone failures.) This is achieved via SelectorSpreadPriority.
This is a best-effort placement, and so if the zones in your cluster are heterogeneous (e.g. different numbers of nodes,
different types of nodes, or different pod resource requirements), this might prevent equal spreading of
your pods across zones. If desired, you can use homogenous zones (same number and types of nodes) to reduce
the probability of unequal spreading.
The scheduler (via the VolumeZonePredicate predicate) will also ensure that pods that claim a given volume
are only placed into the same zone as that volume, as volumes cannot be attached across zones.
The actual values of zone and region don't matter, and nor is the meaning of the hierarchy rigidly defined. The expectation
is that failures of nodes in different zones should be uncorrelated unless the entire region has failed. For example,
zones should typically avoid sharing a single network switch. The exact mapping depends on your particular
infrastructure - a three-rack installation will choose a very different setup to a multi-datacenter configuration.
If `PersistentVolumeLabel` does not support automatic labeling of your PersistentVolumes, you should consider
adding the labels manually (or adding support to `PersistentVolumeLabel`), if you want the scheduler to prevent
pods from mounting volumes in a different zone. If your infrastructure doesn't have this constraint, you don't
need to add the zone labels to the volumes at all.
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/api-reference/labels-annotations-taints.md?pixel)]()
<!-- END MUNGE: GENERATED_ANALYTICS -->
* [Well-Known Labels, Annotations and Taints](/docs/reference/labels-annotations-taints/)

View File

@ -1,13 +1,9 @@
---
assignees:
- bgrant0607
- erictune
- lavalamp
- chenopis
title: The Kubernetes API
---
Primary system and API concepts are documented in the [User guide](/docs/user-guide/).
Overall API conventions are described in the [API conventions doc](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/docs/devel/api-conventions.md).
API endpoints, resource types and samples are described in [API Reference](/docs/reference).

View File

@ -1,15 +0,0 @@
---
title: Federation API Reference
---
# API Reference
Federation API server supports the following group versions:
* federation/v1beta1: [operations](/docs/federation/api-reference/federation/v1beta1/operations.html), [model definitions](/docs/federation/api-reference/federation/v1beta1/definitions.html)
* v1: [operations](/docs/federation/api-reference/v1/operations.html), [model definitions](/docs/federation/api-reference/v1/definitions.html)
* extensions/v1beta1: [operations](/docs/federation/api-reference/extensions/v1beta1/operations.html), [model definitions](/docs/federation/api-reference/extensions/v1beta1/definitions.html)
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/federation/api-reference/README.md?pixel)]()
<!-- END MUNGE: GENERATED_ANALYTICS -->

View File

@ -1,28 +0,0 @@
---
title: Reference Documentation
---
In the reference section, you can find reference documentation for Kubernetes APIs, CLIs, and tools, as well as our glossary and design docs.
## API References
* [Kubernetes API Overview](/docs/concepts/overview/kubernetes-api/) - Conceptual overview of the API for Kubernetes.
* Versions
* [1.6](/docs/api-reference/v1.6/)
* [1.5](/docs/api-reference/v1.5/)
## CLI References
* [kubectl](/docs/user-guide/kubectl-overview/) - Runs commands against Kubernetes clusters.
* [JSONPath](/docs/user-guide/jsonpath/) - Syntax guide for using [JSONPath expressions](http://goessner.net/articles/JsonPath/) with kubectl.
* [kube-apiserver](/docs/admin/kube-apiserver/) - REST API that validates and configures data for API objects such as pods, services, replication controllers.
* [kube-proxy](/docs/admin/kube-proxy/) - Can do simple TCP/UDP stream forwarding or round-robin TCP/UDP forwarding across a set of backends.
* [kubelet](/docs/admin/kubelet/) - The primary "node agent" that runs on each node. The kubelet takes a set of PodSpecs and ensures that the described containers are running and healthy.
## Glossary
Explore the glossary of essential Kubernetes concepts. Some good starting points are the entries for [Pods](/docs/concepts/workloads/pods/pod/), [Nodes](/docs/concepts/nodes/node/), [Services](/docs/concepts/services-networking/service/), and [ReplicaSets](/docs/concepts/workloads/controllers/replicaset/).
## Design Docs
An archive of the design docs for Kubernetes functionality. Good starting points are [Kubernetes Architecture](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture.md) and [Kubernetes Design Overview](https://github.com/kubernetes/kubernetes/tree/{{page.fullversion}}/docs/design).

View File

@ -0,0 +1,92 @@
---
title: Kubernetes API Overview
assignees:
- bgrant0607
- erictune
- lavalamp
- jbeda
---
The REST API is the fundamental fabric of Kubernetes. All operations and
communications between components are REST API calls handled by the API Server,
including external user commands. Consequently, everything in the Kubernetes
platform is treated as an API object and has a corresponding entry in the
[API](/docs/api-reference/{{page.version}}/).
Most operations can be performed through the
[kubectl](/docs/user-guide/kubectl-overview/) command-line interface or other
command-line tools, such as [kubeadm](/docs/admin/kubeadm/), which in turn use
the API. However, the API can also be accessed directly using REST calls.
## API versioning
To make it easier to eliminate fields or restructure resource representations, Kubernetes supports
multiple API versions, each at a different API path, such as `/api/v1` or
`/apis/extensions/v1beta1`.
We chose to version at the API level rather than at the resource or field level to ensure that the API presents a clear, consistent view of system resources and behavior, and to enable controlling access to end-of-lifed and/or experimental APIs. The JSON and Protobuf serialization schemas follow the same guidelines for schema changes - all descriptions below cover both formats.
Note that API versioning and Software versioning are only indirectly related. The [API and release
versioning proposal](https://github.com/kubernetes/kubernetes/blob/{{page.githubbranch}}/docs/design/versioning.md) describes the relationship between API versioning and
software versioning.
Different API versions imply different levels of stability and support. The criteria for each level are described
in more detail in the [API Changes documentation](https://github.com/kubernetes/kubernetes/tree/{{page.githubbranch}}/docs/devel/api_changes.md#alpha-beta-and-stable-versions). They are summarized here:
- Alpha level:
- The version names contain `alpha` (e.g. `v1alpha1`).
- May be buggy. Enabling the feature may expose bugs. Disabled by default.
- Support for feature may be dropped at any time without notice.
- The API may change in incompatible ways in a later software release without notice.
- Recommended for use only in short-lived testing clusters, due to increased risk of bugs and lack of long-term support.
- Beta level:
- The version names contain `beta` (e.g. `v2beta3`).
- Code is well tested. Enabling the feature is considered safe. Enabled by default.
- Support for the overall feature will not be dropped, though details may change.
- The schema and/or semantics of objects may change in incompatible ways in a subsequent beta or stable release. When this happens,
we will provide instructions for migrating to the next version. This may require deleting, editing, and re-creating
API objects. The editing process may require some thought. This may require downtime for applications that rely on the feature.
- Recommended for only non-business-critical uses because of potential for incompatible changes in subsequent releases. If you have
multiple clusters which can be upgraded independently, you may be able to relax this restriction.
- **Please do try our beta features and give feedback on them! Once they exit beta, it may not be practical for us to make more changes.**
- Stable level:
- The version name is `vX` where `X` is an integer.
- Stable versions of features will appear in released software for many subsequent versions.
## API groups
To make it easier to extend the Kubernetes API, we implemented [*API groups*](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-group.md).
The API group is specified in a REST path and in the `apiVersion` field of a serialized object.
Currently there are several API groups in use:
1. the "core" (oftentimes called "legacy", due to not having explicit group name) group, which is at
REST path `/api/v1` and is not specified as part of the `apiVersion` field, e.g. `apiVersion: v1`.
1. the named groups are at REST path `/apis/$GROUP_NAME/$VERSION`, and use `apiVersion: $GROUP_NAME/$VERSION`
(e.g. `apiVersion: batch/v1`). Full list of supported API groups can be seen in [Kubernetes API reference](/docs/reference/).
There are two supported paths to extending the API.
1. [Third Party Resources](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/extending-api.md)
are for users with very basic CRUD needs.
1. Coming soon: users needing the full set of Kubernetes API semantics can implement their own apiserver
and use the [aggregator](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/aggregated-api-servers.md)
to make it seamless for clients.
## Enabling API groups
Certain resources and API groups are enabled by default. They can be enabled or disabled by setting `--runtime-config`
on apiserver. `--runtime-config` accepts comma separated values. For ex: to disable batch/v1, set
`--runtime-config=batch/v1=false`, to enable batch/v2alpha1, set `--runtime-config=batch/v2alpha1`.
The flag accepts comma separated set of key=value pairs describing runtime configuration of the apiserver.
IMPORTANT: Enabling or disabling groups or resources requires restarting apiserver and controller-manager
to pick up the `--runtime-config` changes.
## Enabling resources in the groups
DaemonSets, Deployments, HorizontalPodAutoscalers, Ingress, Jobs and ReplicaSets are enabled by default.
Other extensions resources can be enabled by setting `--runtime-config` on
apiserver. `--runtime-config` accepts comma separated values. For ex: to disable deployments and jobs, set
`--runtime-config=extensions/v1beta1/deployments=false,extensions/v1beta1/jobs=false`

View File

@ -1,4 +1,6 @@
---
title: extensions/v1beta1 Model Definitions
notitle: true
---
<!DOCTYPE html>
<html lang="en">

View File

@ -1,4 +1,6 @@
---
title: extensions/v1beta1 Operations
notitle: true
---
<!DOCTYPE html>
<html lang="en">

View File

@ -0,0 +1,17 @@
---
title: Federation API Reference
redirect_from:
- "/docs/federation/api-reference/"
- "/docs/federation/api-reference/index.md"
---
Federation API server supports the following group versions:
* federation/v1beta1: [operations](/docs/reference/federation/v1beta1/operations.html), [model definitions](/docs/reference/federation/v1beta1/definitions.html)
* v1: [operations](/docs/reference/federation/v1/operations.html), [model definitions](/docs/reference/federation/v1/definitions.html)
* extensions/v1beta1: [operations](/docs/reference/federation/extensions/v1beta1/operations.html), [model definitions](/docs/reference/federation/extensions/v1beta1/definitions.html)
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/federation/api-reference/README.md?pixel)]()
<!-- END MUNGE: GENERATED_ANALYTICS -->

View File

@ -1,4 +1,6 @@
---
title: v1 Model Definitions
notitle: true
---
<!DOCTYPE html>
<html lang="en">

View File

@ -1,4 +1,6 @@
---
title: v1 Operations
notitle: true
---
<!DOCTYPE html>
<html lang="en">

View File

@ -1,4 +1,6 @@
---
title: federation/v1beta1 Model Definitions
notitle: true
---
<!DOCTYPE html>
<html lang="en">

View File

@ -1,4 +1,6 @@
---
title: federation/v1beta1 Operations
notitle: true
---
<!DOCTYPE html>
<html lang="en">

39
docs/reference/index.md Normal file
View File

@ -0,0 +1,39 @@
---
title: Reference Documentation
assignees:
- chenopis
---
## API Reference
* [Kubernetes API Overview](/docs/reference/api-overview/) - Overview of the API for Kubernetes.
* Kubernetes API Versions
* [1.6](/docs/api-reference/v1.6/)
* [1.5](/docs/api-reference/v1.5/)
* Federation API
* [v1 Operations](docs/reference/federation/v1/operations.html)
* [v1 Model Definitions](docs/reference/federation/v1/definitions.html)
* [federation/v1beta1 Operations](docs/reference/federation/v1beta1/operations.html)
* [federation/v1beta1 Model Definitions](docs/reference/federation/v1beta1/definitions.html)
* [extensions/v1beta1 Operations](docs/reference/federation/extensions/v1beta1/operations.html)
* [extensions/v1beta1 Model Definitions](docs/reference/federation/extensions/v1beta1/definitions.html)
## CLI Reference
* [kubectl](/docs/user-guide/kubectl-overview) - Main CLI tool for running commands and managing Kubernetes clusters.
* [JSONPath](/docs/user-guide/jsonpath/) - Syntax guide for using [JSONPath expressions](http://goessner.net/articles/JsonPath/) with kubectl.
* [kubeadm](/docs/admin/kubeadm/) - CLI tool to
## Config Reference
* [kubelet](/docs/admin/kubelet/) - The primary *node agent* that runs on each node. The kubelet takes a set of PodSpecs and ensures that the described containers are running and healthy.
* [kube-apiserver](/docs/admin/kube-apiserver/) - REST API that validates and configures data for API objects such as pods, services, replication controllers.
* [kube-controller-manager](docs/admin/kube-controller-manager/) - Daemon that embeds the core control loops shipped with Kubernetes.
* [kube-proxy](/docs/admin/kube-proxy/) - Can do simple TCP/UDP stream forwarding or round-robin TCP/UDP forwarding across a set of back-ends.
* [kube-scheduler](/docs/admin/kube-scheduler/) - Scheduler that manages availability, performance, and capacity.
* [federation-apiserver](/docs/admin/federation-apiserver/) - API server for federated clusters.
* [federation-controller-manager](/docs/admin/federation-controller-manager/) - Daemon that embeds the core control loops shipped with Kubernetes federation.
## Design Docs
An archive of the design docs for Kubernetes functionality. Good starting points are [Kubernetes Architecture](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture.md) and [Kubernetes Design Overview](https://github.com/kubernetes/kubernetes/tree/{{page.fullversion}}/docs/design).

View File

@ -0,0 +1,113 @@
---
title: Well-Known Labels, Annotations and Taints
---
Kubernetes reserves all labels and annotations in the kubernetes.io namespace. This document describes
the well-known kubernetes.io labels and annotations.
This document serves both as a reference to the values, and as a coordination point for assigning values.
**Table of contents:**
<!-- BEGIN MUNGE: GENERATED_TOC -->
- [Well-Known Labels, Annotations and Taints](#well-known-labels-annotations-and-taints)
- [beta.kubernetes.io/arch](#betakubernetesioarch)
- [beta.kubernetes.io/os](#betakubernetesioos)
- [kubernetes.io/hostname](#kubernetesiohostname)
- [beta.kubernetes.io/instance-type](#betakubernetesioinstance-type)
- [failure-domain.beta.kubernetes.io/region](#failure-domainbetakubernetesioregion)
- [failure-domain.beta.kubernetes.io/zone](#failure-domainbetakubernetesiozone)
<!-- END MUNGE: GENERATED_TOC -->
## beta.kubernetes.io/arch
Example: `beta.kubernetes.io/arch=amd64`
Used on: Node
Kubelet populates this with `runtime.GOARCH` as defined by Go. This can be handy if you are mixing arm and x86 nodes,
for example.
## beta.kubernetes.io/os
Example: `beta.kubernetes.io/os=linux`
Used on: Node
Kubelet populates this with `runtime.GOOS` as defined by Go. This can be handy if you are mixing operating systems
in your cluster (although currently Linux is the only OS supported by Kubernetes).
## kubernetes.io/hostname
Example: `kubernetes.io/hostname=ip-172-20-114-199.ec2.internal`
Used on: Node
Kubelet populates this with the hostname. Note that the hostname can be changed from the "actual" hostname
by passing the `--hostname-override` flag to kubelet.
## beta.kubernetes.io/instance-type
Example: `beta.kubernetes.io/instance-type=m3.medium`
Used on: Node
Kubelet populates this with the instance type as defined by the `cloudprovider`. It will not be set if
not using a cloudprovider. This can be handy if you want to target certain workloads to certain instance
types, but typically you want to rely on the Kubernetes scheduler to perform resource-based scheduling,
and you should aim to schedule based on properties rather than on instance types (e.g. require a GPU, instead
of requiring a `g2.2xlarge`)
## failure-domain.beta.kubernetes.io/region
See [failure-domain.beta.kubernetes.io/zone](#failure-domainbetakubernetesiozone)
## failure-domain.beta.kubernetes.io/zone
Example:
`failure-domain.beta.kubernetes.io/region=us-east-1`
`failure-domain.beta.kubernetes.io/zone=us-east-1c`
Used on: Node, PersistentVolume
On the Node: Kubelet populates this with the zone information as defined by the `cloudprovider`. It will not be set if
not using a `cloudprovider`, but you should consider setting it on the nodes if it makes sense in your topology.
On the PersistentVolume: The `PersistentVolumeLabel` admission controller will automatically add zone labels to PersistentVolumes,
on GCE and AWS.
Kubernetes will automatically spread the pods in a replication controller or service across nodes in a single-zone
cluster (to reduce the impact of failures.) With multiple-zone clusters, this spreading behaviour is extended
across zones (to reduce the impact of zone failures.) This is achieved via SelectorSpreadPriority.
This is a best-effort placement, and so if the zones in your cluster are heterogeneous (e.g. different numbers of nodes,
different types of nodes, or different pod resource requirements), this might prevent equal spreading of
your pods across zones. If desired, you can use homogenous zones (same number and types of nodes) to reduce
the probability of unequal spreading.
The scheduler (via the VolumeZonePredicate predicate) will also ensure that pods that claim a given volume
are only placed into the same zone as that volume, as volumes cannot be attached across zones.
The actual values of zone and region don't matter, and nor is the meaning of the hierarchy rigidly defined. The expectation
is that failures of nodes in different zones should be uncorrelated unless the entire region has failed. For example,
zones should typically avoid sharing a single network switch. The exact mapping depends on your particular
infrastructure - a three-rack installation will choose a very different setup to a multi-datacenter configuration.
If `PersistentVolumeLabel` does not support automatic labeling of your PersistentVolumes, you should consider
adding the labels manually (or adding support to `PersistentVolumeLabel`), if you want the scheduler to prevent
pods from mounting volumes in a different zone. If your infrastructure doesn't have this constraint, you don't
need to add the zone labels to the volumes at all.
<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/api-reference/labels-annotations-taints.md?pixel)]()
<!-- END MUNGE: GENERATED_ANALYTICS -->

View File

@ -2,7 +2,7 @@
assignees:
- bgrant0607
- hw-qiaolei
title: kubectl Overview
title: Overview of kubectl
---
`kubectl` is a command line interface for running commands against Kubernetes clusters. This overview covers `kubectl` syntax, describes the command operations, and provides common examples. For details about each command, including all the supported flags and subcommands, see the [kubectl](/docs/user-guide/kubectl) reference documentation. For installation instructions see [installing kubectl](/docs/tasks/kubectl/install/).

View File

@ -1,138 +1,125 @@
# Put files you want to skip table of contents entry check here:
docs/admin/apparmor/index.md
docs/admin/audit.md
docs/admin/cluster-components.md
docs/admin/cluster-management.md
docs/admin/cluster-troubleshooting.md
docs/admin/daemons.md
docs/admin/disruptions.md
docs/admin/dns.md
docs/admin/federation/kubefed.md
docs/admin/index.md
docs/admin/kubelet-authentication-authorization.md
docs/admin/kubelet-tls-bootstrapping.md
docs/admin/limitrange/index.md
docs/admin/master-node-communication.md
docs/admin/multi-cluster.md
docs/admin/multiple-schedulers.md
docs/admin/network-plugins.md
docs/admin/networking.md
docs/admin/node-problem.md
docs/admin/node.md
docs/admin/out-of-resource.md
docs/admin/rescheduler.md
docs/admin/resourcequota/index.md
docs/admin/resourcequota/limitstorageconsumption.md
docs/admin/resourcequota/walkthrough.md
docs/admin/static-pods.md
docs/admin/sysctls.md
docs/api-reference/labels-annotations-taints.md
docs/concepts/abstractions/pod-termination.md
docs/contribute/README.md
docs/contribute/create-pull-request.md
docs/contribute/page-templates.md
docs/contribute/review-issues.md
docs/contribute/stage-documentation-changes.md
docs/contribute/style-guide.md
docs/contribute/write-new-topic.md
docs/deprecation-policy.md
docs/federation/api-reference/index.md
docs/getting-started-guides/kubectl.md
docs/home/deprecation-policy.md
docs/home/security.md
docs/search.md
docs/sitemap.md
docs/user-guide/pods/_viewing-a-pod.md
docs/user-guide/simple-yaml.md
docs/user-guide/walkthrough/index.md
docs/user-guide/walkthrough/k8s201.md
docs/user-guide/logging-demo/README.md
docs/user-guide/downward-api/README.md
docs/user-guide/accessing-the-cluster.md
docs/user-guide/annotations.md
docs/user-guide/application-troubleshooting.md
docs/user-guide/compute-resources.md
docs/user-guide/config-best-practices.md
docs/user-guide/configmap/README.md
docs/concepts/abstractions/pod-termination.md
docs/user-guide/pods/init-container.md
docs/user-guide/pod-states.md
docs/user-guide/connecting-applications.md
docs/user-guide/connecting-to-applications-port-forward.md
docs/user-guide/connecting-to-applications-proxy.md
docs/user-guide/container-environment.md
docs/user-guide/debugging-pods-and-replication-controllers.md
docs/user-guide/debugging-services.md
docs/user-guide/deployments.md
docs/user-guide/downward-api/README.md
docs/user-guide/downward-api/index.md
docs/user-guide/downward-api/volume/index.md
docs/user-guide/getting-into-containers.md
docs/user-guide/accessing-the-cluster.md
docs/user-guide/working-with-resources.md
docs/user-guide/garbage-collection.md
docs/user-guide/services/operations.md
docs/user-guide/load-balancer.md
docs/user-guide/services-firewalls.md
docs/user-guide/federation/federated-services.md
docs/user-guide/pods/multi-container.md
docs/user-guide/environment-guide/index.md
docs/user-guide/compute-resources.md
docs/user-guide/petset/bootstrapping/index.md
docs/user-guide/monitoring.md
docs/user-guide/logging/overview.md
docs/user-guide/logging/stackdriver.md
docs/user-guide/logging/elasticsearch.md
docs/user-guide/connecting-to-applications-proxy.md
docs/user-guide/connecting-to-applications-port-forward.md
docs/admin/audit.md
docs/admin/disruptions.md
docs/admin/resourcequota/index.md
docs/admin/resourcequota/walkthrough.md
docs/admin/resourcequota/limitstorageconsumption.md
docs/admin/rescheduler.md
docs/admin/sysctls.md
docs/admin/cluster-components.md
docs/admin/multi-cluster.md
docs/admin/networking.md
docs/admin/dns.md
docs/admin/network-plugins.md
docs/admin/static-pods.md
docs/admin/out-of-resource.md
docs/admin/node-problem.md
docs/admin/apparmor/index.md
docs/user-guide/federation/configmap.md
docs/user-guide/federation/daemonsets.md
docs/user-guide/federation/deployment.md
docs/user-guide/federation/events.md
docs/user-guide/federation/federated-ingress.md
docs/user-guide/federation/federated-services.md
docs/user-guide/federation/index.md
docs/user-guide/federation/namespaces.md
docs/user-guide/federation/replicasets.md
docs/user-guide/federation/secrets.md
docs/home/security.md
docs/deprecation-policy.md
docs/home/deprecation-policy.md
docs/whatisk8s.md
docs/contribute/README.md
docs/getting-started-guides/kubectl.md
docs/user-guide/sharing-clusters.md
docs/user-guide/kubeconfig-file.md
docs/user-guide/prereqs.md
docs/user-guide/managing-deployments.md
docs/user-guide/replication-controller/operations.md
docs/user-guide/resizing-a-replication-controller.md
docs/user-guide/rolling-updates.md
docs/user-guide/update-demo/index.md
docs/user-guide/garbage-collection.md
docs/user-guide/getting-into-containers.md
docs/user-guide/horizontal-pod-autoscaling/index.md
docs/user-guide/identifiers.md
docs/user-guide/images.md
docs/user-guide/ingress.md
docs/user-guide/introspection-and-debugging.md
docs/user-guide/jobs.md
docs/user-guide/jobs/work-queue-1/index.md
docs/user-guide/jobs/work-queue-2/index.md
docs/user-guide/container-environment.md
docs/user-guide/images.md
docs/user-guide/volumes.md
docs/user-guide/node-selection/index.md
docs/user-guide/config-best-practices.md
docs/user-guide/connecting-applications.md
docs/user-guide/pod-templates.md
docs/user-guide/persistent-volumes/index.md
docs/admin/index.md
docs/admin/cluster-management.md
docs/admin/limitrange/index.md
docs/admin/multiple-schedulers.md
docs/admin/master-node-communication.md
docs/admin/federation/kubefed.md
docs/user-guide/federation/index.md
docs/user-guide/debugging-pods-and-replication-controllers.md
docs/user-guide/introspection-and-debugging.md
docs/user-guide/application-troubleshooting.md
docs/admin/cluster-troubleshooting.md
docs/user-guide/debugging-services.md
docs/contribute/create-pull-request.md
docs/contribute/write-new-topic.md
docs/contribute/stage-documentation-changes.md
docs/contribute/page-templates.md
docs/contribute/review-issues.md
docs/contribute/style-guide.md
docs/admin/daemons.md
docs/user-guide/deployments.md
docs/user-guide/replicasets.md
docs/user-guide/replication-controller/index.md
docs/user-guide/ingress.md
docs/user-guide/kubeconfig-file.md
docs/user-guide/load-balancer.md
docs/user-guide/logging-demo/README.md
docs/user-guide/logging/elasticsearch.md
docs/user-guide/logging/overview.md
docs/user-guide/logging/stackdriver.md
docs/user-guide/managing-deployments.md
docs/user-guide/monitoring.md
docs/user-guide/namespaces.md
docs/user-guide/identifiers.md
docs/user-guide/networkpolicies.md
docs/admin/node.md
docs/user-guide/node-selection/index.md
docs/user-guide/persistent-volumes/index.md
docs/user-guide/petset.md
docs/user-guide/pods/index.md
docs/user-guide/replication-controller/index.md
docs/user-guide/secrets/index.md
docs/user-guide/security-context.md
docs/user-guide/services/index.md
docs/user-guide/service-accounts.md
docs/user-guide/thirdpartyresources.md
docs/user-guide/petset/bootstrapping/index.md
docs/user-guide/pod-preset/index.md
docs/user-guide/pod-security-policy/index.md
docs/user-guide/horizontal-pod-autoscaling/index.md
docs/user-guide/annotations.md
docs/user-guide/pod-states.md
docs/user-guide/pod-templates.md
docs/user-guide/pods/_viewing-a-pod.md
docs/user-guide/pods/index.md
docs/user-guide/pods/init-container.md
docs/user-guide/pods/multi-container.md
docs/user-guide/prereqs.md
docs/user-guide/replicasets.md
docs/user-guide/replication-controller/index.md
docs/user-guide/replication-controller/index.md
docs/user-guide/replication-controller/operations.md
docs/user-guide/resizing-a-replication-controller.md
docs/user-guide/rolling-updates.md
docs/user-guide/secrets/index.md
docs/user-guide/security-context.md
docs/user-guide/service-accounts.md
docs/user-guide/services-firewalls.md
docs/user-guide/services/index.md
docs/user-guide/services/operations.md
docs/user-guide/sharing-clusters.md
docs/user-guide/simple-yaml.md
docs/user-guide/thirdpartyresources.md
docs/user-guide/update-demo/index.md
docs/user-guide/volumes.md
docs/user-guide/walkthrough/index.md
docs/user-guide/walkthrough/k8s201.md
docs/user-guide/working-with-resources.md
docs/whatisk8s.md