Commit Graph

87 Commits

Author SHA1 Message Date
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
John Gardiner Myers fbc235a3fe Create one nodes IG per zone 2020-07-17 11:26:09 -07:00
Ole Markus With aab5054ffc Add networking provider for using etcd-manager for cilium
This is the only feasible way of adding the additional etcd cluster for a cilium e2e test
2020-07-07 21:06:21 +02:00
Peter Rifel 7582109b23
Update AWS VPC CNI docs to use --networking amazonvpc 2020-07-06 17:40:21 -05:00
John Gardiner Myers a76a1cd127 Remove unused model options 2020-06-21 22:37:16 -07:00
Ciprian Hacman 279fd313ec Address review comments
Co-authored-by: Peter Rifel <rifelpet@users.noreply.github.com>
2020-06-20 19:33:42 +03:00
Ciprian Hacman fa9b4ac217 Add master and node image options when creating a cluster 2020-06-19 22:23:05 +03:00
Ole Markus With 7342525872 Remove vsphere from kops files 2020-05-30 13:36:55 +02:00
Ole Markus With 6e04586361 Docs fixes 2020-05-22 08:08:58 +02:00
Ole Markus With 95d2170fa6 Update networking in kops create
* Remove classic from cli docs. Add missing providers
* Use cilium instead of weave in example since we don't consider weave stable
2020-05-22 08:08:58 +02: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
Justin Santa Barbara adf2a5c681
Update cli docs
klog added a flag (add_dir_header).
2020-01-17 06:35:22 -05:00
Ciprian Hacman 8b15e5b03a Add --container-runtime cli flag 2019-12-22 22:16:04 +02:00
eric-hole 4d280e44a6 update gnerated CLI docs as per Pete's typo fix 2019-12-16 20:10:16 -08:00
Eric Hole 8d1d0f6f15
Update docs/cli/kops_create_cluster.md
Co-Authored-By: Peter Rifel <rifelpet@users.noreply.github.com>
2019-12-16 16:16:34 -08:00
eric-hole 723abce4e5 Generated code: kops_create_cluster 2019-12-15 23:54:39 -08:00
Jesse Haka 5e3b94ae17 use existing network and subnet 2019-10-27 08:21:25 +02:00
Jesse Haka d9da911457 run gen docs 2019-08-30 08:22:50 +03:00
Justin SB eb4fe3f8ff
Generate docs
https://github.com/kubernetes/kubernetes/pull/72137 appears to have
introduced spurious spaces, but I think we can live with it for now.
2019-08-26 07:54:30 -07:00
Justin SB 547b5bbbb9
Update CLI docs 2019-05-06 13:44:41 -04:00
Derek Lemon -T (delemon - AEROTEK INC at Cisco) e0a16a9252 Docs for openstack addition 2019-01-20 00:10:11 -07:00
Justin SB 26bd75aecb
Bulk spelling fixes
Experimenting with my own spelling checker, these are the typos it caught.
2018-12-20 17:43:56 -05:00
Kenjiro Nakayama 4489d86aff Add cni to usage network option for kops create cluster 2018-12-01 11:53:48 +09:00
Sean Johnson 737a7a2cb8 5700: Add command line flag for disabling Subnet ELB tags 2018-10-10 12:48:06 +11:00
Justin Santa Barbara 01d188af38 Sync up CLI args help
Follow on to #5425; another flag and we need to update the source code
as well as the output.

Follow on also to #5721 and #4687
2018-10-08 17:03:00 -07:00
Justin Santa Barbara b1db2f362b
Merge pull request #5425 from marceliwac/patch-1
Fixed duplicate info
2018-10-08 19:15:19 -04:00
k8s-ci-robot 54cbe492cb
Merge pull request #5414 from Raffo/master
[WIP] Initial implementation of ACM certificate for API server ELB
2018-07-19 08:34:54 -07:00
Marceli-Wac 8ebfef3f5c
Fixed duplicate info
Fixed duplicate info about default value for --topology flag
2018-07-10 10:01:50 +02:00
Raffaele Di Fazio b5ea3359a9 Added new flag doc to kops_create_cluster documentation 2018-07-08 16:23:23 +02:00
k8s-ci-robot 127e031948
Merge pull request #5256 from justinsb/dont_autoload_key_on_gce
Don't autoload SSH key on GCE
2018-06-17 08:38:29 -07:00
Justin Santa Barbara 1549b6e961 Don't autoload SSH key on GCE
This lets us merge #5056
2018-06-17 09:11:06 -04:00
Justin Santa Barbara b334650c68
Merge branch 'master' into feature-2435-s3configfile 2018-06-11 11:53:23 -04:00
Justin Santa Barbara ef5936d8b5 Support overlay2 in docker
We also have to stop passing the flag on ContainerOS, because it's set
in /etc/docker/default.json and it's now an error to pass the flag.

That in turn means we move those options to code, which are the last of
those legacy config options.  (We still have a few tasks declaratively
defined though)
2018-06-07 17:11:11 -04:00
Rodrigo Menezes 11b3da7a87 Clarify the usage of the --state flag. 2018-06-05 09:48:14 -07:00
Julien SENON 9829245f3f
Generate make gen-cli-docs 2018-04-22 16:50:14 +02:00
Justin Santa Barbara 738cadb45a Update generated docs 2018-04-18 21:02:22 -04:00
sunlintong e735414448 add 2018-04-03 16:46:09 +08:00
Maciej Kwiek bca52dede9 Add Cilium as CNI plugin
Signed-off-by: Maciej Kwiek <maciej@covalent.io>
2018-03-20 13:07:26 +01:00
Kyle Rockman 8382cbbe57 redo documenation generation after PR changes 2018-03-09 10:21:24 -06:00
Kyle Rockman 148655da1f recompile documentation 2018-03-09 10:14:00 -06: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
Peter Rifel 9b3f0c17ea Fix typo in --target description 2018-01-08 12:10:03 -08:00
chrislovecnm 120cd93c26 Switching the default for kops to create a cluster with RBAC enabled.
When kops creates a cluster RBAC is enabled by default.
2018-01-03 00:31:05 -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
Manuel de Brito Fontes 2e05dd17aa Add support for Amazon VPC CNI plugin 2017-12-17 18:08:24 -03:00