test(e2e): deploy cert-manager via the certmanager.io addon - #18753
Conversation
|
/test pull-kops-scenario-clusterapi-gcp |
|
/test pull-kops-scenario-clusterapi-gcp |
1 similar comment
|
/test pull-kops-scenario-clusterapi-gcp |
|
/test pull-kops-scenario-clusterapi-gcp |
|
/test pull-kops-scenario-clusterapi-gcp |
ad74b36 to
c7d8040
Compare
The kustomization pulls the v1.10.0 manifests but the image patch still pinned the controller to v1.5.0, five minors older than the CRDs and RBAC it is deployed with, and the args patch passed v1.5.0-era flags. v1.10.0 removed --metrics-bind-addr, so the manager crash-looped printing usage. Mirror the upstream v1.10.0 manager args with the variable substitutions resolved.
The affinity terms are OR'ed and any supported cluster labels its control plane nodes with the control-plane key, so the master term only triggered an API deprecation warning.
The KopsConfig reconciler and the node config server both failed when the cluster channel could not be read, e.g. a file:// channel set by the e2e harness that only exists on the machine that created the cluster. The channel only provides optional defaults here, so warn and continue like apply_cluster does. With a nil channel, instance group spec population then fails resolving a default machine image on GCE. The image is chosen by the CAPI infrastructure provider and is not used for nodeup config generation, so give the placeholder instance groups a placeholder image.
kube-proxy special-cased only control-plane nodes for the localhost address and used the API internal name on dedicated apiserver nodes. Those nodes have no /etc/hosts record for that name (and no DNS record in dns=none clusters, previously masked by gossip), so kube-proxy could never reach the API and never programmed cluster IPs. As a result the local kube-apiserver could not call any admission webhook by service, failing with a timeout regardless of where the webhook pods run. Use the same HasAPIServer condition as the kubeconfig builders.
Firewall source tags only match traffic sent from an instance's primary address, so pod-sourced traffic is matched by CIDR instead. That rule only targeted node instances, leaving pods unable to reach pods hosted on control plane or dedicated apiserver nodes, such as addons that are pinned to the control plane. Grant pod CIDRs the same limited port set that nodes get, so host ports such as etcd stay protected.
keypair-ids.yaml covers every keypair on the host, while the server keystore only loads the CAs it is configured to serve, so the etcd CAs always trigger this warning on the CAPI node bootstrap path.
The clusterapi, splitkcp and ai-conformance scenarios each installed cert-manager from their own pinned upstream release URL, with two different versions across the three scripts. Enable the bundled certmanager.io addon in the cluster spec instead, so the tree has a single cert-manager definition and version bumps happen only in the addon. The explicit readiness waits are no longer needed: the addon runs its pods with the system-cluster-critical priority class, and cluster validation during kops-up fails while any such pod is pending or not ready.
c7d8040 to
037a7d0
Compare
|
/test pull-kops-scenario-clusterapi-gcp |
|
/retest |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: rifelpet The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
The
clusterapi,splitkcpandai-conformancescenarios each installed cert-manager from their own pinned upstream release URL, with two different versions across the three scripts. This enables the bundledcertmanager.ioaddon in the cluster spec instead, so there is a single cert-manager definition in the tree and version bumps happen only in the addon.The explicit readiness waits are removed: the addon pods run with the
system-cluster-criticalpriority class, so cluster validation duringkops-upalready waits for them to be ready.The clusterapi README is updated to match. The discovery dev task keeps its upstream install, as it targets clusters not managed by kOps.
/cc @rifelpet @ameukam