@@ -319,11 +319,11 @@ that happens.
319
319
320
320
# ## Risks and Mitigations
321
321
322
- Scalability : In the limit, ClusterTrustBundle objects will be used by
323
- every pod in the cluster, which will require watches from all Kubelets. When
324
- they are updated, workloads will need to receive the updates fairly quickly
325
- (within 5 minutes across the whole cluster), to accommodate emergency rotation
326
- of trust anchors for a private CA.
322
+ Scalability : In the limit, ClusterTrustBundle objects will be used by every pod
323
+ in the cluster, which will require one ClusterTrustBundle watch from each
324
+ Kubelet in the cluster. When they are updated, workloads will need to receive
325
+ the updates fairly quickly (within 5 minutes across the whole cluster), to
326
+ accommodate emergency rotation of trust anchors for a private CA.
327
327
328
328
Security : Should individual trust anchor set entries designate an OSCP endpoint
329
329
to check for certificate revociation? Or should we require the URL to be
@@ -853,13 +853,8 @@ and creating new ones, as well as about cluster-level services (e.g. DNS):
853
853
854
854
Yes.
855
855
856
- A pod that uses a pemTrustAnchors projected volume will result in an additional
857
- watch on the named ClusterTrustBundle object orginating from Kubelet. This
858
- watch will be low-throughput.
859
-
860
- Similar to the existing kubelet watches on secrets and configmaps, special care
861
- will need to be taken to ensure that kube-apiserver can efficiently choose which
862
- single-ClusterTrustBundle watches to update for a given etcd update.
856
+ Kubelet will open a watch on ClusterTrustBundle objects. This watch will be
857
+ low-throughput.
863
858
864
859
###### Will enabling / using this feature result in introducing new API types?
865
860
@@ -894,12 +889,11 @@ arbitrary startup latency for my pod and cause an SLO breach.)
894
889
Use of the ClusterTrustBundle objects by themselves should have negligible
895
890
resource impact.
896
891
897
- Use of the pemTrustAnchors projected volume type will result in an additional
898
- watch on kube-apiserver for each unique (Node, ClusterTrustBundle) tuple in the
899
- cluster. This is similar to existing kubelet support for projecting configmaps
900
- and secrets into a pod. Just like for secrets and configmaps, we will need to
901
- make sure that kube-apiserver has the indexes it needs to efficiently map etcd
902
- watch events to Kubernetes watch channels.
892
+ When the feature gate is enabled, Kubelet will open a watch on all
893
+ ClusterTrustBundle objects in the cluster. We expect there to be a low number
894
+ of ClusterTrustBundle objects that does not scale with the number of nodes or
895
+ workloads in the cluster, although individual ClusterTrustBundle objects could
896
+ be large.
903
897
904
898
### Troubleshooting
905
899
0 commit comments