title |
---|
Deploying Container Object Storage Interface (COSI) On Kubernetes |
This document describes steps for Kubernetes administrators to setup Container Object Storage Interface (COSI) onto a Kubernetes cluster.
Following components that need to be deployed in Kubernetes to setup COSI.
- CustomResourceDefinitions (CRDs)
- Controller
- Driver
- Sidecar for the driver
- Node Adapter
Execute following commands to setup COSI:
# Install CRDs
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-api
# Install controller
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-controller
# Sample Provisioner and Sidecar
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-provisioner-sidecar
# Node Adapter
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-csi-adapter
COSI acts on following custom resource definitions (CRDs):
BucketRequest
- Represents a request to provision a BucketBucketClass
- Represents a class of Buckets with similar characteristicsBucket
- Represents a Bucket or its equivalent in the storage backendBucketAccessRequest
- Represents a request to access a BucketBucketAccessClass
- Represents a class of accessors with similar access requirementsBucketAccess
- Represents a access token or service account in the storage backend
All COSI custom resource definitions can be installed using kustomization file and kubectl
with following command:
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-api
COSI controller can be setup using the kustomization file from the container-object-storage-interface-controller repository with following command:
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-controller
The controller will be deployed in the default
namespace.
Sample Driver & Sidecar can be setup using the kustomization file from the container-object-storage-interface-provisioner-sidecar repository with following command:
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-provisioner-sidecar
Node adapter can be setup using the kustomization file from the container-object-storage-interface-csi-adapter repository with following command:
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-csi-adapter