Deploying COSI
This document describes steps for Kubernetes administrators to setup Container Object Storage Interface (COSI) onto a Kubernetes cluster.
Overview
Following components that need to be deployed in Kubernetes to setup COSI.
- CustomResourceDefinitions (CRDs)
- Controller
- Sidecar for the driver
- Driver
Quick Start
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
CustomResourceDefinitions
COSI acts on following custom resource definitions (CRDs):
BucketClaim
- Represents a claim to provision a BucketBucketClass
- Represents a class of Buckets with similar characteristicsBucket
- Represents a Bucket or its equivalent in the storage backendBucketAccessClass
- Represents a class of accessors with similar access requirements and authentication typeBucketAccess
- Represents a resource to access a Bucket
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
Controller
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.
Driver & Sidecar
The sidecar of the driver along with the driver will be deployed along with the respective driver.