Commit Graph

23 Commits

Author SHA1 Message Date
liranp fce6a22755
feat(spot/ocean): configure resource limits 2020-11-07 20:32:51 +02: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
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
liranp 64c07b336a
feat(spot/ocean): add support for instance types in launchspec 2020-08-13 16:32:54 +03:00
liranp 0cfa2bb6a7
fix(spot/ocean): default instance group should be optional 2020-08-06 19:32:19 +03:00
liranp 4d8866824f
fix(spot): change `ScaleDown.MaxPercentage` from int to float64 2020-08-04 23:40:44 +03:00
Kubernetes Prow Robot d461bfddaf
Merge pull request #9449 from johngmyers/userdata-task
Refactor BootstrapScript into a Task
2020-06-28 16:40:14 -07:00
liranp b80a0af843
feat(spot/launchspec): add support for root volume size 2020-06-28 16:34:13 +03:00
John Gardiner Myers 013f9bf914 Create bootstrap script in a Task 2020-06-26 19:11:40 -07:00
John Gardiner Myers cef5b175c7 Rename BootstrapScript to BootstrapScriptBuilder 2020-06-26 10:57:36 -07:00
liranp febcb04c9c
fix(spot): add missing lifecycle to awstasks.SecurityGroup 2020-06-25 19:23:31 +03:00
liranp 53f3ac776a
feat(spot): add support for draining timeout 2020-05-31 17:20:18 +03:00
liranp 04d83c6c04
fix(spotinst): rename the label to match the feature flag 2020-05-23 21:39:07 +03:00
liranp 23c0cdab36
feat(spotinst): new hybrid mode 2020-05-23 21:39:04 +03:00
liranp 1ecf559b71
feat(spot/ocean): add support for grace period 2020-04-28 19:54:57 +03:00
liranp 870bdfdcff
feature(spotinst): add support for auto scaler configuration 2020-04-19 14:22:57 +03:00
liranp 11a532aff6
feat(spotinst/ocean): add support for tags (cloud labels) 2020-02-23 21:28:14 +02:00
liranp cd1d474475
feat(spotinst/ocean): add support for blacklisting or whitelisting instance types 2020-02-23 15:13:53 +02:00
Ciprian Hacman e8c107f767 Update tags support for LaunchTemplates 2020-02-21 10:12:14 +02:00
tanjunchen 9aaa3c7f43 remove unnecessary break 2019-10-29 13:03:35 +08:00
hwdef b0c63b4cd9 pkg: fix static check 2019-10-24 14:16:41 +08:00
mikesplain 9e55b8230a Update copyright notices
Also cleans some white spaces
2019-09-09 14:47:51 -04:00
liranp 80020052d3
feat(spotinst): new instance group type: ocean 2019-06-03 12:38:46 +03:00