Commit Graph

3024 Commits

Author SHA1 Message Date
Bharath Vedartham c294e3df58 dockerconfig: Add default runtime and runtimes fields 2020-11-15 01:21:19 +05:30
Kubernetes Prow Robot c8e6ceea17
Merge pull request #10217 from hakman/nits
Fix various nits
2020-11-12 14:54:25 -08:00
Kubernetes Prow Robot db473a11cd
Merge pull request #10194 from elblivion/etcdmanager-logverbosity
Make etcd-manager log verbosity configurable
2020-11-12 10:39:07 -08:00
Ciprian Hacman c8de1d3042 Handle cluster cleanup more gracefully 2020-11-12 18:21:04 +02:00
Ciprian Hacman 4579a1bcdc Validate external IAM policies 2020-11-12 14:34:35 +02:00
Anthony Stanton c117d8d924 feat: Make etcd-manager log verbosity configurable 2020-11-12 09:58:09 +01:00
Kubernetes Prow Robot 74c7a7a75d
Merge pull request #10215 from zetaab/specimage
Allow to use custom csi plugin image and enable topology support
2020-11-11 02:15:48 -08:00
Kubernetes Prow Robot 4174b0fd7a
Merge pull request #10214 from johngmyers/remove-component
Remove components from cluster validation
2020-11-11 01:35:51 -08:00
Ciprian Hacman 3e8770f763 Update kOps version after 1.19.0-beta.1 release 2020-11-11 10:15:39 +02:00
Jesse Haka e68cb6303f generate apispecs 2020-11-11 10:13:34 +02:00
Jesse Haka a8ed94b74f Allow to use custom csi plugin image and enable topology support 2020-11-11 09:50:08 +02:00
John Gardiner Myers c2434a2e08 Remove components from cluster validation 2020-11-10 23:36:46 -08:00
Kubernetes Prow Robot 9b3f13d93f
Merge pull request #10151 from hakman/launch-template-versions
Use LaunchTemplate versions instead of timestamped LaunchTemplates
2020-11-10 23:23:48 -08:00
Kubernetes Prow Robot ddb3a38e28
Merge pull request #10190 from spotinst/feat-ocean-resource-limits
Spotinst: Configure Resource Limits in Ocean Auto Scaler
2020-11-10 18:15:48 -08:00
Kubernetes Prow Robot e43efbe102
Merge pull request #10157 from rifelpet/acm-nlb
Setup a second NLB listener when an AWS ACM certificate is used
2020-11-10 10:36:41 -08:00
Ciprian Hacman 0934374fe2 Fix various NLB nits 2020-11-10 17:30:23 +02:00
Peter Rifel 0072abd1a2
Update validation error permalink 2020-11-10 08:52:47 -06:00
Peter Rifel 4758ea9f2f
Address feedback 2020-11-09 17:24:32 -06:00
Ciprian Hacman 1d6a51aff9 Address review comments 2020-11-09 21:41:58 +02:00
Ciprian Hacman fdf976809e Use pagination when listing LaunchTemplates 2020-11-09 21:41:58 +02:00
Ciprian Hacman 565adceab9 Use LaunchTemplate versions instead of timestamped LaunchTemplates 2020-11-09 21:40:33 +02: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
Ciprian Hacman 32658075d3 Fix disabling spot instances when using launch templates 2020-11-08 19:11:45 +02:00
Ole Markus With 3721bbb76b Upgrade sprig to v3 2020-11-07 20:41:02 +01:00
liranp fce6a22755
feat(spot/ocean): configure resource limits 2020-11-07 20:32:51 +02: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
Jack Andersen 281e6140d9 Compare KubernetesAPIAccess to OpenStack allowedCIDRs deterministically 2020-11-07 00:29:24 -05:00
Peter Rifel 370092cb5a
Update TG ports rather than protocols when adding/removing ACM certs from listeners
This also renames the TGs to be more descriptive, with tcp and tls prefixes.
2020-11-06 11:09:38 -06:00
Peter Rifel 30f3d14979
Use the secondary ELB port when exporting kubecfg w/ --admin and sslCertificate 2020-11-06 11:09:37 -06:00
Peter Rifel 9242c34a38
Setup a second NLB listener on 8443 when sslCertificate is set 2020-11-06 11:09:37 -06:00
Peter Rifel 6c5b2fc58f
Add support for multiple NLB listeners and target groups 2020-11-06 11:09:36 -06: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
Jesse Haka bd2dcc93ca fix test 2020-11-06 11:17:23 +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
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
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
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
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
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