Velero Using HTTP and Port 80 When Explicitly Configured To Use HTTPS and Port 443

12/22/2019

This issue within Velero has me truly stumped. Here is my current default BackupStorageLocation:

apiVersion: velero.io/v1
kind: BackupStorageLocation
metadata:
  creationTimestamp: "2019-12-20T15:36:52Z"
  generation: 9
  labels:
    component: velero
  name: default
  namespace: velero
  resourceVersion: "11735136"
  selfLink: /apis/velero.io/v1/namespaces/velero/backupstoragelocations/default
  uid: fb9c4c86-94ff-40a2-8cca-1ce42f4aefa7
spec:
  config:
    region: mi
    s3ForcePathStyle: "true"
    s3Url: https://my-internal-s3compliant-purestorage-flashblade.com
  objectStorage:
    bucket: bucket-name
  provider: aws

This is using the AWS plugin with the s3Url pointing to an on-prem Pure Storage Flashblade that has an S3-compliant API (tested with the aws-go library).

Here is the error I am receiving:

time="2019-12-22T21:18:51Z" level=debug msg="plugin process exited" cmd=/plugins/velero-plugin-for-aws logSource="pkg/plugin/clientmgmt/logrus_adapter.go:74" path=/plugins/velero-plugin-for-aws pid=42
time="2019-12-22T21:18:51Z" level=debug msg="plugin exited" cmd=/plugins/velero-plugin-for-aws logSource="pkg/plugin/clientmgmt/logrus_adapter.go:74"
An error occurred: some backup storage locations are invalid: backup store for location "default" is invalid: rpc error: code = Unknown desc = RequestError: send request failed
caused by: Get http://my-internal-s3compliant-purestorage-flashblade.com/login: dial tcp 10.*.*.*:80: i/o timeout

For some reason Velero is attempting to make the connection using HTTP and port 80 rather than what I have configured it to do which is to use HTTPS and port 443. I don't have port 80 open on the s3 server so Velero cannot make the connection. However, it should be trying to use port 443 per the configuration of the storage location.

Any ideas as to what the problem might be here? Thank you!

-- Shaun McDonnell
kubernetes
velero

0 Answers