Commit Graph

1614 Commits

Author SHA1 Message Date
Ole Markus With 5ca7c9b5d7 Use VFS as service account issuer if configured
Also add an integration test that uses VFS
2021-04-30 21:02:30 +02:00
Ole Markus With 460586833b Add toggle for AWS OIDC provider. Free it from any feature flag 2021-04-30 19:19:06 +02:00
Ole Markus With 25b5f0cfb2 Move publicDataStore to serviceAccountIssuerDiscovery.discoveryStore 2021-04-30 19:19:06 +02:00
Ole Markus With 0f545f8659 Split oidc_provider
* one builder concerned with publishing issuer discovery metadata
* one builder concerned with creating aws oidc provider
2021-04-30 18:05:20 +02:00
Kubernetes Prow Robot 7a63ed8f5c
Merge pull request #11360 from dntosas/nth-resources
[addons/nth] Add capability to define resources
2021-04-30 07:53:58 -07:00
Ciprian Hacman 4a0fa78b20 Run hack/update-bazel.sh 2021-04-30 14:50:46 +03:00
Ciprian Hacman 0e651dd8fc Use AWSModelContext in remaining awsmodel files 2021-04-30 14:50:46 +03:00
Ciprian Hacman 137fe6c2bb Move firewall to awsmodel 2021-04-30 14:50:46 +03:00
dntosas 7e20f87822
[addons/nth] Add capability to define resources
Node termination handler as all daemonSets may play a critical role in
capacity planning, define resource policy for chosing instanceType etc.

In this commit, we enable users to define resources themselves to meet
their needs and also removed limits to convey with the chosen strategy
to avoid limits on such components.

Signed-off-by: dntosas <ntosas@gmail.com>
2021-04-30 14:13:11 +03:00
Ciprian Hacman fcba0043d0 Move iam to awsmodel 2021-04-30 12:37:28 +03:00
Ciprian Hacman 4dfe58de7a Move network to awsmodel 2021-04-30 12:04:06 +03:00
Ciprian Hacman ca02c04793 Move sshkey to awsmodel 2021-04-30 12:04:06 +03:00
Ciprian Hacman c49b71feb5 Use same method receiver names everywhere 2021-04-30 11:31:14 +03:00
Ciprian Hacman bd7176f45f Replace convenience functions with fi.* alternatives 2021-04-30 11:26:48 +03:00
Ciprian Hacman 75047c6513 Mount /run inside etcd-manager pods for systemd mounts 2021-04-29 10:15:58 +03:00
Ole Markus With 01ccf4590f Bump cilium to 1.9.6 2021-04-28 10:06:13 +02:00
Kubernetes Prow Robot 942f183157
Merge pull request #11336 from olemarkus/sqs-fix-flap
Fix SQS resource flapping
2021-04-27 22:08:49 -07:00
Ole Markus With f16cafb8ef Make hook task name unique while the hook name is consistent
Since tasks need to be unique, but we need to reuse the hookname across all ASGs, we distinguish between task and actual name of the hook
2021-04-27 20:57:19 +02:00
Ole Markus With 849ff56c96 Fix SQS resource flapping
* one case of AWS returning different JSON than we passed
* AWS returning a field we do not (and can not) build an expected value of
2021-04-27 20:47:24 +02:00
Kubernetes Prow Robot 17e46e5a2c
Merge pull request #11322 from johngmyers/warmpool-cluster
Add cluster-level warmPool settings
2021-04-27 02:09:38 -07:00
Kubernetes Prow Robot d90ace058b
Merge pull request #11304 from dntosas/update-aws-csi-ebs
[csi/aws] Bump templates + add support for warm pools
2021-04-26 02:37:01 -07:00
John Gardiner Myers 428041bc0f Add cluster-level warmPool settings 2021-04-25 20:22:04 -07:00
John Gardiner Myers 5ad32230bb Fix typo 2021-04-25 13:42:12 -07:00
dntosas af6d4d585f
[csi/aws] Bump templates to latest stable version …
- Update manifests
- Bump components version
- Add API capability of setting Version + VolumeLimit
- Remove snapshot-controller resources as it should be independent from
any CSI driver

Signed-off-by: dntosas <ntosas@gmail.com>
2021-04-25 16:45:15 +03:00
John Gardiner Myers 044b5f6d0d Allow disabling warm pool by setting WarmPool.MaxSize to 0 2021-04-24 16:35:46 -07:00
Kubernetes Prow Robot b0664176bc
Merge pull request #11259 from olemarkus/warm-life-cycle-hook
Make nodeup able to complete the warming life cycle hook
2021-04-24 02:05:15 -07:00
Ole Markus With 1ec0bd18e8 Enable support for the ASG WarmPool lifecycle hook
Update pkg/model/iam/iam_builder.go

Co-authored-by: Ciprian Hacman <ciprianhacman@gmail.com>
2021-04-24 09:40:52 +02:00
Kenji Kaneda f37330f53d Add GCE Router task
This commit picks up the change from the previous attempt
(https://github.com/kubernetes/kops/pull/6828).

- Add Router to GCE tasks
- Add the HasExternalIP field to InstanceTemplate
- Create a RouterTask and set HasExternalIP to false when
  a private topology is specified.

https://github.com/kubernetes/kops/issues/6827
2021-04-23 23:03:38 -07:00
Kubernetes Prow Robot 2649cbc598
Merge pull request #10995 from haugenj/release-1.19
Add NTH Queue Processor Mode
2021-04-22 12:15:58 -07:00
Jason Haugen 36722afb0f change casing Asg->ASG 2021-04-22 13:07:01 -05:00
Kubernetes Prow Robot 9c46f5046a
Merge pull request #11235 from olemarkus/warm-provision
Make it possible to enable/configure warm pool
2021-04-20 21:44:10 -07:00
Ole Markus With 020652e096 Add ability to enable/configure warm pool for ASG
Apply suggestions from code review

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

Apply suggestions from code review

Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
2021-04-20 09:02:09 +02:00
Jason Haugen 7e48dad4d2 add ManagedAsgTag, merge templates, improve docs 2021-04-19 16:51:08 -05:00
Jason Haugen cceb9dd296 lifecycle integ test, docs, & small cleanup 2021-04-19 15:43:06 -05:00
Jason Haugen 366634e66a change permisisons & node selector 2021-04-19 15:43:05 -05:00
Jason Haugen 318a116ba6 fix staticcheck 2021-04-19 15:43:05 -05:00
Jason Haugen 10df4a9a14 integ tests 2021-04-19 15:43:05 -05:00
Jason Haugen c8bb48ba81 fix existing tests 2021-04-19 15:43:05 -05:00
Jason Haugen d07b067249 Add NTH queue-processor mode 2021-04-19 15:43:05 -05:00
Kubernetes Prow Robot 146f9b4cbb
Merge pull request #11248 from dntosas/cilium-resources
[cilium] Add support for choosing resources
2021-04-19 10:23:45 -07:00
dntosas 55524935d7
[cilium] Add support for choosing resources
Cilium as a CNI is a critical component for the cluster so it would be safe
to have some guaranteed resources as well as allowing the users to
define them based on their needs.

In this commit, we init default requested resources and add the
capability of user-defined values.

Signed-off-by: dntosas <ntosas@gmail.com>
2021-04-19 11:30:02 +03:00
Akiros001 857cb64fad
'sv' may have 'nil' or other unexpected value (#11161)
* 'sv' may have 'nil' or other unexpected value as its corresponding error variable may be not 'nil'

* Apply suggestions from code review

Co-authored-by: Ciprian Hacman <ciprian@hakman.dev>
2021-04-15 02:13:49 -07:00
Ole Markus With af92896dc7 Don't start kubelet if we are warming 2021-04-14 11:05:50 +02:00
Ciprian Hacman f3c6558fd0 Release 1.21.0-alpha.3 2021-04-14 09:13:04 +03:00
Ciprian Hacman 4746f6d00c Fix etcd volume validation logic 2021-04-13 12:03:38 +03:00
Kubernetes Prow Robot c573d9d449
Merge pull request #11207 from johngmyers/rename-sa-key
Rename the service account key
2021-04-11 14:04:06 -07:00
Barry Melbourne 1a60629d38 Update Docker to v20.10.5 2021-04-11 19:26:46 +01:00
John Gardiner Myers fdc61b4bdb Rename the service account key 2021-04-11 08:11:27 -07:00
liranp 97370b0adc
fix(spot/ocean): configure headroom resources only at the vng level 2021-04-06 23:41:40 +03:00
Ole Markus With dbd23473ef Add irsa support for awslbcontroller
This commit also introduces support for adding token projection volumes for well-known SAs.
Slightly less complicated than explicitly parsing the objects for a manifest
2021-04-04 21:24:07 +02:00
Kubernetes Prow Robot a01ee1d0fe
Merge pull request #11140 from jurriaanpro/cluster-autoscaler-add-scale-down-delay-after-add
Add scaleDownDelayAfterAdd to clusterAutoscaler spec
2021-03-25 05:57:29 -07:00
jurriaanpro 25955ceb6b Add scaleDownDelayAfterAdd to clusterAutoscaler spec 2021-03-25 11:23:48 +01:00
Kubernetes Prow Robot 42fbb1c1c5
Merge pull request #11119 from guydog28/11074-pr
replace hard coded aws region checks with aws sdk calls
2021-03-24 09:14:08 -07:00
guydog28 bd80c3f2b4 replace hard coded aws region checks with aws sdk calls 2021-03-24 15:31:05 +00:00
Kubernetes Prow Robot 1bf4fd744f
Merge pull request #11102 from srikiz/Fix-DO-Tag-Index-Match-Issue
[DigitalOcean] Fix DO Tag issue
2021-03-23 13:14:42 -07:00
Barry Melbourne 05123faf5a Update containerd to v1.3.10/v1.4.4 2021-03-23 17:02:01 +00:00
Ciprian Hacman fa72535f95 Release 1.21.0-alpha.2 2021-03-22 08:38:47 +02:00
srikiz 94d8a6f748 Fix DO Tag issue 2021-03-22 00:47:28 +05:30
Kubernetes Prow Robot a99668db1e
Merge pull request #10843 from lichuan0620/fix-iops-error
Add additional IOPS validation for AWS EBS gp3 volumes
2021-03-21 09:17:43 -07:00
Justin SB c75e084158 Re-add integration tests for jwks
We removed them from #10756, but they can be re-added.
2021-03-20 22:55:11 -04:00
Kubernetes Prow Robot 15e4028c81
Merge pull request #10722 from olemarkus/apiserver-nodes
Apiserver nodes
2021-03-20 16:43:42 -07:00
Ole Markus With 20bd724f5e Add support for scaling out the control plane with dedicated apiserver nodes
Ensure apiserver role can only be used on AWS (because of firewalling)

Apply api-server label to CP as well

Consolidate node not ready validation message

Guard apiserver nodes with a feature flag

Rename Apiserver role to APIServer

Add an integration test for apiserver nodes

Rename Apiserver role to APIServer

Enumerate all roles in rolling update docs

Apply suggestions from code review

Co-authored-by: Steven E. Harris <seh@panix.com>
2021-03-20 20:57:00 +01:00
Kubernetes Prow Robot 2b46042241
Merge pull request #11086 from justinsb/controlplane_should_not_need_dns_permissions
Don't add control-plane DNS permissions with UseServiceAccountIAM
2021-03-20 12:29:42 -07:00
Justin SB d7683d85ce Don't add control-plane DNS permissions with UseServiceAccountIAM
Should not be needed; dns-controller should run on the control-plane
node so there should not be a bootstrapping problem with the nodes.

Reverts #10529
2021-03-20 14:00:46 -04:00
Justin SB 48ebac6892 Improve error messages around PublicJWKS
I left off the publicDataStore (must pass --overwrite on create, I
believe), and the error message was a type-cast failure.
2021-03-20 13:59:14 -04:00
Ole Markus With 397f58deb4 Fix comments from review 2021-03-19 20:51:18 +01:00
Ole Markus With 5178571db5 Comment where the CA sha1s come from 2021-03-19 20:07:57 +01:00
Ole Markus With 1900548213 Upload JWKS files as world readable 2021-03-19 20:07:38 +01:00
Ole Markus With 2c1f88f40e Do not need thumbprints to be resources 2021-03-19 20:05:37 +01:00
Ole Markus With ed166313d2 Use well-known s3 fingerprints 2021-03-19 20:03:28 +01:00
Peter Rifel 7c900b7fae Generate and upload keys.json + discovery.json to public store
Generate and upload keys.json + discovery.json to public store

Don't enable anonymous auth on publicjwks

Remove tests that won't work using FS VFS anymore
2021-03-19 20:03:26 +01:00
liranp dc1ee9402a
feat(spot/ocean): support for block device mappings in launchspec 2021-03-10 15:30:39 +02:00
Steven E. Harris 44061601da Test default StorageClass management choice 2021-03-09 11:08:33 -05:00
Steven E. Harris 50e89c1c6a Honor an OpenStack StorageClass management choice
When choosing a default value for the Cluster spec's
"cloudConfig.manageStorageClasses" field, first check whether a user
specified a concrete value for the related OpenStack
"blockStorage.createStorageClass" field. If so, use that value as the
effective default value for the former field as well, so as to avoid
an unnecessary conflict between the field values on the second
validation pass.
2021-03-09 09:10:56 -05:00
Bharath Vedartham 0c0767c0c9 Remove support for launch configurations 2021-03-09 09:04:15 +02:00
Ole Markus With c6a741a148 Move dns and external_access to awsmodel 2021-03-07 22:07:17 +01:00
Ole Markus With d415fdf1a1 Move bastion model to awsmodel 2021-03-07 22:06:20 +01:00
Ole Markus With 896f1740c6 Rename spotinst symbols and merge spotinstmodel with awsmodel 2021-03-07 22:06:12 +01:00
Kubernetes Prow Robot ef7c934b9a
Merge pull request #10975 from ottosulin/feature/etcdmanagerconfs
Add etcd-manager discoveryPollInterval option
2021-03-05 22:11:43 -08:00
Ole Markus With 063e3f6c7b Use internal api url for jwks when required
The public api url cannot be used by pods and nodes if access is restricted. So by default we need to use the internal one.
This should finally pass the OIDC e2e test

For public access, api server must be publically available and anonymous
auth must be enabled
2021-03-05 06:52:51 +01:00
Otto Sulin 8fa6be1b03 Add etcd-manager discoveryPollInterval option 2021-03-04 09:35:05 +02:00
Kubernetes Prow Robot fcefcb59cc
Merge pull request #10945 from olemarkus/exclude-cp-nodes-from-lbs
Exclude CP nodes from load balancers
2021-03-03 05:21:21 -08:00
Peter Rifel ce51ec44bc
Use new CPUCredits IG spec field in launch templates 2021-03-02 22:54:29 -06:00
liranp 2abdb90c54
fix: don't skip lb attachments when hybrid is enabled 2021-03-01 14:07:22 +02:00
Kubernetes Prow Robot c802127528
Merge pull request #10935 from cloudnatix/kenji/fix_node_name_conversion
Fix node label conversion in Azure
2021-03-01 00:38:40 -08:00
Kubernetes Prow Robot f294793e44
Merge pull request #10948 from rifelpet/tgw
Add AWS Transit Gateway support
2021-02-28 23:46:50 -08:00
Kenji Kaneda a2bfbdd4cb Fix node label conversion in Azure
As Azure doesn't allow "/" in label keys, we used to convert "/" to
"_", but we didn't convert back "_" to "/" in kops-controller.

Change the code to store a label key in a tag value so that we don't
need to worry about escaping.
2021-02-28 22:35:12 -08:00
Justin SB 09f7f6f039 Update etcd-manager to 3.0.20210228
Changes:

* Add user agent to etcd-manager requests [#395](https://github.com/kopeio/etcd-manager/pull/395)
* Add etcd-manager metrics, add openstack API metrics [#396](https://github.com/kopeio/etcd-manager/pull/396)
* Make discovery poll interval configurable [#397](https://github.com/kopeio/etcd-manager/pull/397)
* Add log levels to prevent too verbose logging [#394](https://github.com/kopeio/etcd-manager/pull/394)
2021-02-28 20:41:30 -05:00
Peter Rifel 577df0addf
Add support for defining a transit gateway for a default route
I opted to just use a *string for the TGW ID in the route task rather than a full TGW task because kops will never be creating TGWs itself, they will always be defined by ID.
2021-02-28 12:38:29 -06:00
Ole Markus With bca857326f Add standard labels to all resources 2021-02-28 07:43:58 +01:00
Ole Markus With 32fce0d59c Exclude CP nodes from load balancers 2021-02-27 20:14:31 +01:00
Kubernetes Prow Robot 6e7f635edb
Merge pull request #10940 from hakman/sort-external-policies
Sort external policies when checking for changes
2021-02-27 10:06:38 -08:00
Ciprian Hacman 925350f836 Sort external policies when checking for changes 2021-02-27 11:36:07 +02:00
Barry Melbourne 659bfa0daf Update Controller Runtime Go module to v0.8.2 2021-02-25 20:34:12 +00:00
Kubernetes Prow Robot 9c5c186442
Merge pull request #10915 from t1cg/caw/publicLoadbalancer
add support for azure public loadbalancer
2021-02-24 19:51:24 -08:00
Kubernetes Prow Robot 1b42286cfe
Merge pull request #10832 from rifelpet/aws-sdk
Add Tagging to Instance Profiles and OIDC Providers
2021-02-24 05:40:50 -08:00
Collin Woodruff ee7fc850ff add support for azure public loadbalancer 2021-02-23 17:42:33 -05:00
Kubernetes Prow Robot a424958e83
Merge pull request #10872 from timothyclarke/feature/NLB-EIP
Adding Elastic IP Allocations to NLB API
2021-02-22 23:48:03 -08:00
Nicholas Galantowicz 616d446658 add usage of subnet and routetable shared resources in azure 2021-02-22 15:28:55 -05:00
Ole Markus With 4d4bcba315 Enforce 1.14 deprecation 2021-02-21 17:59:39 +01:00
Ole Markus With 9a13837629 Fix JWKS path for volume projection 2021-02-18 22:07:35 +01:00
Ole Markus With 4ee43a849c k/k changed the feature gate for disabling in-tree CSI 2021-02-18 21:12:51 +01:00
Timothy Clarke 1577b0a54b
Adding Elastic IP Allocations to NLB API 2021-02-18 12:27:28 +00:00
Ole Markus With 8486650c33 Add support for cluster autoscaler 1.20.x
Update upup/models/cloudup/resources/addons/cluster-autoscaler.addons.k8s.io/k8s-1.15.yaml.template

Co-authored-by: Ciprian Hacman <ciprianhacman@gmail.com>
2021-02-17 14:05:09 +01:00
Alexander Block 8f0cb3af1f Actually enable systemd cgroup for containerd 2021-02-16 18:46:00 +01:00
Chuan Li 0eb7012e8d Add additional IOPS validation for AWS EBS gp3 volumes 2021-02-16 18:39:54 +08:00
Ciprian Hacman 35ea2f49b3 Release 1.21.0-alpha.1 2021-02-16 10:44:34 +02:00
Peter Rifel d52fd9f76c
Add tagging support to AWS Instance Profiles and OIDC Providers 2021-02-15 16:48:43 -06:00
Kubernetes Prow Robot cd10383fa0
Merge pull request #10741 from codablock/nlb-subnets
Allow to control which subnets and IPs get used for the API loadbalancer
2021-02-14 14:23:06 -08:00
Kubernetes Prow Robot 7d8ef74bcd
Merge pull request #10797 from t1cg/azureManagedImage
Allow managed images for Azure instance groups
2021-02-12 16:27:05 -08:00
Kubernetes Prow Robot 688aeb873a
Merge pull request #10744 from t1cg/caw/azureLoadbalancer
add azure support for internal loadbalancer to k8s api
2021-02-12 14:53:04 -08:00
Collin Woodruff 6a8d474acd add internal loadbalancer for azure 2021-02-12 17:13:01 -05:00
Kubernetes Prow Robot 082bdc3878
Merge pull request #10780 from olemarkus/consistent-cp-labelling
Make protokube CP label setting consistent with kops-controller
2021-02-12 11:09:58 -08:00
Ole Markus With 783b6c0d6c Make protokube CP label setting consistent with kops-controller 2021-02-12 08:17:14 +01:00
Ciprian Hacman c0d02d7dc9 Update Docker to v19.03.15 2021-02-12 07:10:32 +02:00
Nicholas Schleicher 1ac3265a14 Allow managed images for Azure instance groups 2021-02-11 15:42:17 -05:00
Steven E. Harris d1432bf1d4 Establish default CloudConfiguration values 2021-02-11 10:49:49 -05:00
Ole Markus With a86abcfd3e CSIMigrationAWSComplete feature gate does not work unless also CSIMigrationAWS is enabled 2021-02-11 12:41:50 +01:00
Kubernetes Prow Robot b233f031a3
Merge pull request #10489 from olemarkus/aws-loadbalancer-controller
Add AWS LoadBalancerController
2021-02-11 02:06:16 -08:00
Ole Markus With 56330188d0 Add AWS LoadBalancerController 2021-02-11 08:47:03 +01:00
Alexander Block 295fb11ac2 Better readable modification assigning of PrivateIPv4Address 2021-02-10 09:39:32 +01:00
Alexander Block 2c0f9809eb Move validation of ClusterSubnetSpec into pkg/apis/kops/validation 2021-02-10 09:36:39 +01:00
Alexander Block c6eca9db81 Fix check for empty privateIPv4Address 2021-02-10 08:21:22 +01:00
Ole Markus With e0c3490cc3 Add support for creating world-readable managedFiles 2021-02-09 21:06:28 +01:00
Kubernetes Prow Robot 4507be8e13
Merge pull request #10469 from justinsb/boot_nodes_from_kops_controller
Boot nodes without state store access
2021-02-08 11:28:19 -08:00
Ciprian Hacman ede4daf7ce Release 1.20.0-alpha.2 2021-02-08 13:36:48 +02:00
Peter Rifel e7ede2b13e
Use EnsureTask instead of prepending IG names to external ELB tasks
This way we end up with one CLB task per CLB regardless of how many ASGs to which it is attached.
2021-02-07 10:45:38 -06:00
Kubernetes Prow Robot 0aa9cf1921
Merge pull request #10695 from olemarkus/cilium-1-9
Add support for cilium 1.9
2021-02-07 01:07:11 -08:00
Ole Markus With a6dce2e820 Add support for cilium 1.9
Apply suggestions from code review

Co-authored-by: Ciprian Hacman <ciprianhacman@gmail.com>
2021-02-07 08:00:54 +01:00
Alexander Block 6facd1b8ab Allow to explicitely choose subnets and private IPs for the API loadbalancer 2021-02-05 17:53:20 +01:00
Alexander Block 49e7ec8890 Use SubnetMappings for NLBs instead of Subnets
SubnetMappings allow to explicitely set the private IPv4 address that
must be used for the NLB.

SubnetMappings and Subnets in the AWS API are compatible as long as the
address settings are not changes, making this commit backwards compatible.
2021-02-05 17:53:20 +01:00
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
Kubernetes Prow Robot 40ae752e46
Merge pull request #10545 from olemarkus/channels-certs
Have channels create PKI for addons
2021-01-31 01:21:49 -08:00
Ole Markus With 7ac74ab61c Fix bug preventing tasks using gp2 2021-01-30 19:46:30 +01:00
Ole Markus With 1db7b72843 Use serving cert for metrics-server 2021-01-30 09:01:36 +01:00
Ciprian Hacman f8d3b76556 Default IMDSv2 to "optional" for AWS 2021-01-29 14:02:14 +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
Ciprian Hacman 5fcd4e4b28 Allow attaching same external load balancer to multiple instance groups 2021-01-27 16:25:39 +02:00
Ciprian Hacman ca408f7e8f Set default volume type to "gp3" for etcd-manager volumes in AWS 2021-01-27 06:23:27 +02:00
Justin SB 1d76a15f69 Set the tcp_rmem sysctl in bootstrap script
This ensures that we're using our settings for downloading nodeup
itself and any assets that nodeup downloads.  This is a workaround for
reported problems with the initial download on some kernels otherwise.

Issue #10206
2021-01-24 21:50:45 -05:00
Ciprian Hacman 7aeb8c2af3 Add back support for kubenet style networking with containerd 2021-01-24 21:16:45 +02:00
Justin SB 28f184f68a etcd-manager: Update to 3.0.20210122
Upstream changes:

* Release notes for 3.0.20201209
* Handling hanging list command from etcd client during reconciliation loop
* Update dependencies to match kOps 1.19
* Include IPs in peer certificates
* Use etcd v3.4.13 in tests
* Eager-broadcast leadership on every leader iteration
* Update Go to 1.15.7
2021-01-22 16:01:03 -05:00
liranp 5f30cdedf9
fix(spot/ocean): avoid unnecessary duplication of tasks 2021-01-21 21:44:43 +02:00
Ciprian Hacman d889d61ddb Set default IMDS v2 to "required" for instances in AWS 2021-01-21 11:35:41 +02:00
Ciprian Hacman c8a9b2fb3e Set default volume encryption to "true" for instances in AWS 2021-01-21 11:27:02 +02:00
Ciprian Hacman 18bb14ffed Set default volume type to "gp3" for instances in AWS 2021-01-21 11:27:02 +02:00
Ciprian Hacman 85fbf1c6a2 Add iops field for gp3 volumes only with launch templates 2021-01-21 11:27:02 +02:00
Otto Sulin 46a8a00adc Fix broken tests 2021-01-20 14:24:49 +02:00
Otto Sulin c66a079e3e Add network and router availability zone hints to OpenStack
This pull request makes it possible to add availability zone hints to routers and networks if the hints are supported.
2021-01-20 13:34:08 +02:00
Barry Melbourne 337c9c4c66 Set default container runtime to containerd 2021-01-16 14:55:35 +00:00
Ciprian Hacman bb787d3075 Release 1.20.0-alpha.1 2021-01-15 15:29:55 +02:00
Ole Markus With afbd057286 Use consistent naming for the remaining SGRs 2021-01-14 12:57:33 +01:00
Kubernetes Prow Robot fb0fbb5280
Merge pull request #10557 from zetaab/feature/hashname
[OpenStack] Use new hash format in instance names
2021-01-13 09:24:36 -08:00
Kubernetes Prow Robot 0412bf7566
Merge pull request #10561 from spotinst/feat-launchspec-restrictions
Spotinst: Specify whether scale-down activities should be restricted
2021-01-13 08:24:36 -08:00
Jesse Haka 1bc330b0bb nameprefix -> groupname 2021-01-13 11:54:07 +02:00
Kubernetes Prow Robot a140168c70
Merge pull request #10467 from olemarkus/ebs-csi
AWS CSI driver
2021-01-12 13:36:35 -08:00
Kubernetes Prow Robot e4f4a20d27
Merge pull request #10419 from bharath-123/task/default-systemd
Default cgroup driver to systemd from k8s 1.20
2021-01-12 08:30:27 -08:00
Bharath Vedartham a8d709acf2 Default cgroup driver to systemd from k8s 1.20
Currently, kOps uses cgroupfs cgroup driver for the kubelet and CRIs. This PR defaults
the cgroup driver to systemd for clusters created with k8s versions >= 1.20.

Using systemd as the cgroup-driver is the recommended way as per
https://kubernetes.io/docs/setup/production-environment/container-runtimes/
2021-01-12 20:39:25 +05:30
Jesse Haka 185ccba246 Use random instance names in OpenStack 2021-01-12 14:52:39 +02:00
liranp 9fe505abed
feat(spot/ocean): new label: spotinst.io/restrict-scale-down 2021-01-12 11:35:28 +02:00
liranp eee856392b
fix(spot/model): iterate metadata labels only once 2021-01-12 10:26:11 +02:00
Ole Markus With f5ae5f8808 AWS CSI driver 2021-01-12 07:09:10 +01:00
Kubernetes Prow Robot 695be2666c
Merge pull request #10281 from dntosas/cluster-autoscaler-improvements
[addons/CA] Add support for specifying resources and metrics
2021-01-11 12:16:26 -08:00
dntosas 56fe4bab24
[addons/CA] Add support for specifying resources and metrics
- Resources
We enable users to set their desired capacity for cluster-autoscaler addon.
There are edge cases, especially in big clusters, where autoscaler needs
to reconcile a large number of objects thus may need increased memory or
increased cpu to avoid saturation.

- Metrics
Cluster autoscaler provides valuable insights for monitoring capacity
allocation and scheduling aspects of a cluster. In this commit, we
add proper annotation on deployment to enable Prometheus scrape metrics.

We also bump patch version of container images.

Signed-off-by: dntosas <ntosas@gmail.com>
2021-01-11 20:53:08 +02:00
Ole Markus With 4d2eca199f Remove node-authorization 2021-01-11 18:59:45 +01:00
Kubernetes Prow Robot b3be6478dd
Merge pull request #10551 from spotinst/feat-launchspec-strategy
Spotinst: Specify Spot percentage per Instance Group
2021-01-11 04:33:07 -08:00
Justin SB 2f5ba0fbac Update OpenStack expected test output for removal of Members
It is now an internal field.
2021-01-10 11:11:11 -05:00
liranp 2f874be0a1
feat(spot/ocean): set spot percentage on launchspec level 2021-01-10 15:22:43 +02:00
Justin SB d5294b0b7c Update test data for richer bootstrap script 2021-01-09 13:29:18 -05:00
Justin SB 4ac9d5c17b Boot nodes without state store access
kops-controller can now serve the instance group & cluster config to
nodes, as part of the bootstrap process.

This enables nodes to boot without access to the state
store (i.e. without S3 / GCS / etc permissions)

Feature-flagged behind the KopsControllerStateStore feature-flag.
2021-01-09 13:08:48 -05:00
Ole Markus With 2b3a8f133e Add control-plane node role annotation to cp nodes
Update docs/releases/1.20-NOTES.md

Co-authored-by: John Gardiner Myers <jgmyers@proofpoint.com>
2021-01-08 12:39:42 +01:00
Kubernetes Prow Robot 551a805ebd
Merge pull request #10530 from hakman/gp3-throughput
Add possibility to set volume throughput for gp3 volumes
2021-01-05 04:53:58 -08:00
Ciprian Hacman a7bb949936 Add possibility to set volume throughput for gp3 volumes 2021-01-05 13:18:32 +02:00
Peter Rifel a15957da2f
IRSA - continue adding route53 permisions to masters
These are needed by protokube to create the kops-controller DNS record to allow nodes to bootstrap.

See these logs: https://storage.googleapis.com/kubernetes-jenkins/logs/e2e-kops-grid-scenario-public-jwks/1345956556562239488/artifacts/ip-172-20-48-1.sa-east-1.compute.internal/protokube.log

```
I0104 05:03:51.264472    6482 dnscache.go:74] querying all DNS zones (no cached results)
I0104 05:03:51.264570    6482 route53.go:53] AWS request: route53 ListHostedZones
W0104 05:03:51.389485    6482 dnscontroller.go:124] Unexpected error in DNS controller, will retry: error querying for zones: error querying for DNS zones: AccessDenied: User: arn:aws:sts::768319786644:assumed-role/masters.e2e-kops-scenario-public-jwks.test-cncf-aws.k8s.io/i-05b1db10d1a5b8637 is not authorized to perform: route53:ListHostedZones
```

and the nodeup logs on nodes that couldn't join the cluster:

```
Jan 04 04:55:53.500187 ip-172-20-38-84 nodeup[2070]: W0104 04:55:53.500117    2070 executor.go:131] error running task "BootstrapClient/BootstrapClient" (9m52s remaining to succeed): Post "https://kops-controller.internal.e2e-kops-scenario-public-jwks.test-cncf-aws.k8s.io:3988/bootstrap": dial tcp: lookup kops-controller.internal.e2e-kops-scenario-public-jwks.test-cncf-aws.k8s.io on 127.0.0.53:53: no such host
```
2021-01-04 21:03:53 -06:00
Kubernetes Prow Robot 22c5975591
Merge pull request #10519 from seh/restrict-api-server-security-groups-to-masters
Only include API server additional security groups in InstanceGroups for masters
2021-01-04 14:15:58 -08:00
Kubernetes Prow Robot 6d5549e730
Merge pull request #10453 from msidwell/gp3-etcd
Add gp3 Volume Type to etcd
2021-01-04 11:29:57 -08:00
msidwell ebf05facc2 add gp3 volume default params
add io2 case and correct IOPS minimum value check

add gp3 case

add io2 and gp3 parameter ratio validation logic

add volumeThroughput parameter for disks that support it

add volumeThroughput components throughout ebs structs

add volumeThroughput to versioned api

updated api machinery and crds

apimachinery update
2021-01-04 17:08:11 +00:00
Steven E. Harris 2a89d25ed0 Test that launch templates include additional SGs 2021-01-04 08:38:25 -05:00
Steven E. Harris 252d4177f0 Only include API server SGs in IGs for masters
When using an AWS NLB in front of the Kubernetes API servers, we can't
attach the EC2 security groups nominated in the Cluster
"spec.api.loadBalancer.additionalSecurityGroups" field directly to the
load balancer, as NLBs don't have associated security groups. Instead,
we intend to attach those nominated security groups to the machines
that will receive network traffic forwarded from the NLB's
listeners. For the API servers, since that program runs only on the
master or control plane machines, we need only attach those security
groups to the machines that will host the "kube-apiserver" program, by
way of the ASG launch templates that come from kOps InstanceGroups of
role "master."

We were mistakenly including these security groups in launch templates
derived from InstanceGroups of all of our three current roles:
"bastion," "master," and "node." Instead, skip InstanceGroups of the
"bastion" and "node" roles and only target those of role "master."
2021-01-04 08:38:25 -05:00
Steven E. Harris ad4ac4f474 Test that AWS launch templates include wrong SG 2021-01-04 08:38:25 -05:00
Kubernetes Prow Robot 22a9a13abf
Merge pull request #10488 from rifelpet/iam-role-tag
AWS IAM Role Tagging
2020-12-29 22:33:48 -08:00
Ciprian Hacman 66039f150e Add containerd option for registry mirrors 2020-12-28 19:32:06 +02:00
Ciprian Hacman c02e5a20ea Remove support for Kubenet with containerd 2020-12-27 18:21:16 +02:00
Peter Rifel 4ee5d7a543
Add tagging support for AWS IAM Roles 2020-12-23 15:11:07 -06:00
Ciprian Hacman c02434269f Fix cluster setup when KOPS_ARCH is set 2020-12-23 17:08:20 +02:00
Kubernetes Prow Robot 9bc1c0ed77
Merge pull request #10477 from justinsb/refactor_gce_instancetemplate
Refactor GCE InstanceTemplate
2020-12-21 17:48:28 -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
Kubernetes Prow Robot 8d3e42cd36
Merge pull request #10475 from justinsb/refactor_mirrored_asset
Refactor MirroredAsset into mirrors package
2020-12-19 23:12:25 -08:00
Justin SB 1945a656a0 Remove deprecated ResourceHolder
Cleaning up what is now dead code.
2020-12-19 23:15:37 -05:00
Justin SB 7d9ff3ba96 Refactor MirroredAsset into mirrors package
This means we can use MirroredAsset for nodeup without circular
dependencies.  Also removes a duplicate constant that was declared
twice.
2020-12-19 18:39:09 -05:00
Justin SB f12c3f95f8 Refactor GCE InstanceTemplate
Clearer, and for future cluster-api support.
2020-12-19 17:14:51 -05:00
Justin SB 2d143e6340 Update tests for ResourceHolder -> Resource 2020-12-19 09:51:58 -05:00
Justin SB 45d11ba12c Replace (some) deprecated ResourceHolder with Resource
This removes more of the deprecated type, but it also simplifies
refactoring the GCE InstanceTemplate.
2020-12-19 09:51:43 -05:00
Kubernetes Prow Robot 9561ed38c5
Merge pull request #10471 from akshedu/chore/add_new_pod_scale_up_delay_cluster_autoscaler
Add new-pod-scale-up-delay in Cluster Autoscaler spec
2020-12-19 02:42:24 -08:00
Akshansh Gupta 830fef7959 addons(cluster-autoscaler): Add newPodScaleUpDelay in clusterAutoscaler spec 2020-12-19 14:30:18 +05:30
Kubernetes Prow Robot e747047db7
Merge pull request #10452 from spotinst/feat-elastigroup-subnets
Spotinst: Support for multiple subnets per zone
2020-12-19 00:00:24 -08:00
Kubernetes Prow Robot a013aaac28
Merge pull request #10449 from spotinst/feat-ocean-autoscaler
Spotinst: Expose Ocean Headroom percentage and autoconfig labels
2020-12-18 23:18:24 -08:00
Kubernetes Prow Robot ef8c36999a
Merge pull request #10404 from seh/allow-use-of-calico-vxlan-backend
Calico: Allow operators to choose which encapsulation mode to use
2020-12-18 10:54:25 -08:00
Steven E. Harris f0f45b71fd Allow use of Calico's VXLAN networking backend
Introduce a new "encapsulationMode" field in Calico's portion of the
Cluster specification to allow switching between the the IP-in-IP and
VXLAN encapsulation protocols. For now, we accept the values "ipip"
and "vxlan," and forgo a possible "none" value that would disable
encapsulation altogether (at least for the default Calico IP pool).

Augment the default-populating procedure for Calico to take this field
into account when deciding both which networking backend to use and
whether to use IP-in-IP or VXLAN encapsulation for the default IP
pool. Note that these values supplied for the "CALICO_IPV4POOL_IPIP"
and "CALICO_IPV4POOL_VXLAN" environment variables in the "calico-node"
DaemonSet pod spec only matter for creating the "default" IPPool pool
object when no such objects already exist.

Generalize the documentation for the "crossSubnet" field to cover
environments more broad than just AWS, as Calico can employ this
selective encapsulation in any environment in which it can detect
boundaries between subnets.
2020-12-18 10:55:11 -05:00