Skip to content

Commit e3c09ae

Browse files
committed
Adding references and glossary tooltip to control-plain-node-communication
1 parent e334443 commit e3c09ae

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

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

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ aliases:
1111

1212
<!-- overview -->
1313

14-
This document catalogs the communication paths between the API server and the Kubernetes cluster.
14+
This document catalogs the communication paths between the {{< glossary_tooltip term_id="kube-apiserver" text="API server" >}}
15+
and the Kubernetes {{< glossary_tooltip text="cluster" term_id="cluster" length="all" >}}.
1516
The intent is to allow users to customize their installation to harden the network configuration
1617
such that the cluster can be run on an untrusted network (or on fully public IPs on a cloud
1718
provider).
@@ -30,28 +31,28 @@ enabled, especially if [anonymous requests](/docs/reference/access-authn-authz/a
3031
or [service account tokens](/docs/reference/access-authn-authz/authentication/#service-account-tokens)
3132
are allowed.
3233

33-
Nodes should be provisioned with the public root certificate for the cluster such that they can
34+
Nodes should be provisioned with the public root {{< glossary_tooltip text="certificate" term_id="certificate" >}} for the cluster such that they can
3435
connect securely to the API server along with valid client credentials. A good approach is that the
3536
client credentials provided to the kubelet are in the form of a client certificate. See
3637
[kubelet TLS bootstrapping](/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/)
3738
for automated provisioning of kubelet client certificates.
3839

39-
Pods that wish to connect to the API server can do so securely by leveraging a service account so
40+
{{< glossary_tooltip text="Pods" term_id="pod" >}} that wish to connect to the API server can do so securely by leveraging a service account so
4041
that Kubernetes will automatically inject the public root certificate and a valid bearer token
4142
into the pod when it is instantiated.
4243
The `kubernetes` service (in `default` namespace) is configured with a virtual IP address that is
43-
redirected (via `kube-proxy`) to the HTTPS endpoint on the API server.
44+
redirected (via `{{< glossary_tooltip text="kube-proxy" term_id="kube-proxy" >}}`) to the HTTPS endpoint on the API server.
4445

4546
The control plane components also communicate with the API server over the secure port.
4647

47-
As a result, the default operating mode for connections from the nodes and pods running on the
48+
As a result, the default operating mode for connections from the nodes and pod running on the
4849
nodes to the control plane is secured by default and can run over untrusted and/or public
4950
networks.
5051

5152
## Control plane to node
5253

5354
There are two primary communication paths from the control plane (the API server) to the nodes.
54-
The first is from the API server to the kubelet process which runs on each node in the cluster.
55+
The first is from the API server to the {{< glossary_tooltip text="kubelet" term_id="kubelet" >}} process which runs on each node in the cluster.
5556
The second is from the API server to any node, pod, or service through the API server's _proxy_
5657
functionality.
5758

@@ -89,7 +90,7 @@ connections **are not currently safe** to run over untrusted or public networks.
8990

9091
### SSH tunnels
9192

92-
Kubernetes supports SSH tunnels to protect the control plane to nodes communication paths. In this
93+
Kubernetes supports [SSH tunnels](https://www.ssh.com/academy/ssh/tunneling) to protect the control plane to nodes communication paths. In this
9394
configuration, the API server initiates an SSH tunnel to each node in the cluster (connecting to
9495
the SSH server listening on port 22) and passes all traffic destined for a kubelet, node, pod, or
9596
service through the tunnel.
@@ -117,3 +118,12 @@ connections.
117118
Follow the [Konnectivity service task](/docs/tasks/extend-kubernetes/setup-konnectivity/) to set
118119
up the Konnectivity service in your cluster.
119120

121+
## {{% heading "whatsnext" %}}
122+
123+
* Read about the [Kubernetes control plane components](/docs/concepts/overview/components/#control-plane-components)
124+
* Learn more about [Hubs and Spoke model](https://book.kubebuilder.io/multiversion-tutorial/conversion-concepts.html#hubs-spokes-and-other-wheel-metaphors)
125+
* Learn how to [Secure a Cluster](/docs/tasks/administer-cluster/securing-a-cluster/)
126+
* Learn more about the [Kubernetes API](/docs/concepts/overview/kubernetes-api/)
127+
* [Set up Konnectivity service](/docs/tasks/extend-kubernetes/setup-konnectivity/)
128+
* [Use Port Forwarding to Access Applications in a Cluster](/docs/tasks/access-application-cluster/port-forward-access-application-cluster/)
129+
* Learn how to [Fetch logs for Pods](/docs/tasks/debug/debug-application/debug-running-pod/#examine-pod-logs), [use kubectl port-forward](/docs/tasks/access-application-cluster/port-forward-access-application-cluster/#forward-a-local-port-to-a-port-on-the-pod)

0 commit comments

Comments
 (0)