Commit Graph

173 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 c9cc319423 Rename _kops_ to kOps in the docs 2020-10-29 19:40:56 +02:00
Ciprian Hacman 61708eae6b Rename kops to kOps in the docs 2020-10-29 19:40:53 +02:00
Ciprian Hacman 6a4d86baf9 Rename Kops to kOps in the docs 2020-10-29 19:39:50 +02:00
Javi Polo c2684bcf7b Add nodeLocalDNSCache.kubeDnsOnly option 2020-10-27 10:46:25 +01:00
dntosas 66f42d8a9b
Add support for KubeAPIServer --request-timeout flag
In this commit, we initialize the support of --request-timeout flag on
the configuration of KubeAPIServer so as to enable users for setting
timeout duration value for all kinds of handlers.

Signed-off-by: dntosas <ntosas@gmail.com>
2020-10-11 14:17:44 +03:00
nareshku dca69323b7 enable kubelet --housekeeping-interval flag 2020-10-07 08:00:41 -07:00
Chris Loukas 65610dbcee Update NodeLocalDNSConfig with Mem/CPU requests
Add NodeLocalDNS.CPURequest and NodeLocalDNS.MemoryRequest to
configure resource requests.

If not explicitly set, fall back to 25m and 5Mi
2020-09-09 18:40:14 +03:00
Ole Markus With 6cfd50a07a Deprecate the old cas addon 2020-09-09 12:13:32 +02:00
Ole Markus With a0e9fab104 Implement cluster autoscaler as bootstrap addon
Use provider-agnostic node definition for cas instead of aws auto-discovery

Validate clusterAutoscalerSpec

Add spec documentation

Add cas docs

Make CRDs

Apply suggestions from code review

Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>

Add enabled flag to cas config

Apply suggestions from code review

Co-authored-by: Guy Templeton <guyjtempleton@googlemail.com>

Add support for custom cas image

Support more k8s versions

Use full image names
2020-09-03 09:52:13 +02:00
Peter Rifel d0b8c654bd
Add --internal flag for export kubecfg that targets the internal dns name
Kops creates an "api.internal.$clustername" dns A record that points to the master IP(s)

This adds a flag that will use that name and force the CA cert to be included.
This is a workaround for client certificate authentication not working on API ELBs with ACM certificates.
The ELB has a TLS listener rather than TCP, so the client certificate is not passed through to the apiserver.
Using --internal will bypass the API ELB so that the client certificate will be passed directly to the apiserver.
This also requires that the masters' security groups allow 443 access from the client which this does not handle automatically.
2020-08-26 21:15:18 -05:00
John Gardiner Myers 171791aae2 De-emphasize bootstrap tokens and document node authorization as deprecated 2020-08-20 21:11:23 -07:00
Ciprian Hacman f452ebf9da Document Docker iptables settings
Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
2020-08-17 08:09:38 +03:00
Ciprian Hacman dcef2ff689 Update example for Resources Reservation 2020-08-08 11:08:26 +03:00
Peter Rifel 485f95a88b
Add the new kops feature table to a handful of feature sections 2020-07-19 18:01:18 -05:00
John Gardiner Myers 004f7b578f Default ClusterDNS appropriately when NodeLocalDNS is enabled 2020-07-03 16:57:03 -07:00
Michal Schott 9002b385c3
Adding extra link to docs re cgroups. 2020-06-17 21:49:13 +02:00
Michal Schott 60faf9579c
Updating cluster_spec doc. 2020-06-17 14:14:43 +02:00
Ole Markus With edb414aa39 Add nodelocal dns cache to release notes and add kops version to docs 2020-06-12 15:50:02 +02:00
Peter Rifel 9f67420120
Cleanup syntax highlighting and misc markdown cleanup 2020-06-08 22:12:32 -05:00
Kubernetes Prow Robot 6830cf6d44
Merge pull request #9065 from johngmyers/remove-distro
Remove support for CoreOS and Jessie
2020-05-27 23:22:01 -07:00
Ciprian Hacman 3957c7ce33 Document etcd-manager backups retention settings 2020-05-27 19:04:12 +03:00
John Gardiner Myers 2d98e5609c Remove/fix more CoreOS references 2020-05-22 20:54:41 -07:00
Ryan Bonham 82def095ff
Minor doc fix. __address__ is not valid to use, will cuase etcd failing to start.. Should pass in 0.0.0.0 as address. 2020-05-22 12:55:13 -04:00
Michal Schott 367f8856e3
Update docs/cluster_spec.md
Co-Authored-By: Ciprian Hacman <ciprianhacman@gmail.com>
2020-04-25 14:33:02 +02:00
Michal Schott cd258f8d3f
Added protect-kernel-defaults flag. 2020-04-23 23:45:24 +02:00
Michal Schott f45c702643
Added profiling flag. 2020-04-23 23:29:59 +02:00
Ole Markus With bb9b842a7a
Apply suggestions from code review
Co-Authored-By: Peter Rifel <rifelpet@users.noreply.github.com>
2020-04-15 18:41:47 +02:00
Ole Markus With b3ed808ac6 More clear split between IG specs and operations docs 2020-04-12 09:02:11 +02:00
Ole Markus With bc7b45f41c Clean up the cluster spec documentation 2020-04-12 09:02:11 +02:00
Ole Markus With d5019a6c11 Simplify the spec and templates a bit 2020-04-10 10:48:21 +02:00
Salvatore Mazzarino f754cbda7d NodeLocal DNSCache
Signed-off-by: Salvatore Mazzarino <dev@mazzarino.cz>
2020-04-10 10:44:53 +02:00
Ciprian Hacman ad8e1ceff7 Remove basic authentication support for k8s 1.19+ 2020-04-05 17:47:26 +03:00
Michal Schott 92b1f4685d
cluster_spec doc update about etcd metrics exposure. 2020-03-16 13:22:23 +01:00
David Medinets 2d7afe681d
Changed "you cache" to "your cache"
Fixed typo.
2020-03-04 08:10:28 -05:00
Ciprian Hacman fc8c9e82bb Add release notes and docs for containerd 2020-02-21 11:00:55 +02:00
Jin Hase c637ad7104 Fix typos in cluster_spec.md 2020-02-05 21:13:02 +09:00
Peter Rifel 1df957e354 Update godoc.org references to use pkg.go.dev 2020-02-01 11:11:42 -06:00
Austin Moore 4a88f7b5a5
Add ability to specify no ssh key by setting sshKeyName to empty
Add tests for no ssh key functionality

Add docs for setting no ssh key

Disable sshKey rendering for cloudformation if nosshkey is set

Fix broken test

make goimports

Fix

Formatting fix

Update kubernetes version for tests

Update expected test output

Fix imports in mesh.pb.go

Run hack/update-expected.sh

Change digital ocean logic to handle *string for SSHKeyName

Fix expected output

Missed a few
2020-01-15 15:24:32 -05:00
Kubernetes Prow Robot afb4ecb883
Merge pull request #7730 from ripta/custom-sysctls
Custom sysctl Parameters
2020-01-03 07:35:41 -08:00
Ripta Pasay 4a32fbbc06 Add sysctl documentation to cluster and instance group specs 2019-12-05 00:47:40 -08:00
Kubernetes Prow Robot 482fce5d54
Merge pull request #7424 from mmerrill3/feature/dynamic-audit-config
Implementing audit dynamic configuration (#7392)
2019-11-26 01:01:10 -08:00
John Gardiner Myers c22dc15467 Change doc cross-references from absolute to relative links 2019-11-10 10:40:11 -08:00
Gabriel Tiossi 173085e567 Document eventTTL
Add and example and explain that you should fill empty units of time
with zeros.
2019-10-26 21:26:36 -03:00
mmerrill3 5cf94c8ddf Implementing audit dynamic configuration (#7392)
Signed-off-by: mmerrill3 <michael.merrill@vonage.com>
2019-10-24 10:21:27 -04:00
GuyTempleton e87b1fddbe
Allow for override of CoreDNS version
Allow users to override the CoreDNS image version to take advantage of local image registries or differing versions of the image to allow quicker access to new/improved CoreDNS plugins.
2019-10-15 21:07:12 +01:00
Jesse Haka 4ccad007ce mountcerts -> usehostcerts 2019-09-30 11:36:32 +03:00
Jesse Haka 352bc1eaa2 Allow to use custom rootCAs 2019-09-30 11:35:58 +03:00
Kubernetes Prow Robot 30c6f65300
Merge pull request #6957 from austinmoore-/skip-docker-install
Skip Docker install
2019-09-18 14:55:00 -07:00
Austin Moore e50b2dd2cc
Update readme with skipinstall instructions 2019-09-17 11:58:16 -04:00