Skip to content

Commit 75c7b7c

Browse files
authored
Merge pull request #20768 from kbhawkey/konn-svc-move-kb
Move Konnectivity service task page
2 parents ef9aa6b + 0bf1b10 commit 75c7b7c

File tree

24 files changed

+115
-135
lines changed

24 files changed

+115
-135
lines changed

content/en/docs/concepts/architecture/control-plane-node-communication.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,11 @@ The control plane components also communicate with the cluster apiserver over th
3131
As a result, the default operating mode for connections from the nodes and pods running on the nodes to the control plane is secured by default and can run over untrusted and/or public networks.
3232

3333
## Control Plane to node
34+
3435
There are two primary communication paths from the control plane (apiserver) to the nodes. The first is from the apiserver to the kubelet process which runs on each node in the cluster. The second is from the apiserver to any node, pod, or service through the apiserver's proxy functionality.
3536

3637
### apiserver to kubelet
38+
3739
The connections from the apiserver to the kubelet are used for:
3840

3941
* Fetching logs for pods.
@@ -61,9 +63,10 @@ This tunnel ensures that the traffic is not exposed outside of the network in wh
6163
SSH tunnels are currently deprecated so you shouldn't opt to use them unless you know what you are doing. The Konnectivity service is a replacement for this communication channel.
6264

6365
### Konnectivity service
66+
6467
{{< feature-state for_k8s_version="v1.18" state="beta" >}}
6568

66-
As a replacement to the SSH tunnels, the Konnectivity service provides TCP level proxy for the control plane to Cluster communication. The Konnectivity consists of two parts, the Konnectivity server and the Konnectivity agents, running in the control plane network and the nodes network respectively. The Konnectivity agents initiate connections to the Konnectivity server and maintain the connections.
67-
All control plane to nodes traffic then goes through these connections.
69+
As a replacement to the SSH tunnels, the Konnectivity service provides TCP level proxy for the control plane to cluster communication. The Konnectivity service consists of two parts: the Konnectivity server and the Konnectivity agents, running in the control plane network and the nodes network respectively. The Konnectivity agents initiate connections to the Konnectivity server and maintain the network connections.
70+
After enabling the Konnectivity service, all control plane to nodes traffic goes through these connections.
6871

69-
See [Konnectivity Service Setup](/docs/tasks/setup-konnectivity/) on how to set it up in your cluster.
72+
Follow the [Konnectivity service task](/docs/tasks/extend-kubernetes/setup-konnectivity/) to set up the Konnectivity service in your cluster.

content/en/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ to disable the timeout restriction. This deprecated feature gate will be removed
3939
## {{% heading "whatsnext" %}}
4040

4141

42-
* To get the aggregator working in your environment, [configure the aggregation layer](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/).
43-
* Then, [setup an extension api-server](/docs/tasks/access-kubernetes-api/setup-extension-api-server/) to work with the aggregation layer.
44-
* Also, learn how to [extend the Kubernetes API using Custom Resource Definitions](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/).
42+
* To get the aggregator working in your environment, [configure the aggregation layer](/docs/tasks/extend-kubernetes/configure-aggregation-layer/).
43+
* Then, [setup an extension api-server](/docs/tasks/extend-kubernetes/setup-extension-api-server/) to work with the aggregation layer.
44+
* Also, learn how to [extend the Kubernetes API using Custom Resource Definitions](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/).
4545
* Read the specification for [APIService](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#apiservice-v1-apiregistration-k8s-io)
4646

4747

content/en/docs/concepts/extend-kubernetes/api-extension/custom-resources.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ Regardless of how they are installed, the new resources are referred to as Custo
128128

129129
## CustomResourceDefinitions
130130

131-
The [CustomResourceDefinition](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/)
131+
The [CustomResourceDefinition](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/)
132132
API resource allows you to define custom resources.
133133
Defining a CRD object creates a new custom resource with a name and schema that you specify.
134134
The Kubernetes API serves and handles the storage of your custom resource.
@@ -178,17 +178,17 @@ Aggregated APIs offer more advanced API features and customization of other feat
178178

179179
| Feature | Description | CRDs | Aggregated API |
180180
| ------- | ----------- | ---- | -------------- |
181-
| Validation | Help users prevent errors and allow you to evolve your API independently of your clients. These features are most useful when there are many clients who can't all update at the same time. | Yes. Most validation can be specified in the CRD using [OpenAPI v3.0 validation](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#validation). Any other validations supported by addition of a [Validating Webhook](/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook-alpha-in-1-8-beta-in-1-9). | Yes, arbitrary validation checks |
182-
| Defaulting | See above | Yes, either via [OpenAPI v3.0 validation](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#defaulting) `default` keyword (GA in 1.17), or via a [Mutating Webhook](/docs/reference/access-authn-authz/admission-controllers/#mutatingadmissionwebhook) (though this will not be run when reading from etcd for old objects). | Yes |
183-
| Multi-versioning | Allows serving the same object through two API versions. Can help ease API changes like renaming fields. Less important if you control your client versions. | [Yes](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definition-versioning) | Yes |
181+
| Validation | Help users prevent errors and allow you to evolve your API independently of your clients. These features are most useful when there are many clients who can't all update at the same time. | Yes. Most validation can be specified in the CRD using [OpenAPI v3.0 validation](/docs/tasks/extend-kubernetes/extend-api-custom-resource-definitions/#validation). Any other validations supported by addition of a [Validating Webhook](/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook-alpha-in-1-8-beta-in-1-9). | Yes, arbitrary validation checks |
182+
| Defaulting | See above | Yes, either via [OpenAPI v3.0 validation](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#defaulting) `default` keyword (GA in 1.17), or via a [Mutating Webhook](/docs/reference/access-authn-authz/admission-controllers/#mutatingadmissionwebhook) (though this will not be run when reading from etcd for old objects). | Yes |
183+
| Multi-versioning | Allows serving the same object through two API versions. Can help ease API changes like renaming fields. Less important if you control your client versions. | [Yes](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning) | Yes |
184184
| Custom Storage | If you need storage with a different performance mode (for example, a time-series database instead of key-value store) or isolation for security (for example, encryption of sensitive information, etc.) | No | Yes |
185185
| Custom Business Logic | Perform arbitrary checks or actions when creating, reading, updating or deleting an object | Yes, using [Webhooks](/docs/reference/access-authn-authz/extensible-admission-controllers/#admission-webhooks). | Yes |
186-
| Scale Subresource | Allows systems like HorizontalPodAutoscaler and PodDisruptionBudget interact with your new resource | [Yes](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#scale-subresource) | Yes |
187-
| Status Subresource | Allows fine-grained access control where user writes the spec section and the controller writes the status section. Allows incrementing object Generation on custom resource data mutation (requires separate spec and status sections in the resource) | [Yes](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#status-subresource) | Yes |
186+
| Scale Subresource | Allows systems like HorizontalPodAutoscaler and PodDisruptionBudget interact with your new resource | [Yes](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#scale-subresource) | Yes |
187+
| Status Subresource | Allows fine-grained access control where user writes the spec section and the controller writes the status section. Allows incrementing object Generation on custom resource data mutation (requires separate spec and status sections in the resource) | [Yes](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#status-subresource) | Yes |
188188
| Other Subresources | Add operations other than CRUD, such as "logs" or "exec". | No | Yes |
189189
| strategic-merge-patch | The new endpoints support PATCH with `Content-Type: application/strategic-merge-patch+json`. Useful for updating objects that may be modified both locally, and by the server. For more information, see ["Update API Objects in Place Using kubectl patch"](/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/) | No | Yes |
190190
| Protocol Buffers | The new resource supports clients that want to use Protocol Buffers | No | Yes |
191-
| OpenAPI Schema | Is there an OpenAPI (swagger) schema for the types that can be dynamically fetched from the server? Is the user protected from misspelling field names by ensuring only allowed fields are set? Are types enforced (in other words, don't put an `int` in a `string` field?) | Yes, based on the [OpenAPI v3.0 validation](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/#validation) schema (GA in 1.16). | Yes |
191+
| OpenAPI Schema | Is there an OpenAPI (swagger) schema for the types that can be dynamically fetched from the server? Is the user protected from misspelling field names by ensuring only allowed fields are set? Are types enforced (in other words, don't put an `int` in a `string` field?) | Yes, based on the [OpenAPI v3.0 validation](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#validation) schema (GA in 1.16). | Yes |
192192

193193
### Common Features
194194

@@ -253,6 +253,6 @@ When you add a custom resource, you can access it using:
253253

254254
* Learn how to [Extend the Kubernetes API with the aggregation layer](/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/).
255255

256-
* Learn how to [Extend the Kubernetes API with CustomResourceDefinition](/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/).
256+
* Learn how to [Extend the Kubernetes API with CustomResourceDefinition](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/).
257257

258258

content/en/docs/concepts/overview/kubernetes-api.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,10 @@ There are several API groups in a cluster:
136136

137137
There are two paths to extending the API with [custom resources](/docs/concepts/api-extension/custom-resources/):
138138

139-
1. [CustomResourceDefinition](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/)
139+
1. [CustomResourceDefinition](/docs/tasks/extend-kubernetes/custom-resource-definitions/)
140140
lets you declaratively define how the API server should provide your chosen resource API.
141-
1. You can also [implement your own extension API server](/docs/tasks/access-kubernetes-api/setup-extension-api-server/)
142-
and use the [aggregator](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/)
141+
1. You can also [implement your own extension API server](/docs/tasks/extend-kubernetes/setup-extension-api-server/)
142+
and use the [aggregator](/docs/tasks/extend-kubernetes/configure-aggregation-layer/)
143143
to make it seamless for clients.
144144

145145
## Enabling or disabling API groups

content/en/docs/contribute/style/page-content-types.md

Lines changed: 33 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -16,35 +16,39 @@ The Kubernetes documentation follows several types of page content:
1616
- Tutorial
1717
- Reference
1818

19-
Content pages contain HTML headings that create structure on the page.
20-
2119
<!-- body -->
2220

2321
## Content sections
2422

25-
Each page content type contains a number of sections.
26-
Most of the main sections are outlined in the page using Markdown comments.
27-
This page structure helps to maintain the different content types.
23+
Each page content type contains a number of sections declared as
24+
Markdown comments and HTML headings. HTML section headings render using the
25+
`heading` shortcode. This page structure helps to maintain the different content types.
2826

29-
For example,
27+
Examples of Markdown comments defining page content sections:
3028

31-
```
29+
```markdown
3230
<!-- body -->
3331
```
3432

35-
```
33+
```markdown
3634
<!-- overview -->
3735
```
3836

39-
To create localized headings for common headings, use the `heading` shortcode
40-
in your content pages. Common localized headings are:
37+
To create common headings in your content pages, use the `heading` shortcode with
38+
a heading string.
39+
40+
Examples of heading strings:
4141

4242
- whatsnext
4343
- prerequisites
4444
- objectives
4545
- cleanup
46+
- synopsis
47+
- seealso
48+
- options
4649

47-
To create a localized `whatsnext` heading on a page, you can add to your page:
50+
To create a `whatsnext` heading, add the heading shortcode
51+
to your page as follows:
4852

4953
```none
5054
## {{%/* heading "whatsnext" */%}}
@@ -54,29 +58,29 @@ The `whatsnext` heading displays as:
5458

5559
## {{% heading "whatsnext" %}}
5660

57-
58-
To create a localized `prerequisites` heading on a page, you can add to your page:
61+
You can declare a `prerequisites` heading as:
5962

6063
```none
6164
## {{%/* heading "prerequisites" */%}}
6265
```
6366

64-
The `prerequisites heading displays as:
67+
The `prerequisites` heading displays as:
6568

6669
## {{% heading "prerequisites" %}}
6770

71+
The `heading` shortcode takes one string parameter. The string matches the prefix
72+
of a variable in the `i18n/<lang>.toml` files.
6873

69-
The `heading` shortcode takes one parameter.
70-
The string should match the prefix of a variable in the localized file, such `i18n/en.toml`:
74+
`i18n/en.toml`:
7175

72-
```
76+
```toml
7377
[whatsnext_heading]
7478
other = "What's next"
7579
```
7680

77-
Another localized file, such as `i18n/ko.toml`:
81+
`i18n/ko.toml`:
7882

79-
```
83+
```toml
8084
[whatsnext_heading]
8185
other = "다음 내용"
8286
```
@@ -100,16 +104,16 @@ Concept pages are divided into three sections:
100104
| body |
101105
| whatsnext |
102106

103-
104107
Fill each section with content. Follow these guidelines:
108+
105109
- Organize content with H2 and H3 headings.
106110
- For `overview`, set the topic's context with a single paragraph.
107111
- For `body`, explain the concept.
108112
- For `whatsnext`, provide a bulleted list of topics (5 maximum) to learn more about the concept.
109113

110114
[Annotations](/docs/concepts/overview/working-with-objects/annotations/) is a published example of a concept page.
111115

112-
## Task
116+
## Task
113117

114118
A task page shows how to do a single thing, typically by giving a short
115119
sequence of steps. Task pages have minimal explanation, but often provide links
@@ -127,6 +131,7 @@ To write a new task page, create a Markdown file in a subdirectory of the
127131
| whatsnext |
128132

129133
Within each section, write your content. Use the following guidelines:
134+
130135
- Use a minimum of H2 headings (with two leading `#` characters). The sections
131136
themselves are titled automatically by the template.
132137
- For `overview`, use a paragraph to set context for the entire topic.
@@ -138,7 +143,7 @@ Within each section, write your content. Use the following guidelines:
138143
- For `whatsnext`, give a bullet list of up to 5 topics the reader might be
139144
interested in reading next.
140145

141-
An example of a published task topic is [Using an HTTP proxy to access the Kubernetes API](/docs/tasks/access-kubernetes-api/http-proxy-access-api).
146+
An example of a published task topic is [Using an HTTP proxy to access the Kubernetes API](/docs/tasks/extend-kubernetes/http-proxy-access-api/).
142147

143148
## Tutorial
144149

@@ -162,6 +167,7 @@ To write a new tutorial page, create a Markdown file in a subdirectory of the
162167
| whatsnext |
163168

164169
Within each section, write your content. Use the following guidelines:
170+
165171
- Use a minimum of H2 headings (with two leading `#` characters). The sections
166172
themselves are titled automatically by the template.
167173
- For `overview`, use a paragraph to set context for the entire topic.
@@ -180,21 +186,21 @@ An example of a published tutorial topic is
180186

181187
## Reference
182188

183-
A component tool reference page shows the `--help` output for a Kubernetes component tool.
184-
Each page output depends upon the component tool's source code in `kubernetes/kubernetes`.
189+
A component tool reference page shows the description and flag options output for
190+
a Kubernetes component tool. Each page output depends upon the component tool's source
191+
code in `kubernetes/kubernetes`.
185192

186-
Typically a tool reference page has several sections:
193+
A tool reference page has several possible sections:
187194

188195
| Page section |
189196
|------------------------------|
190197
| synopsis |
191198
| options |
192199
| options from parent commands |
193200
| examples |
194-
| body |
195201
| seealso |
196202

197-
An example of a published tool reference topic is:
203+
Examples of published tool reference pages are:
198204

199205
- [kubeadm init](/docs/reference/setup-tools/kubeadm/kubeadm-init/)
200206
- [kube-apiserver](/docs/reference/command-line-tools-reference/kube-apiserver/)

content/en/docs/contribute/style/write-new-topic.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ consistency among topics of a given type.
3737
Choose a title that has the keywords you want search engines to find.
3838
Create a filename that uses the words in your title separated by hyphens.
3939
For example, the topic with title
40-
[Using an HTTP Proxy to Access the Kubernetes API](/docs/tasks/access-kubernetes-api/http-proxy-access-api/)
40+
[Using an HTTP Proxy to Access the Kubernetes API](/docs/tasks/extend-kubernetes/http-proxy-access-api/)
4141
has filename `http-proxy-access-api.md`. You don't need to put
4242
"kubernetes" in the filename, because "kubernetes" is already in the
4343
URL for the topic, for example:
4444

45-
/docs/tasks/access-kubernetes-api/http-proxy-access-api/
45+
/docs/tasks/extend-kubernetes/http-proxy-access-api/
4646

4747
## Adding the topic title to the front matter
4848

content/en/docs/reference/glossary/aggregation-layer.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ tags:
1414
---
1515
The aggregation layer lets you install additional Kubernetes-style APIs in your cluster.
1616

17-
<!--more-->
17+
<!--more-->
1818

19-
When you've configured the {{< glossary_tooltip text="Kubernetes API Server" term_id="kube-apiserver" >}} to [support additional APIs](/docs/tasks/access-kubernetes-api/configure-aggregation-layer/), you can add `APIService` objects to "claim" a URL path in the Kubernetes API.
19+
When you've configured the {{< glossary_tooltip text="Kubernetes API Server" term_id="kube-apiserver" >}} to [support additional APIs](/docs/tasks/extend-kubernetes/configure-aggregation-layer/), you can add `APIService` objects to "claim" a URL path in the Kubernetes API.

content/en/docs/reference/glossary/customresourcedefinition.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: CustomResourceDefinition
33
id: CustomResourceDefinition
44
date: 2018-04-12
5-
full_link: /docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/
5+
full_link: /docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/
66
short_description: >
77
Custom code that defines a resource to add to your Kubernetes API server without building a complete custom server.
88
@@ -14,7 +14,6 @@ tags:
1414
---
1515
Custom code that defines a resource to add to your Kubernetes API server without building a complete custom server.
1616

17-
<!--more-->
18-
19-
Custom Resource Definitions let you extend the Kubernetes API for your environment if the publicly supported API resources can't meet your needs.
17+
<!--more-->
2018

19+
Custom Resource Definitions let you extend the Kubernetes API for your environment if the publicly supported API resources can't meet your needs.

content/en/docs/reference/using-api/api-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ Currently, there are several API groups in use:
8686

8787
The two paths that support extending the API with [custom resources](/docs/concepts/api-extension/custom-resources/) are:
8888

89-
- [CustomResourceDefinition](/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/)
89+
- [CustomResourceDefinition](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/)
9090
for basic CRUD needs.
9191
- [aggregator](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/aggregated-api-servers.md) for a full set of Kubernetes API semantics to implement their own apiserver.
9292

0 commit comments

Comments
 (0)