Skip to content

Commit 1abcb52

Browse files
authored
Merge pull request #38276 from tengqm/fix-links
Fix nits in markdown links
2 parents de797c9 + a437285 commit 1abcb52

File tree

11 files changed

+52
-52
lines changed

11 files changed

+52
-52
lines changed

content/en/docs/concepts/security/api-server-bypass-risks.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ The Kubernetes API server is the main point of entry to a cluster for external p
1212
(users and services) interacting with it.
1313

1414
As part of this role, the API server has several key built-in security controls, such as
15-
audit logging and {{< glossary_tooltip text="admission controllers" term_id="admission-controller" >}}. However, there are ways to modify the configuration
15+
audit logging and {{< glossary_tooltip text="admission controllers" term_id="admission-controller" >}}.
16+
However, there are ways to modify the configuration
1617
or content of the cluster that bypass these controls.
1718

1819
This page describes the ways in which the security controls built into the
@@ -65,7 +66,8 @@ every container running on the node.
6566

6667
When Kubernetes cluster users have RBAC access to `Node` object sub-resources, that access
6768
serves as authorization to interact with the kubelet API. The exact access depends on
68-
which sub-resource access has been granted, as detailed in [kubelet authorization](https://kubernetes.io/docs/reference/access-authn-authz/kubelet-authn-authz/#kubelet-authorization).
69+
which sub-resource access has been granted, as detailed in
70+
[kubelet authorization](/docs/reference/access-authn-authz/kubelet-authn-authz/#kubelet-authorization).
6971

7072
Direct access to the kubelet API is not subject to admission control and is not logged
7173
by Kubernetes audit logging. An attacker with direct access to this API may be able to
@@ -80,11 +82,12 @@ The default anonymous access doesn't make this assertion with the control plane.
8082
### Mitigations
8183

8284
- Restrict access to sub-resources of the `nodes` API object using mechanisms such as
83-
[RBAC](/docs/reference/access-authn-authz/rbac/). Only grant this access when required,
84-
such as by monitoring services.
85+
[RBAC](/docs/reference/access-authn-authz/rbac/). Only grant this access when required,
86+
such as by monitoring services.
8587
- Restrict access to the kubelet port. Only allow specified and trusted IP address
86-
ranges to access the port.
87-
- [Ensure that kubelet authentication is set to webhook or certificate mode](/docs/reference/access-authn-authz/kubelet-authn-authz/#kubelet-authentication).
88+
ranges to access the port.
89+
- Ensure that [kubelet authentication](/docs/reference/access-authn-authz/kubelet-authn-authz/#kubelet-authentication).
90+
is set to webhook or certificate mode.
8891
- Ensure that the unauthenticated "read-only" Kubelet port is not enabled on the cluster.
8992

9093
## The etcd API

content/en/docs/concepts/storage/volumes.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,8 @@ You must configure FC SAN Zoning to allocate and mask those LUNs (volumes) to th
388388
beforehand so that Kubernetes hosts can access them.
389389
{{< /note >}}
390390

391-
See the [fibre channel example](https://github.com/kubernetes/examples/tree/master/staging/volumes/fibre_channel) for more details.
391+
See the [fibre channel example](https://github.com/kubernetes/examples/tree/master/staging/volumes/fibre_channel)
392+
for more details.
392393

393394
### gcePersistentDisk (deprecated) {#gcepersistentdisk}
394395

@@ -515,7 +516,9 @@ and the kubelet, set the `InTreePluginGCEUnregister` flag to `true`.
515516
### gitRepo (deprecated) {#gitrepo}
516517

517518
{{< warning >}}
518-
The `gitRepo` volume type is deprecated. To provision a container with a git repo, mount an [EmptyDir](#emptydir) into an InitContainer that clones the repo using git, then mount the [EmptyDir](#emptydir) into the Pod's container.
519+
The `gitRepo` volume type is deprecated. To provision a container with a git repo, mount an
520+
[EmptyDir](#emptydir) into an InitContainer that clones the repo using git, then mount the
521+
[EmptyDir](#emptydir) into the Pod's container.
519522
{{< /warning >}}
520523

521524
A `gitRepo` volume is an example of a volume plugin. This plugin
@@ -785,10 +788,13 @@ spec:
785788
{{< note >}}
786789
You must have your own NFS server running with the share exported before you can use it.
787790

788-
Also note that you can't specify NFS mount options in a Pod spec. You can either set mount options server-side or use [/etc/nfsmount.conf](https://man7.org/linux/man-pages/man5/nfsmount.conf.5.html). You can also mount NFS volumes via PersistentVolumes which do allow you to set mount options.
791+
Also note that you can't specify NFS mount options in a Pod spec. You can either set mount options server-side or
792+
use [/etc/nfsmount.conf](https://man7.org/linux/man-pages/man5/nfsmount.conf.5.html).
793+
You can also mount NFS volumes via PersistentVolumes which do allow you to set mount options.
789794
{{< /note >}}
790795

791-
See the [NFS example](https://github.com/kubernetes/examples/tree/master/staging/volumes/nfs) for an example of mounting NFS volumes with PersistentVolumes.
796+
See the [NFS example](https://github.com/kubernetes/examples/tree/master/staging/volumes/nfs)
797+
for an example of mounting NFS volumes with PersistentVolumes.
792798

793799
### persistentVolumeClaim {#persistentvolumeclaim}
794800

@@ -1163,7 +1169,7 @@ persistent volume:
11631169
volume expansion, the kubelet passes that data via the `NodeExpandVolume()`
11641170
call to the CSI driver. In order to use the `nodeExpandSecretRef` field, your
11651171
cluster should be running Kubernetes version 1.25 or later and you must enable
1166-
the [feature gate](https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/)
1172+
the [feature gate](/docs/reference/command-line-tools-reference/feature-gates/)
11671173
named `CSINodeExpandSecret` for each kube-apiserver and for the kubelet on every
11681174
node. You must also be using a CSI driver that supports or requires secret data during
11691175
node-initiated storage resize operations.

content/en/docs/concepts/windows/intro.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -382,8 +382,6 @@ troubleshooting ideas prior to creating a ticket.
382382

383383
The kubeadm tool helps you to deploy a Kubernetes cluster, providing the control
384384
plane to manage the cluster it, and nodes to run your workloads.
385-
[Adding Windows nodes](/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes/)
386-
explains how to deploy Windows nodes to your cluster using kubeadm.
387385

388386
The Kubernetes [cluster API](https://cluster-api.sigs.k8s.io/) project also provides means to automate deployment of Windows nodes.
389387

content/en/docs/concepts/windows/user-guide.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,11 @@ This guide walks you through the steps to configure and deploy Windows container
2222

2323
## Before you begin
2424

25-
* Create a Kubernetes cluster that includes a
26-
control plane and a [worker node running Windows Server](/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes/)
25+
* Create a Kubernetes cluster that includes a control plane and a worker node running Windows Server
2726
* It is important to note that creating and deploying services and workloads on Kubernetes
28-
behaves in much the same way for Linux and Windows containers.
29-
[Kubectl commands](/docs/reference/kubectl/) to interface with the cluster are identical.
30-
The example in the section below is provided to jumpstart your experience with Windows containers.
27+
behaves in much the same way for Linux and Windows containers.
28+
[Kubectl commands](/docs/reference/kubectl/) to interface with the cluster are identical.
29+
The example in the section below is provided to jumpstart your experience with Windows containers.
3130

3231
## Getting Started: Deploying a Windows container
3332

content/en/docs/reference/_index.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ client libraries:
4141
## CLI
4242

4343
* [kubectl](/docs/reference/kubectl/) - Main CLI tool for running commands and managing Kubernetes clusters.
44-
* [JSONPath](/docs/reference/kubectl/jsonpath/) - Syntax guide for using [JSONPath expressions](https://goessner.net/articles/JsonPath/) with kubectl.
44+
* [JSONPath](/docs/reference/kubectl/jsonpath/) - Syntax guide for using [JSONPath expressions](https://goessner.net/articles/JsonPath/) with kubectl.
4545
* [kubeadm](/docs/reference/setup-tools/kubeadm/) - CLI tool to easily provision a secure Kubernetes cluster.
4646

4747
## Components
@@ -52,16 +52,18 @@ client libraries:
5252
* [kube-apiserver](/docs/reference/command-line-tools-reference/kube-apiserver/) -
5353
REST API that validates and configures data for API objects such as pods,
5454
services, replication controllers.
55-
* [kube-controller-manager](/docs/reference/command-line-tools-reference/kube-controller-manager/) - Daemon that embeds the core control loops shipped with Kubernetes.
55+
* [kube-controller-manager](/docs/reference/command-line-tools-reference/kube-controller-manager/) -
56+
Daemon that embeds the core control loops shipped with Kubernetes.
5657
* [kube-proxy](/docs/reference/command-line-tools-reference/kube-proxy/) - Can
5758
do simple TCP/UDP stream forwarding or round-robin TCP/UDP forwarding across
5859
a set of back-ends.
59-
* [kube-scheduler](/docs/reference/command-line-tools-reference/kube-scheduler/) - Scheduler that manages availability, performance, and capacity.
60+
* [kube-scheduler](/docs/reference/command-line-tools-reference/kube-scheduler/) -
61+
Scheduler that manages availability, performance, and capacity.
6062

6163
* [Scheduler Policies](/docs/reference/scheduling/policies)
6264
* [Scheduler Profiles](/docs/reference/scheduling/config#profiles)
6365

64-
* List of [ports and protocols](/docs/reference/ports-and-protocols/) that
66+
* List of [ports and protocols](/docs/reference/networking/ports-and-protocols/) that
6567
should be open on control plane and worker nodes
6668

6769
## Config APIs

content/en/docs/reference/command-line-tools-reference/feature-gates-removed.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ However, a GA'ed or a deprecated feature gate is still recognized by the corresp
1313
components although they are unable to cause any behavior differences in a cluster.
1414

1515
For feature gates that are still recognized by the Kubernetes components, please refer to
16-
the [Alpha/Beta feature gate table](/docs/reference/command-line-tools/reference/feature-gates/#feature-gates-for-alpha-or-beta-features)
17-
or the [Graduated/Deprecated feature gate table](/docs/reference/command-line-tools/reference/feature-gates/#feature-gates-for-graduated-or-deprecated-features)
16+
the [Alpha/Beta feature gate table](/docs/reference/command-line-tools-reference/feature-gates/#feature-gates-for-alpha-or-beta-features)
17+
or the [Graduated/Deprecated feature gate table](/docs/reference/command-line-tools-reference/feature-gates/#feature-gates-for-graduated-or-deprecated-features)
1818

1919
### Feature gates that are removed
2020

content/en/docs/reference/networking/virtual-ips.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ mechanism for {{< glossary_tooltip term_id="service" text="Services">}}
1414
of `type` other than
1515
[`ExternalName`](/docs/concepts/services-networking/service/#externalname).
1616

17-
1817
A question that pops up every now and then is why Kubernetes relies on
1918
proxying to forward inbound traffic to backends. What about other
2019
approaches? For example, would it be possible to configure DNS records that
@@ -39,15 +38,13 @@ network proxying service on a computer. Although the `kube-proxy` executable su
3938
`cleanup` function, this function is not an official feature and thus is only available
4039
to use as-is.
4140

42-
4341
<a id="example"></a>
4442
Some of the details in this reference refer to an example: the back end Pods for a stateless
4543
image-processing workload, running with three replicas. Those replicas are
4644
fungible&mdash;frontends do not care which backend they use. While the actual Pods that
4745
compose the backend set may change, the frontend clients should not need to be aware of that,
4846
nor should they need to keep track of the set of backends themselves.
4947

50-
5148
<!-- body -->
5249

5350
## Proxy modes
@@ -367,4 +364,5 @@ You can also:
367364

368365
* Read about [Services](/docs/concepts/services-networking/service/) as a concept
369366
* Read about [Ingresses](/docs/concepts/services-networking/ingress/) as a concept
370-
* Read the [API reference](/docs/reference/kubernetes-api/service-resources/service-v1/) for the Service API
367+
* Read the [API reference](/docs/reference/kubernetes-api/service-resources/service-v1/) for the Service API
368+

content/en/docs/setup/production-environment/tools/kubeadm/install-kubeadm.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,22 @@ card:
1212

1313
<img src="/images/kubeadm-stacked-color.png" align="right" width="150px"></img>
1414
This page shows how to install the `kubeadm` toolbox.
15-
For information on how to create a cluster with kubeadm once you have performed this installation process, see the [Creating a cluster with kubeadm](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) page.
15+
For information on how to create a cluster with kubeadm once you have performed this installation process,
16+
see the [Creating a cluster with kubeadm](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) page.
1617

1718

1819
## {{% heading "prerequisites" %}}
1920

2021

21-
* A compatible Linux host. The Kubernetes project provides generic instructions for Linux distributions based on Debian and Red Hat, and those distributions without a package manager.
22+
* A compatible Linux host. The Kubernetes project provides generic instructions for Linux distributions
23+
based on Debian and Red Hat, and those distributions without a package manager.
2224
* 2 GB or more of RAM per machine (any less will leave little room for your apps).
2325
* 2 CPUs or more.
2426
* Full network connectivity between all machines in the cluster (public or private network is fine).
2527
* Unique hostname, MAC address, and product_uuid for every node. See [here](#verify-mac-address) for more details.
2628
* Certain ports are open on your machines. See [here](#check-required-ports) for more details.
2729
* Swap disabled. You **MUST** disable swap in order for the kubelet to work properly.
2830

29-
30-
3131
<!-- steps -->
3232

3333
## Verify the MAC address and product_uuid are unique for every node {#verify-mac-address}
@@ -46,9 +46,9 @@ If you have more than one network adapter, and your Kubernetes components are no
4646
route, we recommend you add IP route(s) so Kubernetes cluster addresses go via the appropriate adapter.
4747

4848
## Check required ports
49-
These
50-
[required ports](/docs/reference/ports-and-protocols/)
51-
need to be open in order for Kubernetes components to communicate with each other. You can use tools like netcat to check if a port is open. For example:
49+
These [required ports](/docs/reference/networking/ports-and-protocols/)
50+
need to be open in order for Kubernetes components to communicate with each other.
51+
You can use tools like netcat to check if a port is open. For example:
5252

5353
```shell
5454
nc 127.0.0.1 6443

content/en/docs/tasks/administer-cluster/kubeadm/upgrading-windows-nodes.md

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@ weight: 40
99

1010
{{< feature-state for_k8s_version="v1.18" state="beta" >}}
1111

12-
This page explains how to upgrade a Windows node [created with kubeadm](/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes).
13-
14-
15-
12+
This page explains how to upgrade a Windows node created with kubeadm.
1613

1714
## {{% heading "prerequisites" %}}
1815

@@ -21,9 +18,6 @@ This page explains how to upgrade a Windows node [created with kubeadm](/docs/ta
2118
cluster](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade). You will want to
2219
upgrade the control plane nodes before upgrading your Windows nodes.
2320

24-
25-
26-
2721
<!-- steps -->
2822

2923
## Upgrading worker nodes
@@ -81,7 +75,8 @@ upgrade the control plane nodes before upgrading your Windows nodes.
8175
```
8276
8377
{{< note >}}
84-
If you are running kube-proxy in a HostProcess container within a Pod, and not as a Windows Service, you can upgrade kube-proxy by applying a newer version of your kube-proxy manifests.
78+
If you are running kube-proxy in a HostProcess container within a Pod, and not as a Windows Service,
79+
you can upgrade kube-proxy by applying a newer version of your kube-proxy manifests.
8580
{{< /note >}}
8681
8782
### Uncordon the node
@@ -94,6 +89,3 @@ bring the node back online by marking it schedulable:
9489
kubectl uncordon <node-to-drain>
9590
```
9691
97-
98-
99-

content/en/docs/tasks/configure-pod-container/configure-service-account.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,12 @@ kubectl get pods/<podname> -o yaml
4747
```
4848

4949
In the output, you see a field `spec.serviceAccountName`.
50-
Kubernetes [automatically](/docs/user-guide/working-with-resources/#resources-are-automatically-modified)
50+
Kubernetes [automatically](/docs/concepts/overview/working-with-objects/object-management/)
5151
sets that value if you don't specify it when you create a Pod.
5252

5353
An application running inside a Pod can access the Kubernetes API using
54-
automatically mounted service account credentials. See [accessing the Cluster](/docs/user-guide/accessing-the-cluster/#accessing-the-api-from-a-pod) to learn more.
54+
automatically mounted service account credentials.
55+
See [accessing the Cluster](/docs/tasks/access-application-cluster/access-cluster/) to learn more.
5556

5657
When a Pod authenticates as a ServiceAccount, its level of access depends on the
5758
[authorization plugin and policy](/docs/reference/access-authn-authz/authorization/#authorization-modules)
@@ -62,7 +63,8 @@ in use.
6263
If you don't want the {{< glossary_tooltip text="kubelet" term_id="kubelet" >}}
6364
to automatically mount a ServiceAccount's API credentials, you can opt out of
6465
the default behavior.
65-
You can opt out of automounting API credentials on `/var/run/secrets/kubernetes.io/serviceaccount/token` for a service account by setting `automountServiceAccountToken: false` on the ServiceAccount:
66+
You can opt out of automounting API credentials on `/var/run/secrets/kubernetes.io/serviceaccount/token`
67+
for a service account by setting `automountServiceAccountToken: false` on the ServiceAccount:
6668

6769
For example:
6870

0 commit comments

Comments
 (0)