Create buckets using the Portworx Object Service in Rancher
This page describes how to create and provide access to a Portworx Bucket Claim using AWS S3
AWS S3
Use the following steps to get started with dynamically provisioned buckets.
Provision a new bucket
- 
Create a new file named
pxbucketclass.yaml, replacingregionandobject.portworx.io/endpointwith your desired AWS S3 region and endpoint:apiVersion: object.portworx.io/v1alpha1
kind: PXBucketClass
metadata:
name: pbclass-s3
region: us-west-1
deletionPolicy: Delete
parameters:
object.portworx.io/backend-type: S3Driver
object.portworx.io/endpoint: s3.us-west-1.amazonaws.com - 
Create the PXBucketClass object:
kubectl apply -f pxbucketclass.yaml - 
Create a new file named
pxbucketclaim.yaml:apiVersion: object.portworx.io/v1alpha1
kind: PXBucketClaim
metadata:
name: s3-pbc
namespace: default
spec:
bucketClassName: pbclass-s3 - 
Create the PXBucketClaim object:
kubectl apply -f pxbucketclaim.yaml - 
Once the bucket is provisioned, its
PROVISIONEDstate will be listed astruein theCustomResource:kubectl get pxbucketclaimNAME PROVISIONED BUCKETID BACKENDTYPE
s3-pbc true px-os-xxxxxxxx-xxxx-xxxx-xxxx-ac6595c2b721 S3Driver 
Provide Access to the PXBucketClaim
- 
Create a new file named
pxbucketaccess.yaml:apiVersion: object.portworx.io/v1alpha1
kind: PXBucketAccess
metadata:
name: s3-pba
namespace: default
spec:
bucketClassName: pbclass-s3
bucketClaimName: s3-pbc - 
Once the bucket access is granted, its
ACCESSGRANTEDstate will be marked astruein the CustomResource: 
kubectl get pxbucketaccess
NAME     ACCESSGRANTED   CREDENTIALSSECRETNAME      BUCKETID                                     BACKENDTYPE
s3-pba   true            px-os-credentials-s3-pba   px-os-xxxxxxxx-xxxx-xxxx-xxxx-ac6595c2b721   S3Driver
- A secret 
px-os-credentials-s3-pbais created with all nessesary bucket info: 
kubectl get secret px-os-credentials-s3-pba -o yaml
apiVersion: v1
data:
  access-key-id: <access-key-id>
  bucket-id: <bucket-id>
  endpoint: <endpoint>
  region: <region>
  secret-access-key: <secret-access-key>
kind: Secret
metadata:
  creationTimestamp: "2022-08-03T21:27:25Z"
  finalizers:
  - finalizers.object.portworx.io/access-secret
  name: px-os-credentials-s3-pba
  namespace: default
  resourceVersion: "16022682"
  uid: xxxxxxxx-xxxx-xxxx-xxxx-9e9d30aba97c
type: Opaque