You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pod requests (and pod sub-resource requests) are meant for the cluster
280
281
and will be routed based on the ‘cluster’ NetworkContext.
@@ -287,14 +288,13 @@ and will be routed based on the ‘cluster’ NetworkContext.
287
288
-**Admission Webhooks**
288
289
Admission webhooks can be destined for a service or a URL.
289
290
If destined for a service then the service rules apply (send to 'cluster').
290
-
If destined for a URL then we will use the ‘master’ NetworkContext.
291
+
If destined for a URL then we will use the ‘controlplane’ NetworkContext.
291
292
-**Aggregated API Server (and OpenAPI requests for aggregated resources)**
292
-
Aggregated API Servers can be destined for a service or a URL.
293
+
Aggregated API Servers can be destined for a service.
293
294
If destined for a service then the service rules apply.
294
-
If destined for a URL then we will use the ‘master’ NetworkContext.
295
295
-**Authentication, Authorization and Audit Webhooks**
296
296
These Webhooks use a kube config file to determine destination.
297
-
Given that we use a ‘master’ NetworkContext.
297
+
Given that we use a ‘controlplane’ NetworkContext.
298
298
299
299
**Note**: KMS is also an egress endpoint but will not be covered as egress since it only supports a [Dialer](https://github.com/kubernetes/kubernetes/blob/e8bc121341807f9e33a076f6725b1b1a18d75ba0/staging/src/k8s.io/apiserver/pkg/storage/value/encrypt/envelope/grpc_service.go#L74) using unix domain sockets (UDS). This is used for communicating between processes running on the same host. In the future, we may consider adding egressSelector support if KMS accepts other protocols.
300
300
@@ -321,28 +321,28 @@ implementation of the API Server Network Proxy.
321
321
322
322
## User Stories
323
323
324
-
#### Combined Master and Node Network
324
+
#### Combined Control Plane and Node Network
325
325
326
-
Customers can run a cluster which combines the master and cluster networks.
326
+
Customers can run a cluster which combines the control plane and cluster networks.
327
327
They configure all their connectivity configuration to direct.
328
328
This bypasses the proxy and optimizes the performance. For a customer with no
329
329
security concerns with combined network, this is a fairly simple straight forward configuration.
330
330
331
-
#### Master and Untrusted Node Network
331
+
#### Control Plane and Untrusted Node Network
332
332
333
-
A customer may want to isolate their master from their cluster network. This may be a
333
+
A customer may want to isolate their control plane from their cluster network. This may be a
334
334
simple separation of concerns or due to something like running untrusted workloads on
335
-
the cluster network. Placing a firewall between the master and
335
+
the cluster network. Placing a firewall between the control plane and
336
336
cluster networks accomplishes this. A few ports for the KAS public port and Proxy public port
337
337
are opened between these networks. Separation of concerns minimizes the
338
-
accidental interactions between the master and cluster networks. It minimizes bandwidth
338
+
accidental interactions between the control plane and cluster networks. It minimizes bandwidth
339
339
consumption on the cluster network negatively impacting the control plane. The
340
340
combination of firewall and proxy minimizes the interaction between the networks to
341
341
a set which can be more easily reasoned about, checked and monitored.
342
342
343
-
#### Master and Node Networks which are not IP Routable
343
+
#### Control Plane and Node Networks which are not IP Routable
344
344
345
-
If master and cluster network CIDRs are not controlled by the same entity, then they
345
+
If control plane and cluster network CIDRs are not controlled by the same entity, then they
346
346
can end up having conflicting IP CIDRs. Traffic cannot be routed between
347
347
them based strictly on IP address. The connection proxy solves this issue.
348
348
It also solves connectivity using a VPN tunnel. The proxy offloads the work off sending traffic
@@ -352,7 +352,7 @@ to the cluster network from the KAS. The proxy gives us extensibility.
352
352
353
353
Instrumenting the network proxy requests with out of band data
354
354
(Eg. requester identity/tradition context) enables a Proxy to
355
-
provide increased monitoring of Master originated requests.
355
+
provide increased monitoring of Control Plane originated requests.
356
356
357
357
358
358
## Design Details
@@ -367,7 +367,7 @@ both for several releases.
367
367
368
368
### Test Plan
369
369
370
-
The primary test plan is to set up a network namespace with a firewall dividing the master and cluster
370
+
The primary test plan is to set up a network namespace with a firewall dividing the control plane and cluster
371
371
networks. Then running the existing tests for logs, proxy and portforward to ensure the
372
372
routing works correctly. It should work with the correct configuration and fail correctly
373
373
with a direct configuration. Normal tests would be run with the direct
@@ -408,6 +408,8 @@ Beta:
408
408
- Feature went Alpha in 1.16 with limited functionality. It will cover the log
409
409
sub resource and communication to the etcd server.
410
410
411
+
- Feature went Beta in 1.18.
412
+
411
413
## Alternatives [optional]
412
414
413
415
- Leave SSH Tunnels (deprecated) in the KAS. Prevents us from making the KAS cloud provider agnostic. Blocks out of tree effort.
@@ -416,5 +418,5 @@ Beta:
416
418
417
419
## Infrastructure Needed [optional]
418
420
419
-
Any one wishing to use this feature will need to create network proxy images/pods on the master and set up the ConnectivityServiceConfiguration.
421
+
Any one wishing to use this feature will need to create network proxy images/pods on the control plane and set up the EgressSelectorConfiguration.
420
422
The network proxy provided is meant as a reference implementation. Users as expected to extend it for their needs.
0 commit comments