You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -65,7 +81,7 @@ When running `kops get assets --copy`, kOps copies assets into their respective
65
81
they do not already exist there.
66
82
67
83
For file assets, kOps only supports copying to a repository that is either an S3 or GCS bucket.
68
-
An S3 bucket must be configured using the [regional naming conventions of S3](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region).
84
+
An S3 bucket must be configured with a prefix of `s3://` or using the [regional naming conventions of S3](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region).
69
85
A GCS bucket must be configured with a prefix of `https://storage.googleapis.com/` or `gs://`.
Copy file name to clipboardExpand all lines: docs/releases/1.37-NOTES.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,6 +32,8 @@ As part of this removal, the `protokube` component, whose only remaining respons
32
32
33
33
* On AWS, instance roles that require no permissions, such as the bastion role and the default worker node role, no longer have an inline IAM policy. `kops update cluster` deletes the previously created inline policy from such roles. With the Terraform target, the corresponding `aws_iam_role_policy` resources are removed from the configuration and destroyed on the next apply.
34
34
35
+
* Private cluster asset repositories now support AWS `s3://` URLs in addition to existing GCE `gs://` URLs, both for `KOPS_BASE_URL` (nodeup download) and `spec.assets.fileRepository`. Nodes authenticate with their instance credentials; see the [asset repository documentation](https://kops.sigs.k8s.io/operations/asset-repository/) for the required permissions. The AWS nodeup download requires node images with curl 8.0 or newer.
36
+
35
37
# Breaking changes
36
38
37
39
* Support for AWS Classic Load Balancer (CLB) for the API has been removed. Clusters with `spec.api.loadBalancer.class: Classic` (or with no explicit `class`, which previously defaulted to Classic) fail validation, and the long-deprecated `kops create cluster --api-loadbalancer-class` flag has been removed. Existing clusters using a CLB must migrate to a Network Load Balancer (NLB) using kOps 1.36 or earlier before upgrading to kOps 1.37, following the [CLB to NLB migration guide](https://github.com/kubernetes/kops/blob/master/permalinks/acm_nlb.md). Attaching instance groups to externally-managed Classic Load Balancers via `spec.externalLoadBalancers[].loadBalancerName` remains supported.
allErrs=append(allErrs, field.Invalid(fieldPath, s, fmt.Sprintf("gs:// fileRepository is only supported on GCE, but the cloud provider is %q", cloudProvider)))
803
803
}
804
+
case"s3":
805
+
// Only AWS instances can authenticate to S3 with their instance profile.
806
+
ifcloudProvider!=kops.CloudProviderAWS {
807
+
allErrs=append(allErrs, field.Invalid(fieldPath, s, fmt.Sprintf("s3:// fileRepository is only supported on AWS, but the cloud provider is %q", cloudProvider)))
808
+
}
804
809
default:
805
-
allErrs=append(allErrs, field.Invalid(fieldPath, s, "fileRepository must be an http://or https:// URL"))
810
+
allErrs=append(allErrs, field.Invalid(fieldPath, s, "fileRepository must be an http://, https://, gs://, or s3:// URL"))
806
811
}
807
812
ifu.Host=="" {
808
813
allErrs=append(allErrs, field.Invalid(fieldPath, s, "fileRepository must include a host"))
klog.Errorf("Unable to determine VFS path from supplied URL: %s", target)
209
209
klog.Errorf("S3, Google Cloud Storage, and File Paths are supported.")
210
-
klog.Errorf("For S3, please make sure that the supplied file repository URL adhere to S3 naming conventions, https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region.")
210
+
klog.Errorf("For S3, please make sure that the supplied file repository URL starts with s3:// or adheres to S3 naming conventions.")
211
211
klog.Errorf("For GCS, please make sure that the supplied file repository URL starts with gs:// or https://storage.googleapis.com/")
212
212
iferr!=nil { // print the S3 error for more details
0 commit comments