Commit Graph

16 Commits

Author SHA1 Message Date
Gabe Jackson e90050f134 Add `set instancegroup` command
This change adds a new command and functionality for updating
instance group configuration via command line arguments. This
behavior mimics the `set cluster` command.
2021-01-15 12:19:26 -05:00
Kenji Kaneda a61caea8d2 Add Azure support
This commit contains all changes required to support Azure
(https://github.com/kubernetes/kops/issues/3957).
2020-12-21 08:27:54 -08: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
Justin SB 0cda0f5068 Support authentication helper for kubectl
We create a simple exec plugin command which can create and renew
short-lived admin credentials on the fly, essentially leveraging the
security of the underlying cloud credentials.

Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
2020-08-30 15:16:20 -04: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
Ole Markus With cf9a5c0289 Add ability to set various cilium flags through CLI
Needed for a new e2e cilium test
2020-07-07 21:04:23 +02:00
Srikanth 42e88a7f89 Initial changes for load balancer task
Add load balancer fi tasks

Add load balancer builder for DO

Fix go imports

Implement FindIPAddress functionality

Add load balancer api ingress status calls

Add error checks for FindIPAddress

Add delete LB option

Update load balancer delete logic

Revert make file changes

revert utils code changes

Revert NewDOCloud changes

Remove minor code comments

Update with gomod for dependencies
2020-01-27 15:03:05 +05:30
Adrian Fedoreanu e3f7fa5768
add support to set cluster spec.kubelet
* spec.kubelet.authorizationMode
* spec.kubelet.authenticationTokenWebhook
2019-03-15 11:04:45 +01:00
Kubernetes Prow Robot 70484c009a
Merge pull request #6232 from justinsb/ask_kops_for_its_version
kops version: Add --short flag, use it to get version in scripts
2019-01-27 13:50:37 -08:00
Justin SB b40c9034bd
kops version: Add --short flag, use it to get version in scripts
We upload to a location that includes the version, but we need to
specify the version in KOPS_BASE_URL.  We expose an option to make
`kops version` more amenable to this scripting.
2019-01-22 22:27:33 -05:00
Derek Lemon -T (delemon - AEROTEK INC at Cisco) 5cae86c2ce dep ensure and gofmt updates 2019-01-16 15:09:20 -07:00
Derek Lemon -T (delemon - AEROTEK INC at Cisco) 64b63ba6ae Removing references to drekle repo 2019-01-15 14:21:11 -07:00
Derek Lemon -T (delemon - AEROTEK INC at Cisco) af91543345 Checking in model and task dependencies 2019-01-15 14:13:53 -07:00
LilyFaFa b3aabfdebc support edit cluster and rolling-update cluster for AliCloud 2018-07-07 15:42:44 +08:00
chrislovecnm 658d1bb484 fixing bazel file 2018-02-26 13:03:44 -07:00
Justin Santa Barbara 6f52996c2a Experimental kops set cluster command
Introduce an experimental kops set cluster command, for setting
individual fields in the same style as the kops create cluster
--override flags.

For now, feature flag gated by the same SpecOverrideFlag feature flag.

Also split out pkg/commands package to facilitate testing.
2018-02-26 09:33:16 -05:00