|
| 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