Update docs on labels and annotations (#11719)

Be clearer about character set and a couple minor tweaks on words.
This commit is contained in:
Tim Hockin
2018-12-19 22:39:39 -08:00
committed by Kubernetes Prow Robot
parent 8378cab0eb
commit 701ebb2474
2 changed files with 23 additions and 9 deletions
@@ -53,11 +53,22 @@ Here are some examples of information that could be recorded in annotations:
* Phone or pager numbers of persons responsible, or directory entries that
specify where that information can be found, such as a team web site.
* Directives from the end-user to the implementations to modify behavior or
engage non-standard features.
Instead of using annotations, you could store this type of information in an
external database or directory, but that would make it much harder to produce
shared client libraries and tools for deployment, management, introspection,
and the like.
## Syntax and character set
_Annotations_ are key/value pairs. Valid annotation keys have two segments: an optional prefix and name, separated by a slash (`/`). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character (`[a-z0-9A-Z]`) with dashes (`-`), underscores (`_`), dots (`.`), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (`.`), not longer than 253 characters in total, followed by a slash (`/`).
If the prefix is omitted, the annotation Key is presumed to be private to the user. Automated system components (e.g. `kube-scheduler`, `kube-controller-manager`, `kube-apiserver`, `kubectl`, or other third-party automation) which add annotations to end-user objects must specify a prefix.
The `kubernetes.io/` and `k8s.io/` prefixes are reserved for Kubernetes core components.
{{% /capture %}}
{{% capture whatsnext %}}