Commit Graph

61 Commits

Author SHA1 Message Date
Ciprian Hacman f11aa9b014 Start IPv6 CIDR numbering from 0 2021-11-01 13:26:10 +02:00
John Gardiner Myers 9f99d41323 IPv6 requires external CCM 2021-10-31 12:26:30 -07:00
Kubernetes Prow Robot b2a2e4e775
Merge pull request #12617 from johngmyers/ipv6-defaultss
Improve default CIDR assignments for IPv6
2021-10-26 23:37:32 -07:00
John Gardiner Myers 07d9114fc2 Set NonMasqueradeCIDR to ::/0 for new IPv6 clusters 2021-10-26 19:22:00 -07:00
justinsb d363bf3dad GCE: improve network & subnet terraform support
We should use the subnet spec in the Cluster, and default to creating
a new subnet/network, but allow an existing one to be specified.
2021-10-24 17:41:14 -04:00
Kubernetes Prow Robot 1774e6cae3
Merge pull request #12321 from dezmodue/private_bastion
Add option to create an internal load balancer for the bastion
2021-09-24 07:23:24 -07:00
Kubernetes Prow Robot defcdedb68
Merge pull request #12366 from justinsb/zone_autocompletion
Support zone autocompletion
2021-09-22 17:45:10 -07:00
justinsb c7e6187493 Support zone completion
Refactor cloud listing & zone guessing into its own package.
2021-09-20 09:53:33 -04:00
justinsb 16fc5e8cec GCE: Don't create utility subnets in private topology
We don't need them on GCE, and in fact we don't support them with IP Alias.
2021-09-20 09:31:33 -04:00
justinsb e21a20e863 Only configure IMDSv2 on AWS
These aren't used on other clouds.
2021-09-19 14:00:54 -04:00
Simone Sciarrati 61763d488a Add option to create an internal load balancer for the bastion 2021-09-18 20:47:55 +02:00
John Gardiner Myers be8933b577 Remove code for unsupported features 2021-08-28 13:49:55 -07:00
John Gardiner Myers 6655022ce1 Remove support for the Lyft CNI 2021-08-28 11:54:39 -07:00
Ching Kuo 7fba614a3c Add Option to Specify OpenStack Octavia Provider
In newer version of OpenStack, there are multiple octavia provider to
choose from instead of only "octavia" as provider. This commit added a
command line option "os-octavia-provider", enabling user to specify the
octavia provider that will be use to create load balancers.
2021-07-27 15:15:17 +08:00
Ole Markus With a536929fec Add auto compaction to new cilium etcd clusters and to docs 2021-07-09 15:47:46 +02:00
srikiz 27058c3f69 Incorporate review comments 2021-07-07 20:53:38 +05:30
srikiz bdc67e4282 Modify error message when multiple zones are specified 2021-07-07 19:56:41 +05:30
John Gardiner Myers 1356818d83 Make the AdminAccess default inclusive of IPv6 2021-06-14 21:51:17 -07:00
Ciprian Hacman 2a11fa7dde Add --ipv6 experimental cli flag 2021-06-13 21:48:46 +02:00
Ole Markus With 6582235312 Make AWS EBS CSI Driver default as of k8s 1.22 2021-06-08 22:29:16 +02:00
Ole Markus With b3a60d3bc2 Set IMDSv2 on by default for nodes
Bastion, nodes, and api servers get limit of 1
API servers tend to run pods requiring metadata access. The hop limit
depends on CNI, but all should work with a limit of 3.
2021-06-05 08:17:12 +02:00
John Gardiner Myers b82b129a54 Remove fallback support for legacy IAM 2021-05-30 16:52:42 -07:00
Ole Markus With 04b15e404e Enable AWS EBS CSI driver by default 2021-05-26 08:47:14 +02:00
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