Commit Graph

12301 Commits

Author SHA1 Message Date
Kubernetes Prow Robot db50373d94
Merge pull request #10156 from rifelpet/acm-permalink
Add ACM cert permalink
2020-11-10 06:48:40 -08:00
Kubernetes Prow Robot ecea47790b
Merge pull request #10198 from hakman/fix-spot-instance-2
Fix disabling spot instances when using launch templates
2020-11-09 05:32:27 -08:00
Kubernetes Prow Robot b91a40c52a
Merge pull request #10199 from hakman/fix-nlb-reconciliation
Fix AWS NLB reconciliation
2020-11-08 10:43:37 -08:00
Ciprian Hacman 32658075d3 Fix disabling spot instances when using launch templates 2020-11-08 19:11:45 +02:00
Ciprian Hacman 9e1e90dac9 Fix mismatch between expected launch template Name and ID 2020-11-08 19:08:00 +02:00
Kubernetes Prow Robot 8c9cbcaae0
Merge pull request #10192 from olemarkus/updates-helm
Upgrade helm to 2.17 and use the helm.sh reference
2020-11-08 06:43:37 -08:00
Ciprian Hacman 6c6a9daaf3 Fix AWS NLB reconciliation 2020-11-08 13:14:56 +02:00
Kubernetes Prow Robot f12c7ff510
Merge pull request #10191 from olemarkus/updates-sprig
Upgrade sprig to v3
2020-11-07 23:05:37 -08:00
Kubernetes Prow Robot af5cd1a5fc
Merge pull request #10187 from hakman/fix-spot-instances
Fix auto scaling group changes when using spot instances
2020-11-07 21:49:38 -08:00
Ciprian Hacman 4070f09bef Fix auto scaling group changes when using spot instances 2020-11-08 05:54:46 +02:00
Kubernetes Prow Robot 43995fa6dd
Merge pull request #10189 from bmelbourne/upgrade-hcl-v2-module
Upgrade Hashicorp HCLv2 Go module v2.7.0
2020-11-07 14:35:37 -08:00
Ole Markus With d24d9e05ba Upgrade helm to 2.17 and use the helm.sh reference 2020-11-07 21:09:08 +01:00
Ole Markus With 3721bbb76b Upgrade sprig to v3 2020-11-07 20:41:02 +01:00
Barry Melbourne 6d170bd89f Upgrade Hashicorp HCLv2 Go module v2.7.0 2020-11-07 18:06:06 +00:00
Kubernetes Prow Robot 6a57543f6e
Merge pull request #10179 from olemarkus/sgr-consistent-naming
Consistent naming of security group rules
2020-11-07 02:07:37 -08:00
Ole Markus With fab694d290 Add ability to consistently name sgrs
In order to let kops fully control the rules for each security group we need to be able to generate names from the info in AWS. This is similar to the approach we used for openstack

Update pkg/model/firewall.go

Co-authored-by: Ciprian Hacman <ciprianhacman@gmail.com>
2020-11-07 10:27:19 +01:00
Kubernetes Prow Robot 6d075f02aa
Merge pull request #10186 from havulv/determistic-ordering-openstack-cidrs
Compare KubernetesAPIAccess to OpenStack allowedCIDRs deterministically
2020-11-07 00:13:37 -08:00
Jack Andersen 281e6140d9 Compare KubernetesAPIAccess to OpenStack allowedCIDRs deterministically 2020-11-07 00:29:24 -05:00
Kubernetes Prow Robot 1200083400
Merge pull request #10181 from rifelpet/bearer-cleanup
Remove unused bearer token field from kubeconfig builder
2020-11-06 12:04:30 -08:00
Peter Rifel aebe742291
Remove unused bearer token field from kubeconfig builder
```
$ grep -r KubeBearerToken . | wc -l
0
```
2020-11-06 08:07:55 -06:00
Kubernetes Prow Robot d13ae5ab36
Merge pull request #10178 from zetaab/portinuse
OpenStack Reset deviceID status if needed
2020-11-06 01:50:50 -08:00
Jesse Haka bd2dcc93ca fix test 2020-11-06 11:17:23 +02:00
Jesse Haka e3bbe25bc9 Reset deviceID status if needed 2020-11-06 11:07:30 +02:00
Ole Markus With 3c76610688 Remove the commented code. We can always retrieve it later 2020-11-06 09:53:10 +01:00
Kubernetes Prow Robot 7b26ec4b6d
Merge pull request #10065 from bharath-123/feature/instancegroup-specific-validation
Avoid waiting on validation during rolling update for inapplicable instance groups
2020-11-05 22:38:50 -08:00
Marcos Soutullo Rodriguez 9d6479fbba
Mount the whole /etc/ssl/certs directory for k8s-ec2-srcdst (#10169)
* Fix: Mount the whole `/etc/ssl/certs` directory for k8s-ec2-srcdst deployment.

Signed-off-by: Marcos Soutullo Rodriguez <marcos.soutullo@vodafone.com>

* Fix: Retrospective change to mount all CA certificates in <k8s-1.16

* Apply suggestions from code review

Co-authored-by: Ciprian Hacman <ciprianhacman@gmail.com>
2020-11-04 22:12:53 -08:00
Kubernetes Prow Robot 8043a5e799
Merge pull request #10164 from hakman/fix-cf-tf
Fix output for CF and TF
2020-11-04 19:32:53 -08:00
Ciprian Hacman a3a0b91b5f Order policy document sections alphabetically 2020-11-04 16:15:00 +02:00
Ciprian Hacman 7ef07be471 Ignore tags added by CF 2020-11-04 16:15:00 +02:00
Ciprian Hacman b5e4b7ad48 Add missing instance monitoring for CF and TF 2020-11-04 16:15:00 +02:00
Ciprian Hacman 51e70083f8 Add missing resource names for CF 2020-11-04 16:15:00 +02:00
Kubernetes Prow Robot 3cc074d181
Merge pull request #10160 from Hellcatlk/master
Some typos
2020-11-03 18:52:04 -08:00
Kubernetes Prow Robot 578920e921
Merge pull request #10162 from rifelpet/nlb-sg
Fix additionalSecurityGroups support for NLB
2020-11-03 08:02:16 -08:00
Kubernetes Prow Robot 235133d0f5
Merge pull request #10161 from rifelpet/nlb-cidr
Move NLB's VPC CIDR security group rule logic into model
2020-11-03 06:50:16 -08:00
Peter Rifel 860249f6b7
Fix additionalSecurityGroups support for NLB
We were correctly adding the security groups to the master ASGs but identified them incorrectly.
2020-11-03 08:22:24 -06:00
Peter Rifel f08284834e
Move NLB's VPC CIDR security group rule logic into model
This way the security group rule task doesn't need to be aware of VPCs, since we know the VPC CIDR ahead of time via cluster spec.

This also fixes the terraform and cloudformation rendering of this rule (see the added cidr block in the integration test outputs)

These rules are for NLB's health checks. The AWS docs recommend allowing access from the entire VPC CIDRs
Also add rules for additionalNetworkCIDRs, supporting VPCs with multiple CIDR blocks.
2020-11-03 08:13:32 -06:00
zouyu 2e6b50f9e4 Some typos
Signed-off-by: zouyu <zouy.fnst@cn.fujitsu.com>
2020-11-03 16:28:30 +08:00
Kubernetes Prow Robot be5c344dce
Merge pull request #10158 from rifelpet/nlb-name
Fix NLB naming for terraform and cloudformation targets
2020-11-02 19:58:15 -08:00
Peter Rifel 0cd3854605
Fix NLB naming for terraform and cloudformation targets 2020-11-02 19:38:01 -06:00
Peter Rifel 30f13eae80
Add ACM cert permalink
The ACM bugfix will fail API validation with k8s >=1.19 + `sslCertificate` + `class: Classic`.
The error message will contain this permalink, so I'd like to get eyes on this early.
If/when we handle migration without downtime, we can update these instructions to match.
2020-11-02 11:11:04 -06: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
Kubernetes Prow Robot 9b6f89fa04
Merge pull request #10098 from srikiz/DO-Use-Debian10-Image
[Digital Ocean] Use Debian10 as default image
2020-11-01 11:24:52 -08:00
Srikanth Rao a7f6aae14f
Update upup/pkg/fi/cloudup/populate_instancegroup_spec.go
Co-authored-by: Ciprian Hacman <ciprianhacman@gmail.com>
2020-11-01 23:30:29 +05:30
Bharath Vedartham 1e18a5d344 rollingupdate_test: add tests for rolling update
The tests create a cluster with 2 node instance groups and 1 master and bastion instance groups.
Only one node instance group requires rolling update.

instanceGroupNodeSpecificErrorClusterValidator mocks a validation failure for a given node group.
rolling update should not fail if the cluster validator reports an error in an unrelated instance group.
2020-10-31 19:17:45 +05:30
Bharath Vedartham 7067f5f47a instancegroups: Ignore validation errors in unrelated instance groups
When unrelated instance groups produce validation errors, the instance group
being updated produces a failure and is forced to wait for rolling update to continue.

This can be avoided as failures in different node instance groups usually don't affect
the instance group being affected in any way.
2020-10-31 19:17:24 +05:30
Bharath Vedartham f99c04fafa validate_cluster_test: Update validate_cluster_tests
This commit fixes the unit tests for validate_cluster to reflect the addition of the new
InstanceGroup field in struct ValidationError
2020-10-31 19:16:54 +05:30
Bharath Vedartham 49f2a0e10a validate_cluster: Add InstanceGroup field to ValidationError struct
The InstanceGroup field in ValidationError struct is an optional field meant
to indicate the InstanceGroup which has reported that failure. This field either
holds a pointer to the instance group which caused the validation error or can be
nil which indicates that we were unable to determine the instance group to which
this failure should be attributed to.

This field is mainly used to identify whether a failure is worth waiting for
when validating a particular instance group.
2020-10-31 19:16:42 +05:30
Kubernetes Prow Robot 999ae25932
Merge pull request #10143 from hakman/deprecate-calico-mv
Deprecate field calico.majorVersion
2020-10-30 11:55:47 -07:00
Kubernetes Prow Robot 43293d551f
Merge pull request #10140 from rifelpet/elbv2-cloudmock
Update AWS Cloudmock for complex and externallb integration test clusters
2020-10-30 10:02:07 -07:00
Peter Rifel 7d5a39974f
Add lifecycle integration tests for complex and externallb clusters 2020-10-30 10:06:36 -05:00