Skip to content

Commit 5c3498a

Browse files
committed
Start docs for updating generated reference pages.
1 parent 3df0f3c commit 5c3498a

File tree

2 files changed

+149
-0
lines changed

2 files changed

+149
-0
lines changed

_data/docs-home.yml

+4
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,7 @@ toc:
2020
- docs/home/contribute/review-issues.md
2121
- docs/home/contribute/style-guide.md
2222
- docs/home/contribute/includes.md
23+
24+
- title: Updating Automatically Generated Reference Pages
25+
section:
26+
- docs/home/contribute/generated-reference/kubernetes-components.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
---
2+
title: Updating Reference Pages for Kubernetes Components
3+
---
4+
5+
{% capture overview %}
6+
7+
This page shows how to
8+
9+
{% endcapture %}
10+
11+
12+
{% capture prerequisites %}
13+
14+
* You need to have
15+
[Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
16+
installed.
17+
18+
* You need to have
19+
[Golang](https://golang.org/doc/install) version 1.8 or later installed,
20+
and your `$GOPATH` environment variable must be set.
21+
22+
{% endcapture %}
23+
24+
25+
{% capture steps %}
26+
27+
## TODO
28+
29+
If you don't already have the Kubernetes source code, get it now:
30+
31+
```shell
32+
mkdir $GOPATH/src
33+
cd $GOPATH/src
34+
go get github.com/kubernetes/kubernetes
35+
```
36+
37+
Determine the base directory of your clone of the
38+
[kubernetes/kubernetes](https://github.com/kubernetes/kubernetes) repository.
39+
For example, if you followed the preceding step to get the Kubernetes source
40+
code, you base directory is `$GOPATH/src/github.com/kubernetes/kubernetes.`
41+
The remaining steps refer to your base directory as `<k8s-base>`.
42+
43+
Run the doc generation script:
44+
45+
```shell
46+
cd <k8s-base>
47+
hack/generate-docs.sh
48+
```
49+
50+
The script calls these Golang programs to generate several sets of reference docs:
51+
52+
* [gen_kubectl_docs.go](https://github.com/kubernetes/kubernetes/blob/master/cmd/gendocs/gen_kubectl_docs.go)
53+
* [gen_kube_docs.go](https://github.com/kubernetes/kubernetes/blob/master/cmd/genkubedocs/gen_kube_docs.go)
54+
* [gen_kube_man.go](https://github.com/kubernetes/kubernetes/blob/master/cmd/genman/gen_kube_man.go)
55+
* [gen_kubectl_yaml.go](https://github.com/kubernetes/kubernetes/blob/master/cmd/genyaml/gen_kubectl_yaml.go)
56+
57+
### gen_kubectl_docs.go
58+
59+
The code at `<k8s-base>/cmd/gendocs/gen_kubectl_docs.go` generates reference
60+
pages for the `kubectl` commands. It places Markdown files in
61+
`<k8s-base>`/docs/user-guide/kubectl`.
62+
63+
* kubectl_create.md
64+
* kubectl_apply.md
65+
* kubectl_describe.md
66+
* ... (many more)
67+
68+
These files are not published at
69+
[kubernetes.io](/docs/home).
70+
Instead, the `kubectl` commands are published as
71+
[one large page](https://kubernetes.io/docs/user-guide/kubectl/{{page.version}}/)
72+
that is generated by code at
73+
[kubernetes-incubator/reference-docs/gen-kubectldocs](https://github.com/kubernetes-incubator/reference-docs/tree/master/gen-kubectldocs).
74+
75+
**Note** This set of files contains documents for the `kubectl` commands, like
76+
`kubectl create`, but it does not include a document for the
77+
[kubectl options page](https://kubernetes.io/docs/user-guide/kubectl/).
78+
{: note}
79+
80+
### gen_kube_docs.go
81+
82+
The code at `<k8s-base>/cmd/genkubedocs/gen_kube_docs.go` generates reference
83+
pages for several Kubernetes components. It places Markdown files in `<k8s-base>/docs/admin>`.
84+
85+
* cloud-controller-manager.md
86+
* kube-apiserver.md
87+
* kube-controller-manager.md
88+
* kubelet.md
89+
* kube-proxy.md
90+
* kube-scheduler.md
91+
* kubeadm.md
92+
* kubeadm_xxx.md (many)
93+
94+
These files are published at
95+
[kubernetes.io/docs/reference](/docs/reference/).
96+
Example: [kube-api-server](/docs/reference/generated/kube-apiserver/).
97+
98+
The `kubeadm_xxx.md` files are not published directly. Instead, they
99+
are included in manually created topics like
100+
[kubeadm join]().
101+
102+
### gen_kube_man.go
103+
104+
The code at `<k8s-base>/cmd/genman/gen_kube_man.go generates reference
105+
pages for Kubernetes components, `kubectl` commands, and `kubadm`. It places
106+
man pages in `<k8s-base>/docs/man/man1`.
107+
108+
* cloud-controller-manager.1
109+
* kube-apiserver.1
110+
* kube-controller-manager.1
111+
* kubelet.1
112+
* kube-proxy.1
113+
* kube-scheduler.1
114+
* kubeadm.1
115+
* kubeadm-xxx.1 (many)
116+
* kubectl-xxx.1 (many)
117+
118+
These files are published at [manpages.org](http://manpages.org).
119+
Example: [kube-controller-manager](http://manpages.org/kube-controller-manager).
120+
121+
The `kubeadm-xxx.1` files are not published directly.
122+
123+
Some of these files are also published at [rpm.phone.net](http://rpm.phone.net).
124+
Example: [kubectl-create](http://rpm.pbone.net/index.php3/stat/45/idpl/30415699/numer/1/nazwa/kubectl-create).
125+
126+
### gen_kubectl_yaml
127+
128+
The code at `<k8s-base>/cmd/genyaml/gen_kubectl_yaml` generates reference
129+
pages for the `kubectl` commands. It places YAML files in `<k8s-base>/docs/yaml/kubectl`.
130+
131+
* kubectl_create.yaml
132+
* kubectl_apply.yaml
133+
* kubectl_describe.yaml
134+
* ... (many more)
135+
136+
{% endcapture %}
137+
138+
{% capture whatsnext %}
139+
140+
Generating the kubectl reference docs
141+
142+
{% endcapture %}
143+
144+
145+
{% include templates/task.md %}

0 commit comments

Comments
 (0)