add kindnet as an experimental network addon
containerd adds the requirement to use the loopback cni plugin,
kindnet provides that capability and containerd does not require it
since containerd/containerd/pull/10238
Change-Id: I1397a90186885b02e98b5ffa444fe629c1046757
This all-in-one command is a replacement for having to run multiple commands,
while still respecting the version skew policy.
It does the same thing as `kops update cluster --reconcile`:
* Updates the control plane nodes
* Does a rolling update of the control plane nodes
* Updates "normal" nodes and bastion nodes
* Does a rolling update of these nodes
* Prunes old resources that are no longer used
Kubernetes 1.31 now stops nodes joining a cluster if the minor version
of the node is greater than the minor version of the control plane.
The addition of the instance-group-roles flag to update means that we
can now update / rolling-update the control plane first. However, we
must now issue four commands:
* Update control plane
* Rolling update control plane
* Update nodes
* Rolling update nodes
This adds a flag to automate this process. It is implemented by
executing those 4 steps in sequence.
Update is also smart enough to not update the nodes if this would
violate the skew policy, but we do this explicitly in the reconcile
command to be clearer and safer.
This lets us safely make changes to otherwise immutable fields, in
particular for adding security groups to NLBs created without them.
We detect the older versions, and create deletion tasks to remove
them. These tasks can be deferred, and we expect them to be
deferred to a "prune" phase that runs after cluster apply.
Co-authored-by: Ciprian Hacman <ciprian@hakman.dev>
The pflag library tries to split comma separated values using strict
CSV semantics, which requires quoting of the full value if the value
contains a quote. We switch to LazyQuotes which is much more
tolerant.
* feat(karpenter): Upgrade to version 0.27.0
Upgrade Karpenter to current last stable version `0.27.0`.
Template have been updated to use the same templates than the Helm chart.
* feat(karpenter): Use AWSNodeTemplate for launchTemplate
To set Launch Templates is deprecated into the provisioner, it is recommends using the `AWSNodeTemplate` to set it.
Ref:
- https://karpenter.sh/v0.27.0/concepts/node-templates/
* feat(karpenter): Enable pruning addon
* Use extra flags in upgrade-ab scenario test
* feat(karpenter): Drop `karpenter` feature flag
* feat(karpenter): Add release note for `1.27`
* feat(karpenter): Upgrade to version 0.27.3
* feat(karpenter): fix template
* feat(karpenter): Upgrade to version 0.27.5
* Update Karpenter documentation with depending kops version
* Delete KOPS_FEATURE_FLAGS from e2e test `run-test`
* Run hack/update-expected.sh
Make the channels apply commmand a bit more clear
Update cmd/kops/toolbox_addons.go
Co-authored-by: Ciprian Hacman <ciprian@hakman.dev>
Update cmd/kops/toolbox_addons.go
Co-authored-by: Ciprian Hacman <ciprian@hakman.dev>
fix docs