Skip to content

Commit 31730ce

Browse files
committed
Use inline links when possible
This is in prep for link checker. By using inline links everywhere, we: - reduce the risk of dangling, missing, unused links as you can see from the PR; - simplify the link checker logic (under development).
1 parent 896034c commit 31730ce

File tree

8 files changed

+75
-126
lines changed

8 files changed

+75
-126
lines changed

content/en/docs/concepts/cluster-administration/logging.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ and the former approach is used in any other environment. In both cases, by
8282
default rotation is configured to take place when log file exceeds 10MB.
8383

8484
As an example, you can find detailed information about how `kube-up.sh` sets
85-
up logging for COS image on GCP in the corresponding [script][cosConfigureHelper].
85+
up logging for COS image on GCP in the corresponding
86+
[script](https://github.com/kubernetes/kubernetes/blob/{{< param "githubbranch" >}}/cluster/gce/gci/configure-helper.sh)
8687

8788
When you run [`kubectl logs`](/docs/reference/generated/kubectl/kubectl-commands#logs) as in
8889
the basic logging example, the kubelet on the node handles the request and
@@ -96,8 +97,6 @@ the rotation and there are two files, one 10MB in size and one empty,
9697
`kubectl logs` will return an empty response.
9798
{{< /note >}}
9899

99-
[cosConfigureHelper]: https://github.com/kubernetes/kubernetes/blob/{{< param "githubbranch" >}}/cluster/gce/gci/configure-helper.sh
100-
101100
### System component logs
102101

103102
There are two types of system components: those that run in a container and those
@@ -109,7 +108,7 @@ that do not run in a container. For example:
109108
On machines with systemd, the kubelet and container runtime write to journald. If
110109
systemd is not present, they write to `.log` files in the `/var/log` directory.
111110
System components inside containers always write to the `/var/log` directory,
112-
bypassing the default logging mechanism. They use the [klog][klog]
111+
bypassing the default logging mechanism. They use the [klog](https://github.com/kubernetes/klog)
113112
logging library. You can find the conventions for logging severity for those
114113
components in the [development docs on logging](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-instrumentation/logging.md).
115114

@@ -118,8 +117,6 @@ directory should be rotated. In Kubernetes clusters brought up by
118117
the `kube-up.sh` script, those logs are configured to be rotated by
119118
the `logrotate` tool daily or once the size exceeds 100MB.
120119

121-
[klog]: https://github.com/kubernetes/klog
122-
123120
## Cluster-level logging architectures
124121

125122
While Kubernetes does not provide a native solution for cluster-level logging, there are several common approaches you can consider. Here are some options:

content/en/docs/concepts/containers/runtime-class.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,7 @@ table](https://github.com/cri-o/cri-o/blob/master/docs/crio.conf.5.md#crioruntim
138138
runtime_path = "${PATH_TO_BINARY}"
139139
```
140140
141-
See CRI-O's [config documentation][100] for more details.
142-
143-
[100]: https://raw.githubusercontent.com/cri-o/cri-o/9f11d1d/docs/crio.conf.5.md
141+
See CRI-O's [config documentation](https://raw.githubusercontent.com/cri-o/cri-o/9f11d1d/docs/crio.conf.5.md) for more details.
144142
145143
## Scheduling
146144
@@ -149,7 +147,8 @@ See CRI-O's [config documentation][100] for more details.
149147
As of Kubernetes v1.16, RuntimeClass includes support for heterogenous clusters through its
150148
`scheduling` fields. Through the use of these fields, you can ensure that pods running with this
151149
RuntimeClass are scheduled to nodes that support it. To use the scheduling support, you must have
152-
the [RuntimeClass admission controller][] enabled (the default, as of 1.16).
150+
the [RuntimeClass admission controller](/docs/reference/access-authn-authz/admission-controllers/#runtimeclass)
151+
enabled (the default, as of 1.16).
153152
154153
To ensure pods land on nodes supporting a specific RuntimeClass, that set of nodes should have a
155154
common label which is then selected by the `runtimeclass.scheduling.nodeSelector` field. The
@@ -165,8 +164,6 @@ by each.
165164
To learn more about configuring the node selector and tolerations, see [Assigning Pods to
166165
Nodes](/docs/concepts/scheduling-eviction/assign-pod-node/).
167166
168-
[RuntimeClass admission controller]: /docs/reference/access-authn-authz/admission-controllers/#runtimeclass
169-
170167
### Pod Overhead
171168
172169
{{< feature-state for_k8s_version="v1.18" state="beta" >}}

content/en/docs/setup/best-practices/certificates.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Kubernetes requires PKI for the following operations:
2828
* Client certificate for the API server to talk to etcd
2929
* Client certificate/kubeconfig for the controller manager to talk to the API server
3030
* Client certificate/kubeconfig for the scheduler to talk to the API server.
31-
* Client and server certificates for the [front-proxy][proxy]
31+
* Client and server certificates for the [front-proxy](/docs/tasks/extend-kubernetes/configure-aggregation-layer/)
3232

3333
{{< note >}}
3434
`front-proxy` certificates are required only if you run kube-proxy to support [an extension API server](/docs/tasks/extend-kubernetes/setup-extension-api-server/).
@@ -54,7 +54,7 @@ Required CAs:
5454
|------------------------|---------------------------|----------------------------------|
5555
| ca.crt,key | kubernetes-ca | Kubernetes general CA |
5656
| etcd/ca.crt,key | etcd-ca | For all etcd-related functions |
57-
| front-proxy-ca.crt,key | kubernetes-front-proxy-ca | For the [front-end proxy][proxy] |
57+
| front-proxy-ca.crt,key | kubernetes-front-proxy-ca | For the [front-end proxy](/docs/tasks/extend-kubernetes/configure-aggregation-layer/) |
5858

5959
On top of the above CAs, it is also necessary to get a public/private key pair for service account management, `sa.key` and `sa.pub`.
6060

@@ -74,10 +74,11 @@ Required certificates:
7474
| kube-apiserver-kubelet-client | kubernetes-ca | system:masters | client | |
7575
| front-proxy-client | kubernetes-front-proxy-ca | | client | |
7676

77-
[1]: any other IP or DNS name you contact your cluster on (as used by [kubeadm][kubeadm] the load balancer stable IP and/or DNS name, `kubernetes`, `kubernetes.default`, `kubernetes.default.svc`,
77+
[1]: any other IP or DNS name you contact your cluster on (as used by [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/)
78+
the load balancer stable IP and/or DNS name, `kubernetes`, `kubernetes.default`, `kubernetes.default.svc`,
7879
`kubernetes.default.svc.cluster`, `kubernetes.default.svc.cluster.local`)
7980

80-
where `kind` maps to one or more of the [x509 key usage][usage] types:
81+
where `kind` maps to one or more of the [x509 key usage](https://godoc.org/k8s.io/api/certificates/v1beta1#KeyUsage) types:
8182

8283
| kind | Key usage |
8384
|--------|---------------------------------------------------------------------------------|
@@ -99,7 +100,8 @@ For kubeadm users only:
99100

100101
### Certificate paths
101102

102-
Certificates should be placed in a recommended path (as used by [kubeadm][kubeadm]). Paths should be specified using the given argument regardless of location.
103+
Certificates should be placed in a recommended path (as used by [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/)).
104+
Paths should be specified using the given argument regardless of location.
103105

104106
| Default CN | recommended key path | recommended cert path | command | key argument | cert argument |
105107
|------------------------------|------------------------------|-----------------------------|----------------|------------------------------|-------------------------------------------|
@@ -160,8 +162,4 @@ These files are used as follows:
160162
| controller-manager.conf | kube-controller-manager | Must be added to manifest in `manifests/kube-controller-manager.yaml` |
161163
| scheduler.conf | kube-scheduler | Must be added to manifest in `manifests/kube-scheduler.yaml` |
162164

163-
[usage]: https://godoc.org/k8s.io/api/certificates/v1beta1#KeyUsage
164-
[kubeadm]: /docs/reference/setup-tools/kubeadm/kubeadm/
165-
[proxy]: /docs/tasks/extend-kubernetes/configure-aggregation-layer/
166-
167165

content/en/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,15 @@ becoming unavailable. This task walks through the process of creating a high
2323
availability etcd cluster of three members that can be used as an external etcd
2424
when using kubeadm to set up a kubernetes cluster.
2525

26-
27-
2826
## {{% heading "prerequisites" %}}
2927

30-
3128
* Three hosts that can talk to each other over ports 2379 and 2380. This
3229
document assumes these default ports. However, they are configurable through
3330
the kubeadm config file.
34-
* Each host must [have docker, kubelet, and kubeadm installed][toolbox].
31+
* Each host must [have docker, kubelet, and kubeadm installed](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/).
3532
* Some infrastructure to copy files between hosts. For example `ssh` and `scp`
3633
can satisfy this requirement.
3734

38-
[toolbox]: /docs/setup/production-environment/tools/kubeadm/install-kubeadm/
39-
40-
41-
4235
<!-- steps -->
4336

4437
## Setting up the cluster

content/en/docs/setup/release/notes.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,9 @@ filename | sha512 hash
6363
## Changelog since v1.17.0
6464

6565
A complete changelog for the release notes is now hosted in a customizable
66-
format at [https://relnotes.k8s.io][1]. Check it out and please give us your
66+
format at [https://relnotes.k8s.io](https://relnotes.k8s.io/?releaseVersions=1.18.0). Check it out and please give us your
6767
feedback!
6868

69-
[1]: https://relnotes.k8s.io/?releaseVersions=1.18.0
70-
7169
## What’s New (Major Themes)
7270

7371
### Kubernetes Topology Manager Moves to Beta - Align Up!

content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md

Lines changed: 20 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,11 @@ weight: 10
1212

1313
Client certificates generated by [kubeadm](/docs/reference/setup-tools/kubeadm/kubeadm/) expire after 1 year. This page explains how to manage certificate renewals with kubeadm.
1414

15-
16-
1715
## {{% heading "prerequisites" %}}
1816

1917

2018
You should be familiar with [PKI certificates and requirements in Kubernetes](/docs/setup/best-practices/certificates/).
2119

22-
23-
2420
<!-- steps -->
2521

2622
## Using custom certificates {#custom-certificates}
@@ -155,33 +151,29 @@ These are advanced topics for users who need to integrate their organization's c
155151
### Set up a signer
156152

157153
The Kubernetes Certificate Authority does not work out of the box.
158-
You can configure an external signer such as [cert-manager][cert-manager-issuer], or you can use the built-in signer.
154+
You can configure an external signer such as [cert-manager](https://docs.cert-manager.io/en/latest/tasks/issuers/setup-ca.html), or you can use the built-in signer.
159155

160-
The built-in signer is part of [`kube-controller-manager`][kcm].
156+
The built-in signer is part of [`kube-controller-manager`](/docs/reference/command-line-tools-reference/kube-controller-manager/).
161157

162158
To activate the built-in signer, you must pass the `--cluster-signing-cert-file` and `--cluster-signing-key-file` flags.
163159

164-
If you're creating a new cluster, you can use a kubeadm [configuration file][config]:
160+
If you're creating a new cluster, you can use a kubeadm [configuration file](https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2):
165161

166-
```yaml
167-
apiVersion: kubeadm.k8s.io/v1beta2
168-
kind: ClusterConfiguration
169-
controllerManager:
170-
extraArgs:
171-
cluster-signing-cert-file: /etc/kubernetes/pki/ca.crt
172-
cluster-signing-key-file: /etc/kubernetes/pki/ca.key
173-
```
174-
175-
[cert-manager-issuer]: https://docs.cert-manager.io/en/latest/tasks/issuers/setup-ca.html
176-
[kcm]: /docs/reference/command-line-tools-reference/kube-controller-manager/
177-
[config]: https://godoc.org/k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2
162+
```yaml
163+
apiVersion: kubeadm.k8s.io/v1beta2
164+
kind: ClusterConfiguration
165+
controllerManager:
166+
extraArgs:
167+
cluster-signing-cert-file: /etc/kubernetes/pki/ca.crt
168+
cluster-signing-key-file: /etc/kubernetes/pki/ca.key
169+
```
178170

179171
### Create certificate signing requests (CSR)
180172

181173
You can create the certificate signing requests for the Kubernetes certificates API with `kubeadm alpha certs renew --use-api`.
182174

183-
If you set up an external signer such as [cert-manager][cert-manager], certificate signing requests (CSRs) are automatically approved.
184-
Otherwise, you must manually approve certificates with the [`kubectl certificate`][certs] command.
175+
If you set up an external signer such as [cert-manager](https://github.com/jetstack/cert-manager), certificate signing requests (CSRs) are automatically approved.
176+
Otherwise, you must manually approve certificates with the [`kubectl certificate`](/docs/setup/best-practices/certificates/) command.
185177
The following kubeadm command outputs the name of the certificate to approve, then blocks and waits for approval to occur:
186178

187179
```shell
@@ -197,7 +189,7 @@ The output is similar to this:
197189

198190
If you set up an external signer, certificate signing requests (CSRs) are automatically approved.
199191

200-
Otherwise, you must manually approve certificates with the [`kubectl certificate`][certs] command. e.g.
192+
Otherwise, you must manually approve certificates with the [`kubectl certificate`](/docs/setup/best-practices/certificates/) command. e.g.
201193

202194
```shell
203195
kubectl certificate approve kubeadm-cert-kube-apiserver-ld526
@@ -229,20 +221,16 @@ Certificates can be renewed with `kubeadm alpha certs renew --csr-only`.
229221
As with `kubeadm init`, an output directory can be specified with the `--csr-dir` flag.
230222

231223
A CSR contains a certificate's name, domains, and IPs, but it does not specify usages.
232-
It is the responsibility of the CA to specify [the correct cert usages][cert-table] when issuing a certificate.
224+
It is the responsibility of the CA to specify [the correct cert usages](/docs/setup/best-practices/certificates/#all-certificates)
225+
when issuing a certificate.
233226

234-
* In `openssl` this is done with the [`openssl ca` command][openssl-ca].
235-
* In `cfssl` you specify [usages in the config file][cfssl-usages]
227+
* In `openssl` this is done with the
228+
[`openssl ca` command](https://superuser.com/questions/738612/openssl-ca-keyusage-extension).
229+
* In `cfssl` you specify
230+
[usages in the config file](https://github.com/cloudflare/cfssl/blob/master/doc/cmd/cfssl.txt#L170).
236231

237232
After a certificate is signed using your preferred method, the certificate and the private key must be copied to the PKI directory (by default `/etc/kubernetes/pki`).
238233

239-
[cert-manager]: https://github.com/jetstack/cert-manager
240-
[openssl-ca]: https://superuser.com/questions/738612/openssl-ca-keyusage-extension
241-
[cfssl-usages]: https://github.com/cloudflare/cfssl/blob/master/doc/cmd/cfssl.txt#L170
242-
[certs]: /docs/setup/best-practices/certificates/
243-
[cert-cas]: /docs/setup/best-practices/certificates/#single-root-ca
244-
[cert-table]: /docs/setup/best-practices/certificates/#all-certificates
245-
246234
## Certificate authority (CA) rotation {#certificate-authority-rotation}
247235

248236
Kubeadm does not support rotation or replacement of CA certificates out of the box.

0 commit comments

Comments
 (0)