Commit Graph

1294 Commits

Author SHA1 Message Date
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
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
liranp 22a07ff7a2
feat(spot/elastigroup): configure subnets without zones 2020-12-17 20:38:43 +02:00
liranp 55b27582c6
feat(spot/ocean): expose headroom percentage and autoconfig labels 2020-12-17 17:33:38 +02:00
Justin SB 72329db188 IAM ServiceAccount Roles: truncate name at 64 characters
The maximum IAM role name length is 64 characters, which we hit much
more often now that we are constructing complex names.  Use our normal
strategy of adding a hash when we truncate.

This is not a breaking change, because these names were not valid
previously.
2020-12-16 13:38:38 -05:00
Ole Markus With 4fa6f56ecd Use the kubernetes-sigs version of yaml 2020-12-15 10:38:01 +01:00
Ciprian Hacman 1c6618bdd9 Update tests 2020-12-13 13:28:41 +02:00
Ciprian Hacman d2b34eac90 Add support for containerd v1.3.9 for older k8s versions 2020-12-13 13:28:36 +02:00
Ciprian Hacman ab9d30a015 Order by name fields in CalicoNetworkingSpec 2020-12-11 18:23:49 +02:00
Justin SB dc48ca6905 Update etcd-manager to 20201209
Highlights:

* Fix arm64 images, which were built with an incorrect base image.
* Initial (experimental) Azure support

Full change list:

* Update Kops dependency for Azure Blob Storage support [#372](https://github.com/kopeio/etcd-manager/pull/372)
* Exclude gazelle from tools/deb-tools [#373](https://github.com/kopeio/etcd-manager/pull/373)
* Regenerate bazel in tools/deb-tools [#374](https://github.com/kopeio/etcd-manager/pull/374)
* Release notes for 3.0.20201202 [#375](https://github.com/kopeio/etcd-manager/pull/375)
* Remove travis CI [#377](https://github.com/kopeio/etcd-manager/pull/377)
* Fix vendor generation for tools/deb-tools subproject [#376](https://github.com/kopeio/etcd-manager/pull/376)
* Add script to verify image hashes [#380](https://github.com/kopeio/etcd-manager/pull/380)
* Fix some incorrect base image hashes for arm64 [#379](https://github.com/kopeio/etcd-manager/pull/379)
* Support Azure [#378](https://github.com/kopeio/etcd-manager/pull/378)
* Add more descriptions to wait loops [#383](https://github.com/kopeio/etcd-manager/pull/383)
* Rename fields in the azure client struct [#382](https://github.com/kopeio/etcd-manager/pull/382)
* Fix small typo in code comment [#381](https://github.com/kopeio/etcd-manager/pull/381)
2020-12-09 09:30:44 -05:00
Kubernetes Prow Robot bee16c052d
Merge pull request #10324 from bharath-123/feature/aws-imdv2
Add support for AWS IMDS v2
2020-12-07 22:55:11 -08:00
Ciprian Hacman 265bf4d106 Add option for setting the volume encryption key in AWS 2020-12-08 07:08:09 +02:00
Kubernetes Prow Robot 2f6c67e92c
Merge pull request #10364 from johngmyers/custom-account-issuer
Use custom-configured ServiceAccountIssuer when present
2020-12-07 19:39:11 -08:00
Bharath Vedartham 7f6e125733 Add support for aws ec2 instance metadata v2
A new field is add to the InstanceGroup spec with 2 sub fields,
HTTPPutResponseHopLimit and HTTPTokens. These fields enable the user
to disable IMDv1 for instances within an instance group.

By default, both IMDv1 and IMDv2 are enabled in instances in an instance group.
2020-12-07 02:57:02 +05:30
Ciprian Hacman e11d934268 Add option to reuse existing Elastic IPs for NAT gateways 2020-12-06 09:37:17 +02:00
Kubernetes Prow Robot ec691116a9
Merge pull request #10357 from rdrgmnzs/gzip-nodeup-heredocs
Give users the option to gzip and base64 encode the heredocs in the nodeup.sh user-data
2020-12-04 13:37:38 -08:00
Rodrigo Menezes 3fb12c66ae gzip and base64 encode the heredocs in the nodeup.sh portion of user-data 2020-12-04 10:46:18 -08:00
John Gardiner Myers e7508cc973 Use custom-configured ServiceAccountIssuer when present 2020-12-04 09:03:03 -08:00
Kubernetes Prow Robot 0fecffbfe0
Merge pull request #10284 from johngmyers/service-account-issuer
Set --service-account-issuer for k8s 1.20+
2020-12-04 08:07:59 -08:00
John Gardiner Myers 4f5def8610 Address review comment 2020-12-03 23:24:43 -08:00
Kubernetes Prow Robot 1b45f876a4
Merge pull request #10335 from hakman/same-tg-multiple-igs
Allow attaching same external target group to multiple instance groups
2020-12-02 21:38:59 -08:00
Ciprian Hacman e57cd534b5 Allow attaching same external target group to multiple instance groups 2020-12-03 06:59:59 +02:00