Commit Graph

93 Commits

Author SHA1 Message Date
Peter Rifel 2f328116ef
Automated cherry pick of #10140 and #9011: Implement API load balancer class with NLB and ELB support on AWS (#10154)
* Create cloudmock implementations for elbv2 API calls used by future NLB support

* Add missing cloudmock functionality for enabling lifecycle integration test on complex cluster

* Add lifecycle integration tests for complex and externallb clusters

* 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: Christian Joun <cjoun@proofpoint.com>
2020-11-02 09:10:54 -08:00
Justin SB c63ce4b5ab Implement setter by reflection
This means we no longer have to individually hard-code the `kops set`
fields, however we use the "language" we're now demonstrated.

We add tests to ensure we have parity with our existing (hard-coded)
setter logic.
2020-08-30 09:59:52 -04:00
Peter Rifel 55f33c68b3
Cleanup old v1alpha1 test outputs 2020-08-27 14:30:10 -05:00
Peter Rifel 64f6f5e2cb
Add integration test for GCE private topology with bastion 2020-08-27 14:28:26 -05:00
John Gardiner Myers d434733254 update-expected.sh 2020-07-30 19:42:07 -07:00
John Gardiner Myers d0b30cf771 update-expected.sh 2020-07-17 11:26:09 -07:00
John Gardiner Myers 56e5adc67e Move VPC setup into NewCluster() 2020-06-30 12:37:46 -07:00
John Gardiner Myers fe66b0011b Move CloudProvider determination into NewCluster() 2020-06-30 12:37:11 -07:00
John Gardiner Myers ec4fe1e7e8 Don't put bastions in the utility subnets 2020-05-12 22:06:34 -07:00
John Gardiner Myers 843e5b9b16 Move GCEServiceAccount into CloudConfig 2020-05-03 20:35:32 -07:00
eric-hole c59314a799 Adds some initial tests. Fixes some logic
Need to fix service account implementation first

Fixing tests and iterating on the serviceaccount logic

Run the gce_byo_sa test
2020-04-04 21:20:31 -07:00
eric-hole b3d65ffce0 Adds a gce-service-account flag so you BYO service-account
Generated code and some cleanup

Not sure where that code went

Tests for service account

fixes case on gceserviceaccount
2020-04-04 21:15:56 -07:00
eric-hole 0daa5388ba Fixing gce integration tests (thanks Peter) with nodeLabels 2020-03-14 12:18:05 -07:00
Ole Markus With 98ea9119a3 Fix tests 2020-02-06 19:41:47 +01:00
Kubernetes Prow Robot 8664fa69c4
Merge pull request #8172 from hakman/container-runtime-cli-flag
containerd: Add --container-runtime cli flag
2019-12-27 09:29:59 -08:00
Ciprian Hacman 8523dd8d9d Update tests for --container-runtime 2019-12-22 22:16:08 +02:00
Peter Rifel cf43c53f4d Update kubernetes versions used in integration tests 2019-12-21 08:12:48 -06:00
Justin SB 098b348d6a
stable channel: promote default AMIs from alpha -> stable
Promoting the 2019-09-26 AMIs
2019-11-07 22:42:03 -05:00
Justin SB 1580d4c82b
Update tests to use k8s >= 1.14
Where tests are using a version of k8s that is now really deprecated,
replace it with k8s 1.14.0.
2019-09-14 13:58:50 -04:00
Justin SB fafa283e02
Promote 2019-08-16 AMIs from alpha -> stable
As discussed in office hours.
2019-09-14 11:32:38 -04:00
Justin SB 79bf0a05ac
Fix golden output: creationTimestamp is now quoted 2019-08-25 16:00:40 -04:00
Justin SB ba9a4afc43
apigroup -> kops.k8s.io: Tests & supporting changes
Autogenerated code, docs & test changes

Also a new test for the older "kops" apiGroup, to make sure that
continues to work.
2019-05-06 22:26:29 -04:00
Eric Greer 8362b1260e etcd memory requests can now be specified 2019-02-21 15:14:51 -08:00
Jared Allard fee9bb1f90
fix(tests/integration/create_cluster): fix up minimal <-> ing mixup 2018-11-24 17:12:04 -08:00
Jared Allard c54222bdb8
chore(tests): use minimal as the test not dedicated security one 2018-11-24 17:07:19 -08:00
Jared Allard 19811d9759
chore(tests): fix them up 2018-11-24 17:03:50 -08:00
Jared Allard f4de628519
chore(tests): fix some find and replace issues 2018-11-24 16:23:05 -08:00
Jared Allard 49ceb0a8dc
feat: fix tests and ref link in apply_cluster 2018-11-24 16:17:32 -08:00
Jared Allard 2182b879d9
fix(cmd/kops/create_cluster): set anonymousAuth to false not true, whoops 2018-11-24 11:08:09 -08:00
Jared Allard 2336498467
chore(tests/integration/create_cluster): finalize tests 2018-11-16 23:11:00 -08:00
Jared Allard 19f9d2f4d1
Merge branch 'master' into master 2018-11-16 23:03:38 -08:00
Jared Allard b075964a1d
chore(tests/integration/create_cluster): move test defns lower 2018-11-16 23:02:05 -08:00
Jared Allard 9b5b56aa63
chore(tests/integration/create_cluster): add new field 2018-11-16 22:40:25 -08:00
Justin Santa Barbara e119068480 Update tests for channel bump 2018-10-15 16:56:34 -04:00
Justin Santa Barbara 54c499fe9b Introduce field to specify whether we are using etcd-manager or legacy mode
Splitting this out from the bigger bundle PR
2018-10-01 15:36:24 -07:00
Justin Santa Barbara 587d8374b5 Revert COS in stable/alpha channel
No problem with COS per-se, but these versions have the newer docker,
which includes the --storage flag.  We fixed that in master in #5258,
but older versions of kops - including the currently released version
1.9.1 - don't have the fix.

Revert to fix the problem immediately, but opened #5358 to track a
more realistic fix.
2018-06-20 20:00:15 -04:00
Justin Santa Barbara e73ee4e3e8 Update tests for alpha -> stable promotion 2018-05-31 07:41:31 -07:00
Aurel Canciu cc8371cb31
Add ability to use ec2 nat instance as egress 2018-05-09 23:04:54 +03:00
Justin Santa Barbara 5d36f9e37d Update kops version in tests
We need to satisfy the new minimum supported version.
2018-03-12 02:17:49 -04:00
k8s-ci-robot b02a73fa2c
Merge pull request #4184 from chrislovecnm/rbac-default
Switching the default for kops to create a cluster with RBAC enabled.
2018-01-26 10:52:33 -08:00
Justin Santa Barbara 930fe8e740 Promote alpha channel image to stable
The 4.4.111 image is not showing the flakiness on the NFS e2e tests.
2018-01-22 19:42:40 -05:00
Justin Santa Barbara da55c5eaee Update tests with new default image 2018-01-20 00:11:23 -05:00
chrislovecnm 4f9ed369e9 Updating tests for having default RBAC setting 2018-01-04 00:12:42 -07:00
Kubernetes Submit Queue e88496a248
Merge pull request #4061 from meringu/create-subnets
Automatic merge from submit-queue.

Add --subnets and --utility-subnets to kops create cluster

This change adds two new options to `kops create cluster`

When specifying `--vpc`, `--subnets` can be specified as an unordered array of subnet ids. Kops will then look up the zones of the subnets to find which zone to add the subnet id to.

If `--topology private` is also specified, `--utility-subnets` can similarly be specified.

~If a zone was specified but a subnet wasn't given that matches the zone, then the subnet will be allocated a CIDR with the current behaviour.~ This case fails validation here 7bd0a6a703/pkg/apis/kops/validation/validation.go (L151)

I can add unit tests and docs changes if required, but I am keen to get feedback before I proceed much further.

I have only added support for AWS.

I have tested this by running a command similar to this:

```bash
kops create cluster \
  --zones=us-east-1a,us-east-1b,us-east-1c \
  --topology private \
  --master-zones=us-east-1a,us-east-1b,us-east-1c  \
  --vpc $vpc_id \
  --subnets subnet-111111,subnet-222222,subnet-333333 \
  --utility-subnets subnet-444444,subnet-555555,subnet-666666 \
  $cluster_hosted_zone_name
```

And the cluster spec was as expected.
2017-12-18 21:12:59 -08:00
Henry Muru Paenga 0491530b6e Lookup vpc if not given to create cluster 2017-12-18 11:12:57 +13:00
Henry Muru Paenga afc1b58722 Tests for create cluster in shared vpc 2017-12-15 18:29:20 +13:00
Justin Santa Barbara a3c9c2f4c2 Promote alpha channel to stable 2017-12-03 12:45:24 -05:00
georgebuckerfield ba4dd61142 Fixing tests 2017-11-07 11:25:59 +00:00
Kashif Saadat b30606ffda Enable IAM Container Registry permissions by default when creating a cluster (#3760). 2017-11-03 17:26:51 +00:00
Kubernetes Submit Queue f2e707ef2d Merge pull request #3460 from justinsb/bump_gce_cos
Automatic merge from submit-queue.

Update Google COS image
2017-10-05 00:08:40 -07:00