Commit Graph

131 Commits

Author SHA1 Message Date
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 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 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
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
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
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
John Gardiner Myers 1380f1d2dd Add --bastion-image flag to "kops create cluster" 2022-11-12 11:59:32 -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
Ole Markus With 7d7780bad9 Revert "Remove passing cluster name as positional argument"
This reverts commit 824eb9cabb.
2022-08-18 07:26:42 +02:00
Ciprian Hacman 7ccf9f9a25 Run make gen-cli-docs 2022-08-03 21:07:12 +03:00
Ole Markus With 824eb9cabb Remove passing cluster name as positional argument
Apply suggestions from code review

Co-authored-by: Ciprian Hacman <ciprian@hakman.dev>
2022-07-31 15:54:35 +02:00
Ciprian Hacman 4198df2fcd Set SpecOverrideFlag to true by default 2022-07-08 07:25:23 +03:00
Ciprian Hacman 50c8709a6c Run make gen-cli-docs 2022-06-28 18:58:23 +03:00
github-actions 85048b5c3d Update dependencies 2022-06-27 14:47:00 +00:00
Ciprian Hacman 04a8874037 Remove featureflag for creating IPv6 clusters 2021-11-20 08:02:36 +02:00
John Gardiner Myers 019fb7d35d Add create cluster flag for enabling IRSA 2021-11-14 13:52:15 -08:00
Peter Rifel 4e96f68497
Fix list of supported cloud providers in CLI docs 2021-09-22 20:49:28 -05:00
Ciprian Hacman 9b65facbea make gen-cli-docs 2021-09-23 03:02:55 +03:00
John Gardiner Myers 6655022ce1 Remove support for the Lyft CNI 2021-08-28 11:54:39 -07:00
Ching Kuo 09f1280948 Generate CLI Doc 2021-07-28 10:27:56 +08:00
John Gardiner Myers e6ede8f4a9 Don't provision SSH key by default on AWS 2021-07-17 16:33:26 -07:00
John Gardiner Myers ae9c7a66e7 Implement remaining completion for "kops create cluster" 2021-07-08 06:04:27 -07:00
John Gardiner Myers 6d16c13f24 Implement some completion for "kops create cluster" 2021-07-06 08:16:44 -07:00
John Gardiner Myers 1356818d83 Make the AdminAccess default inclusive of IPv6 2021-06-14 21:51:17 -07:00
John Gardiner Myers 326a4beb49 Don't describe CloudLabels as being AWS-specific 2021-06-01 23:32:22 -07:00
Ciprian Hacman 54961e4ae5 Create new clusters without forcing a container runtime
Decide which container runtime to use later in model, based on Kubernetes version and other settings.
2021-05-09 21:43:58 +03:00
Barry Melbourne e30bf1cf35 Update Go modules to latest versions 2021-03-14 15:08:27 +00:00
Barry Melbourne 337c9c4c66 Set default container runtime to containerd 2021-01-16 14:55:35 +00:00
Kubernetes Prow Robot 0b5646e94a
Merge pull request #10266 from rifelpet/k8s120
Update k8s dependencies to 1.20.0-beta.2
2020-11-18 10:48:07 -08:00
Peter Rifel f78bf5bf5e
regenerate cli docs 2020-11-18 12:02:58 -06:00
Ciprian Hacman 3ca128d5ef make gen-cli-docs 2020-11-14 16:02:59 +02:00
axpraka 3033caa5e7 Update kops as kOps and remove extra spaces from .md files
- Updated kops as kOps in .md files.
- Remove extra spaces from .md files
2020-11-13 20:09:51 -05:00
Christian Joun e91ed11449
Implement API load balancer class with NLB and ELB support on AWS (#9011)
* refactor TargetLoadBalancer to use DNSTarget interface instead of LoadBalancer

* add LoadBalancerClass fields into api

* make api machinery

* WIP: Implemented API loadbalancer class, allowing NLB and ELB support on AWS for new clusters.

* perform vendoring related tasks and apply fixes identified from hack/

dissallow spotinst + nlb
remove reflection in status_discovery.go
Add precreated additional security groups to the Master nodes in case of NLB
Remove support for attaching individual instances to NLB; only rely on ASG attachments
Don't specify Classic loadbalancer in GCE integration test

* add utility function to the kops model context to make LoadBalancer comparisons simpler

* use DNSTarget interface when locating DNSName of API ELB

* wip: create target group task

* Consolidate TargetGroup tasks

* Use context helper for determining api load balancer type to avoid nil pointers

* Update NLB creation to use target group ARN from separate task rather than creating a TG in-line

* Address staticcheck and bazel failures

* Removing NLB Attachment tasks because they're not used since we switched to defining them as a part of the ASGs

* Address PR review feedback

* Only set LB Class field for AWS clusters, fix nil pointer

* Move target group attributes from NLB task to TG task, removing unused attributes

* Add terraform and cloudformation support for NLBs, listeners, and target groups

* Update integration test for NLB support

* Fix NLB name format to pass terraform validation

* Preserve security group rule names when switching ELB to NLB to reduce destructive terraform changes

* Use elbv2 enums and address some TODOs

* Set healthcheck values in target group

* Find TG tags, fix NLB name detection

* Fix more spurious changes reported by lifecycle integration test

* Fix spotinst validation, more code cleanup

* Address more PR feedback

* ReconcileTargetGroups unit test + more code simplification

* Addressing PR feedback Renaming task 1. awstasks.LoadBalancer -> awstasks.ClassicLoadBalancer

* Addressing PR feedback Renaming task: ELBName() -> CLBName() / LinkToELB() -> LinkToCLB()

* Addressing PR feedback: Various text changes

* fix export of kubecfg

* address TargetGroup should have the same name as the NLB

* should address error when fetching tags due to missing ARN

* Update expected and crds

* Add feature table to NLB docs

* Address more feedback and remove some TODOs that arent applicable anymore

* Update spotinst validation error message

Co-authored-by: Peter Rifel <pgrifel@gmail.com>
2020-11-02 05:28:52 -08:00
Ciprian Hacman 35d49a40a2 Update shell style for CLI docs for better compatibility 2020-10-28 18:23:23 +02:00
Ciprian Hacman f69ffeaa63 Update cluster and state store names in CLI docs 2020-10-28 18:22:53 +02:00
Derrik Campau ca70ac2203 Fix small typo in create cluster help output
Fixes typo in cmd/kops/create_cluster.go and
docs/cli/kops_create_cluster.md where example output had filename.yamlh,
changed to filename.yaml
2020-09-26 14:45:03 -07:00
Peter Rifel 4d9f0128a3
Upgrade to klog2
This splits up the kubernetes 1.19 PR to make it easier to keep up to date until we get it sorted out.
2020-08-16 20:56:48 -05:00
John Gardiner Myers e9b8e4e39a Create zero-node IGs if more zones than nodes 2020-07-17 11:26:09 -07:00