Skip to content
This repository was archived by the owner on Dec 6, 2024. It is now read-only.

Latest commit

 

History

History
75 lines (52 loc) · 3.24 KB

deployment-guide.md

File metadata and controls

75 lines (52 loc) · 3.24 KB
title
Deploying Container Object Storage Interface (COSI) On Kubernetes

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.

Overview

Following components that need to be deployed in Kubernetes to setup COSI.

  • CustomResourceDefinitions (CRDs)
  • Controller
  • Driver
  • Sidecar for the driver
  • Node Adapter

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

# 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

CustomResourceDefinitions

COSI acts on following custom resource definitions (CRDs):

  • BucketRequest - Represents a request to provision a Bucket
  • BucketClass - Represents a class of Buckets with similar characteristics
  • Bucket - Represents a Bucket or its equivalent in the storage backend
  • BucketAccessRequest - Represents a request to access a Bucket
  • BucketAccessClass - Represents a class of accessors with similar access requirements
  • BucketAccess - 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

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.

Sample Driver & Sidecar

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

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