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

Commit 4fa53c5

Browse files
committed
cosi deployment doc
1 parent 321abab commit 4fa53c5

File tree

2 files changed

+87
-12
lines changed

2 files changed

+87
-12
lines changed

Diff for: README.md

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
![version](https://img.shields.io/badge/status-pre--alpha-lightgrey) ![apiVersion](https://img.shields.io/badge/apiVersion-v1alpha1-lightgreen)
22

33

4-
# Container Object Storage Interface Spec
4+
# Container Object Storage Interface API
55

66
This repository hosts the API defintion of the Custom Resource Definitions (CRD) used for the Container Object Storage Interface (COSI) project. The provisioned unit of storage is a `Bucket`. The following CRDs are defined for managing the lifecycle of Buckets:
77

88
- BucketRequest - Represents a request to provision a Bucket
99
- BucketClass - Represents a class of Buckets with similar characteristics
1010
- Bucket - Represents a Bucket or its equivalent in the storage backend
11-
12-
The following CRDs are defined for managing the lifecycle of workloads accessing the Bucket:
13-
11+
12+
The following CRDs are defined for managing the lifecycle of workloads accessing the Bucket:
13+
1414
- BucketAccessRequest - Represents a request to access a Bucket
15-
- BucketAccessClass - Represents a class of accesors with similar access requirements
16-
- BucketAccess - Represents a access token or service account in the storage backend
15+
- BucketAccessClass - Represents a class of accessors with similar access requirements
16+
- BucketAccess - Represents a access token or service account in the storage backend
1717

1818
**NOTE**: All of the APIs are defined under the API group `objectstorage.k8s.io`.
1919

@@ -25,7 +25,7 @@ All API definitions are in [`apis/objectstorage.k8s.io/`](./apis/objectstorage.k
2525

2626
- Must be backwards compatible
2727
- Must be in-sync with the API definitions in [sigs.k8s.io/container-object-storage-interface-spec](https://github.com/kubernetes-sigs/container-object-storage-interface-spec)
28-
28+
2929
### Build and Test
3030

3131
1. Test and Build the project
@@ -44,28 +44,28 @@ make codegen
4444

4545
1. Create a new issue raising a RFC for the changes following this format:
4646

47-
Title: [RFC] Changes to protocol xyz
47+
Title: [RFC] Changes to protocol xyz
4848
> **Info**:
49-
> 1. Protocol:
49+
> 1. Protocol:
5050
> 2. Fields Added:
5151
> 3. Why is this change neccessary?
5252
> ...(describe why here)...
5353
> 4. Which other COSI projects are affected by this change?
54-
> 5. Upgrade plan
54+
> 5. Upgrade plan
5555
> (ignore if it doesn't apply)
5656
5757
## References
5858

5959
- [Documentation](docs/index.md)
60-
- [Deployment Guide](docs/deployment-guide.md)
60+
- [Deployment Guide](docs/deployment-guide.md)
6161
- [Weekly Meetings](docs/meetings.md)
6262
- [Roadmap](https://github.com/orgs/kubernetes-sigs/projects/8)
6363

6464
## Community, discussion, contribution, and support
6565

6666
You can reach the maintainers of this project at:
6767

68-
- [#sig-storage-cosi](https://kubernetes.slack.com/messages/sig-storage-cosi) slack channel
68+
- [#sig-storage-cosi](https://kubernetes.slack.com/messages/sig-storage-cosi) slack channel
6969
- [container-object-storage-interface](https://groups.google.com/g/container-object-storage-interface-wg?pli=1) mailing list
7070

7171
### Code of conduct

Diff for: docs/deployment-guide.md

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
title: Deploying Container Object Storage Interface (COSI) On Kubernetes
3+
---
4+
# Deploying Container Object Storage Interface (COSI) On Kubernetes
5+
6+
This document describes steps for Kubernetes administrators to setup Container Object Storage Interface (COSI) onto a Kubernetes cluster.
7+
## Overview
8+
9+
Following components that need to be deployed in Kubernetes to setup COSI.
10+
11+
- CustomResourceDefinitions (CRDs)
12+
- Controller
13+
- Driver
14+
- Sidecar for the driver
15+
- Node Adapter
16+
17+
### Quick Start
18+
19+
Execute following commands to setup COSI:
20+
21+
```sh
22+
# Install CRDs
23+
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-api
24+
25+
# Install controller
26+
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-controller
27+
28+
# Sample Provisioner and Sidecar
29+
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-provisioner-sidecar
30+
31+
# Node Adapter
32+
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-csi-adapter
33+
```
34+
35+
### CustomResourceDefinitions
36+
37+
COSI acts on following [custom resource definitions (CRDs)](https://kubernetes.io/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/):
38+
39+
- `BucketRequest` - Represents a request to provision a Bucket
40+
- `BucketClass` - Represents a class of Buckets with similar characteristics
41+
- `Bucket` - Represents a Bucket or its equivalent in the storage backend
42+
- `BucketAccessRequest` - Represents a request to access a Bucket
43+
- `BucketAccessClass` - Represents a class of accessors with similar access requirements
44+
- `BucketAccess` - Represents a access token or service account in the storage backend
45+
46+
All [COSI custom resource definitions](../crds) can be installed using [kustomization file](../kustomization.yaml) and `kubectl` with following command:
47+
48+
```sh
49+
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-api
50+
```
51+
52+
### Controller
53+
54+
COSI controller can be setup using the [kustomization file](https://github.com/kubernetes-sigs/container-object-storage-interface-controller/blob/master/kustomization.yaml) from the [container-object-storage-interface-controller](https://github.com/kubernetes-sigs/container-object-storage-interface-controller) repository with following command:
55+
56+
```sh
57+
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-controller
58+
```
59+
60+
The controller will be deployed in the `default` namespace.
61+
62+
### Sample Driver & Sidecar
63+
64+
Sample Driver & Sidecar can be setup using the [kustomization file](https://github.com/kubernetes-sigs/container-object-storage-interface-provisioner-sidecar/blob/master/kustomization.yaml) from the [container-object-storage-interface-provisioner-sidecar](https://github.com/kubernetes-sigs/container-object-storage-interface-provisioner-sidecar) repository with following command:
65+
66+
```sh
67+
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-provisioner-sidecar
68+
```
69+
### Node Adapter
70+
71+
Node adapter can be setup using the [kustomization file](https://github.com/kubernetes-sigs/container-object-storage-interface-csi-adapter/blob/master/kustomization.yaml) from the [container-object-storage-interface-csi-adapter](https://github.com/kubernetes-sigs/container-object-storage-interface-csi-adapter) repository with following command:
72+
73+
```sh
74+
kubectl create -k github.com/kubernetes-sigs/container-object-storage-interface-csi-adapter
75+
```

0 commit comments

Comments
 (0)