Commit Graph

400 Commits

Author SHA1 Message Date
Jesse Haka d5cea90a82 make --admin configurable to rolling-update 2025-02-22 10:01:57 +02:00
justinsb 5c2c304b7f Remove reconcile flag from `kops update`
We have `kops reconcile`, and it's confusing having both.

We didn't ship the --reconcile flag in any released version.
2025-01-20 10:35:24 -05:00
justinsb 284b15be19 Support strong-typing for --target values
A small cleanup that makes our code a little more robust.
2025-01-19 09:21:05 -05:00
Antonio Ojea f2c239dd81 add kindnet network plugin
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
2025-01-08 01:09:37 +00:00
justinsb ab613ff114 Add `kops reconcile cluster` command
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
2024-12-05 12:27:08 -05:00
justinsb 7c95effdb4 Introduce --reconcile flag to kOps
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.
2024-12-05 11:36:13 -05:00
Rafael da Fonseca e4a0ef6c1f update cli-docs 2024-12-03 07:36:25 -05:00
justinsb b124625c62 toolbox dump: support dumping only k8s resources
Because metal does not support cloud-resource discovery, we need to
skip this in our metal tests.
2024-11-12 13:11:34 -05:00
Ciprian Hacman 1683894999 Allow updating the cluster one instance group at a time
Co-Authored-By: Ciprian Hacman <ciprianhacman@gmail.com>
2024-11-09 11:34:28 -05:00
justinsb 2a9343a168 Generate revisions of NLB objects, and introduce cleanup phase
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>
2024-02-17 11:41:15 -05:00
Jack Laxson 36450cf6a8 mk-cli-docs is manual 2024-02-13 17:59:09 -05:00
Ciprian Hacman 9bef6ef55a test: Improve cluster deletion defaults 2024-01-08 22:10:01 +02:00
Ciprian Hacman 03c109b74b Make cluster deletion configurable 2024-01-07 07:15:25 +02:00
Peter Rifel 8524175f86
Dump k8s resources with kops toolbox dump
Signed-off-by: Peter Rifel <pgrifel@gmail.com>
2023-12-30 19:22:53 -08:00
upodroid 3f17147571 add validation interval, cleanup 0 byte log files 2023-12-21 19:48:31 +00:00
Peter Rifel 2956f37e9b
Add --max-nodes flag to toolbox dump, default to 500 2023-12-07 06:30:35 -06:00
justinsb d5e55e4f8e feat: kops toolbox enroll command
Implement the enroll command, to add a node to an existing cluster.
This is intended to be used with (experimental) metal support.
2023-12-02 17:48:34 -05:00
Kubernetes Prow Robot f73595fe05
Merge pull request #16128 from justinsb/quotes_in_set_2
kops: Support quotes in --set flags
2023-11-26 18:59:18 +01:00
justinsb 3ea7af23da kops: Support quotes in --set flags
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.
2023-11-23 23:16:11 -05:00
Ciprian Hacman 464975c53d
Apply suggestions from code review 2023-11-23 19:18:10 +02:00
Prashant Rewar a39e3f9043 Improve kops edit cluster
Signed-off-by: Prashant Rewar <108176843+prashantrewar@users.noreply.github.com>
2023-11-23 21:12:18 +05:30
Dan Ports f5871271e6 Make --cloudonly sound less innocuous. 2023-09-14 23:39:07 -04:00
Ciprian Hacman 6e6a2a4e7b Address review comments 2023-09-05 12:34:20 +03:00
Ciprian Hacman 6fbc9e58a2 aws: Add option to provide multiple instance types on cluster creation 2023-09-02 17:01:02 +03:00
Kubernetes Prow Robot 62e7d71ae8
Merge pull request #15842 from hakman/update-deps
Update dependencies
2023-08-31 09:18:49 -07:00
Ciprian Hacman 5d43d5fe88 Update dependencies 2023-08-31 13:53:46 +03:00
Ciprian Hacman 4e0e28a32b aws: Create subnets for additional network CIDRs 2023-08-26 10:18:44 +03:00
Tone c2ed4b6f64
Upgrade Karpenter to v0.27.5 (#15144)
* 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
2023-06-29 22:57:45 -07:00
Ciprian Hacman 246da5a548 Add create cluster flag for specifying the list of etcd clusters 2023-06-27 17:14:09 +03:00
John Gardiner Myers 0dfac69d83 Remove support for Weave networking 2023-06-22 23:03:24 -07:00
Ciprian Hacman 43dc946522 Hide s2a flags from --help output 2023-05-08 07:35:36 +03:00
Ole Markus With 4e9e1aaabb Make it a bit more clear that toolbox commands may be experimental 2022-12-04 15:47:12 +01:00
Ole Markus With 27e206a264 Expose channels through kops toolbox cli
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
2022-12-04 15:47:09 +01:00
John Gardiner Myers dd5340775c Update cmd/kops/create_instancegroup.go
Co-authored-by: Ciprian Hacman <ciprian@hakman.dev>
2022-11-23 22:12:27 -08:00
John Gardiner Myers de9055b588 Update control-plane terminology in CLI output strings 2022-11-23 21:32:10 -08:00
John Gardiner Myers 18ab0b9965 Use new terminology in rolling-update flags 2022-11-23 14:11:20 -08:00
John Gardiner Myers 990b64eae3 make gen-cli-docs 2022-11-22 22:11:24 -08:00
John Gardiner Myers d6c72e0da0 make gen-cli-docs 2022-11-22 21:02:50 -08:00
John Gardiner Myers 2c4e8861c7 gen-cli-docs 2022-11-22 17:05:29 -08:00
Ciprian Hacman 398861dd66 Update CLI docs 2022-11-20 07:09:45 +02:00
John Gardiner Myers 26cec727ab New IPv6 clusters now default to private topology 2022-11-18 22:47:28 -08:00
Kubernetes Prow Robot c592a02bb4
Merge pull request #14532 from johngmyers/kops-get
Add "kops get all" command
2022-11-16 18:40:39 -08:00
John Gardiner Myers 1380f1d2dd Add --bastion-image flag to "kops create cluster" 2022-11-12 11:59:32 -08:00
John Gardiner Myers 7e83f8e385 Add "kops get all" command 2022-11-11 20:58:11 -08:00
John Gardiner Myers 7a4ac14d8d Change the default networking provider to Cilium 2022-11-10 10:08:13 -08:00
Ciprian Hacman 4e5ded6dc3 hetzner: Create cluster without DNS or Gossip 2022-10-27 11:29:37 +03:00
Ciprian Hacman 4c6368d7aa Deprecate `--api-loadbalancer-class` flag 2022-10-12 15:12:23 +03:00
Kubernetes Prow Robot cd4a8d3ad5
Merge pull request #14295 from hakman/cli_network-id
Replace --vpc flag with --network-id
2022-09-23 11:00:25 -07:00
Ciprian Hacman 81b4bb0717 hetzner: Move out of alpha and drop feature flag 2022-09-19 10:35:19 +03:00
Ciprian Hacman b193a3d35c Replace --vpc flag with --network-id 2022-09-18 14:34:53 +03:00