Commit Graph

38 Commits

Author SHA1 Message Date
Ole Markus With c6e5c4364d Allow setting dedicated apiserver node count from create cluster cmd 2021-03-27 08:59:45 +01:00
Bharath Vedartham e1e02aa761 Refactor error message 2021-02-09 00:24:30 +05:30
Jesse Haka 034dad258c modify names 2021-02-05 09:57:54 +02:00
Jesse Haka 41d04d8d4b add user agent to openstack api requests 2021-02-04 23:04:06 +02:00
Ole Markus With dd035fa2bc Revert "Set IMDSv2 to "required" only for new clusters"
This reverts commit 12cb288df1.
2021-02-04 17:57:35 +01:00
Ole Markus With a4c36af9de Revert "Increse imdv2 hop limit on control plane nodes"
This reverts commit 4e00e29fc3.
2021-02-04 17:57:23 +01:00
Ole Markus With 4e00e29fc3 Increse imdv2 hop limit on control plane nodes
Non-hostNetworking fails to talk to the instance metadata otherwise. Breaking e.g CSI controller
2021-01-31 19:35:07 +01:00
Ciprian Hacman 12cb288df1 Set IMDSv2 to "required" only for new clusters 2021-01-29 14:07:52 +02:00
Kubernetes Prow Robot 3d39be7721
Merge pull request #10661 from hakman/etcd-manager-defaults
Update AWS etcd-manager volumes defaults
2021-01-28 22:01:41 -08:00
rudeigerc 0e3317b341 Create default loadbalancer when SSL certificate is specified 2021-01-27 13:24:57 +08:00
Ciprian Hacman fcea4f5b08 Set default volume encryption to "true" for etcd-manager volumes in AWS 2021-01-26 11:29:27 +02:00
Ciprian Hacman 31f8cbd571 Use a more generic check for etcd member prefixes 2021-01-19 09:06:02 +02:00
Kubernetes Prow Robot 2e202badc5
Merge pull request #10361 from hakman/single-az-multi-master
Prefix etcd cluster names with letters
2021-01-05 07:51:58 -08: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
Ciprian Hacman c73ba45389 Prefix etcd cluster names with letters 2020-12-05 05:13:05 +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
Ciprian Hacman a999ac2d94 Deprecate field calico.majorVersion 2020-10-30 08:37:21 +02:00
Peter Rifel 8bf1dfd43e
GCE - Set Bastion InstanceGroup zone
GCE uses Spec.Zones rather than Spec.Subnets because subnets are regional rather than zonal.
This sets the Zones field for bastion IGs in GCE, avoiding an index out of range panic during cluster creation.
2020-08-27 14:17:02 -05:00
Peter Rifel 4d8f07c4f8
Fix GCE cluster creation with private topology
This was later failing api validation with:

`spec.subnets[1].region: Required value: region must be specified for GCE subnets`

So now we copy the region value from the equivalent non-utility subnet when creating utility subnets.
2020-08-25 20:03:06 -05:00
Peter Rifel 7d9f0a06cf
Update API slice fields to not use pointers
This is causing problems with the Kubernetes 1.19 code-generator.
A nil entry in these slices wouldn't be valid anyways, so this should have no impact.
2020-08-24 07:46:38 -05:00
Ciprian Hacman ca2d501950 Update validation for Calico to assume etcd3 as default 2020-08-24 12:54:15 +03: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 2be96562ca Min k8s version for nodeport should be 1.18
We newer kernel, and ubuntu 20.04 is only default from 1.18 and on
2020-07-08 15:12:11 +02:00
Ole Markus With a43efb1909 Parse kubernetesVersion correctly when it is url 2020-07-08 15:12:11 +02: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
John Gardiner Myers 03c5f4c024 Move remaining new cluster setup to pkg 2020-07-06 21:28:08 -07:00
John Gardiner Myers d60eeabade Move topology setup to pkg 2020-07-03 10:49:50 -07:00
John Gardiner Myers de0e20ee7b Move network provider setup to pkg 2020-07-03 10:49:16 -07:00
John Gardiner Myers b4c3b38436 Move more cloud provider setup to pkg 2020-07-03 10:48:29 -07:00
John Gardiner Myers f1a9297cb5 Move node setup to pkg and refactor 2020-06-30 22:45:38 -07:00
John Gardiner Myers a5b60ccac3 Move master setup to pkg and refactor 2020-06-30 21:52:06 -07:00
John Gardiner Myers a33acc0ae4 Move zone setup to pkg and refactor 2020-06-30 20:20: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 bd2890c0db Refactor more cluster creation code into NewCluster() 2020-06-30 12:37:10 -07:00
John Gardiner Myers be6ff2adb7 Start pushing create_cluster logic into pkg 2020-06-20 12:46:35 -07:00