Skip to content

Commit 39d8c8f

Browse files
joekrmrunalpagnis
authored andcommitted
Update README and CSI docs to use release version yaml
The main intro docs for CCM use manifests that currently use the `latest` image tag. We should steer customers to using our release asset manifests instead as they use properly defined images tags.
1 parent 3adbe20 commit 39d8c8f

File tree

7 files changed

+222
-26
lines changed

7 files changed

+222
-26
lines changed

README.md

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,14 @@ cloud-provider specific code out of the Kubernetes codebase.
2222

2323
## Compatibility matrix
2424

25-
| | Kubernetes 1.16 | Kubernetes 1.17 | Kubernetes 1.18 | Kubernetes 1.19 | Kubernetes 1.20 |
26-
|-----------|------------------------|------------------------|------------------------|------------------------|------------------------|
27-
| \>=v 0.9 ||||||
28-
| \>=v 0.10 ||||||
29-
| \>=v 0.11 ||||||
30-
| \>=v 0.12 ||||||
25+
| | Min Kubernetes Version | Max Kubernetes Version |
26+
|-----------|-----------------------------|------------------------------|
27+
| \>=v 0.11 | v1.16 | v1.18 |
28+
| \>=v 0.12 | v1.18 | v1.21 |
29+
| \>=v 0.13 | v1.19 | v1.21 |
3130

32-
Key:
33-
34-
* `` oci-cloud-controller-manager is fully compatible.
35-
* `` oci-cloud-controller-manager is not compatible.
36-
* `` Not tested with given version.
31+
Note:
32+
Versions older than v0.13.0 are no longer supported, new features / bug fixes will be available in v0.13.0 and later.
3733

3834
## Implementation
3935
Currently `oci-cloud-controller-manager` implements:
@@ -97,19 +93,20 @@ For CCM -
9793
```bash
9894
$ kubectl create secret generic oci-cloud-controller-manager \
9995
-n kube-system \
100-
--from-file=cloud-provider.yaml=cloud-provider-example.yaml
96+
--from-file=cloud-provider.yaml=provider-config-example.yaml
10197
```
10298
Note that you must ensure the secret contains the key `cloud-provider.yaml`
10399
rather than the name of the file on disk.
104100

105101
### Deployment
106102

107103
Deploy the controller manager and associated RBAC rules if your cluster
108-
is configured to use RBAC:
104+
is configured to use RBAC (replace ? with the version you want to install to):
109105

110106
```bash
111-
$ kubectl apply -f https://raw.githubusercontent.com/oracle/oci-cloud-controller-manager/master/manifests/cloud-controller-manager/oci-cloud-controller-manager.yaml
112-
$ kubectl apply -f https://raw.githubusercontent.com/oracle/oci-cloud-controller-manager/master/manifests/cloud-controller-manager/oci-cloud-controller-manager-rbac.yaml
107+
$ export RELEASE=?
108+
$ kubectl apply -f https://github.com/oracle/oci-cloud-controller-manager/releases/download/${RELEASE}/oci-cloud-controller-manager-rbac.yaml
109+
$ kubectl apply -f https://github.com/oracle/oci-cloud-controller-manager/releases/download/${RELEASE}/oci-cloud-controller-manager.yaml
113110
```
114111

115112
Check the CCM logs to ensure it's running correctly:

container-storage-interface.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,19 @@ Submit this as a Kubernetes Secret.
1919
```bash
2020
kubectl create secret generic oci-volume-provisioner \
2121
-n kube-system \
22-
--from-file=config.yaml=config.yaml
22+
--from-file=config.yaml=provider-config-example.yaml
2323
```
2424
### Installer
2525

2626
Create the associated RBAC rules if your cluster is configured to use [RBAC][3]
2727

28+
Before applying the below yaml configs make sure to set the version you want to install
2829
```bash
29-
$ kubectl apply -f https://raw.githubusercontent.com/oracle/oci-cloud-controller-manager/master/manifests/container-storage-interface/oci-csi-node-rbac.yaml
30+
$ export RELEASE=?
31+
```
32+
33+
```bash
34+
$ kubectl apply -f https://github.com/oracle/oci-cloud-controller-manager/releases/download/${RELEASE}/oci-csi-node-rbac.yaml
3035
```
3136
Deploy the csi-controller-driver:
3237
It is provided as a deployment and it has three containers -
@@ -35,7 +40,7 @@ It is provided as a deployment and it has three containers -
3540
3. oci-csi-controller-driver
3641

3742
```bash
38-
$ kubectl apply -f https://raw.githubusercontent.com/oracle/oci-cloud-controller-manager/master/manifests/container-storage-interface/oci-csi-controller-driver.yaml
43+
$ kubectl apply -f https://github.com/oracle/oci-cloud-controller-manager/releases/download/${RELEASE}/oci-csi-controller-driver.yaml
3944
```
4045

4146
Deploy the node-driver:
@@ -44,7 +49,7 @@ It is provided as a daemon set and it has two containers -
4449
2. oci-csi-node-driver
4550

4651
```bash
47-
$ kubectl apply -f https://raw.githubusercontent.com/oracle/oci-cloud-controller-manager/master/manifests/container-storage-interface/oci-csi-node-driver.yaml
52+
$ kubectl apply -f https://github.com/oracle/oci-cloud-controller-manager/releases/download/${RELEASE}/oci-csi-node-driver.yaml
4853
```
4954

5055
Deploy the csi storage class:
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Block Volume Expansion using CSI
2+
3+
## Setup
4+
5+
1. Make sure you have installed [CCM](../README.md) and [CSI](../container-storage-interface.md) version v0.13.0 or later
6+
7+
## Create PVC
8+
9+
```bash
10+
apiVersion: v1
11+
kind: PersistentVolumeClaim
12+
metadata:
13+
name: oci-bv-claim
14+
spec:
15+
accessModes:
16+
- ReadWriteOnce
17+
storageClassName: oci-bv
18+
resources:
19+
requests:
20+
storage: 50Gi
21+
```
22+
23+
## Create POD
24+
25+
```bash
26+
apiVersion: v1
27+
kind: Pod
28+
metadata:
29+
name: app1
30+
spec:
31+
containers:
32+
- name: app1
33+
image: centos
34+
command: ["/bin/sh"]
35+
args: ["-c", "while true; do echo $(date -u) >> /data/out.txt; sleep 5; done"]
36+
volumeMounts:
37+
- name: persistent-storage
38+
mountPath: /data
39+
volumes:
40+
- name: persistent-storage
41+
persistentVolumeClaim:
42+
claimName: oci-bv-claim
43+
```
44+
45+
Once PVC is Bound and Pod is running, edit the PVC to increase size of storage
46+
47+
Note:
48+
Only increasing the size of Block volume is supported, shrinking is not.
49+
CSI version 0.13.0 or later which runs on k8s cluster 1.19 or later supports block volume expansion.
50+
Flex volume does not support.
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
# Statically Provisioned FSS using CSI
2+
3+
## Setup
4+
5+
1. Make sure you have installed [CCM](../README.md) and [CSI](../container-storage-interface.md) version v0.13.0 or later
6+
2. Setup the [network configuration for FSS][1]
7+
3. Create a [File System with Mount Target][2]
8+
9+
## Create PV
10+
11+
```bash
12+
apiVersion: v1
13+
kind: PersistentVolume
14+
metadata:
15+
name: fss-static-pv
16+
spec:
17+
capacity:
18+
storage: 50Gi
19+
volumeMode: Filesystem
20+
accessModes:
21+
- ReadWriteMany
22+
persistentVolumeReclaimPolicy: Retain
23+
csi:
24+
driver: fss.csi.oraclecloud.com
25+
volumeHandle: FileSystemOCID:serverIP:path
26+
```
27+
28+
## Create PVC
29+
30+
```bash
31+
32+
apiVersion: v1
33+
kind: PersistentVolumeClaim
34+
metadata:
35+
name: fss-claim
36+
spec:
37+
accessModes:
38+
- ReadWriteMany
39+
storageClassName: ""
40+
resources:
41+
requests:
42+
storage: 5Gi
43+
volumeName: fss-static-pv
44+
```
45+
46+
## Create POD
47+
48+
```bash
49+
apiVersion: v1
50+
kind: Pod
51+
metadata:
52+
name: app
53+
spec:
54+
containers:
55+
- name: app
56+
image: busybox
57+
command: ["/bin/sh"]
58+
args: ["-c", "while true; do echo $(date -u) >> /data/out.txt; sleep 5; done"]
59+
volumeMounts:
60+
- name: persistent-storage
61+
mountPath: /data
62+
volumes:
63+
- name: persistent-storage
64+
persistentVolumeClaim:
65+
claimName: fss-claim
66+
```
67+
68+
# Statically Provisioned FSS with in-transit encryption using CSI
69+
70+
## Additional Setup for in-transit encryption
71+
72+
1. The statically provisioned FSS in-transit encryption tests need the oci-fss-utils package to be installed on the nodes running the tests. The package is needed to be downloaded from [here][3] and installed on the applicable nodes.
73+
2. Additional [network configuration for in-transit encryption][4]
74+
75+
## Create PV
76+
77+
```bash
78+
apiVersion: v1
79+
kind: PersistentVolume
80+
metadata:
81+
name: fss-in-transit-encrypted-static-pv
82+
spec:
83+
capacity:
84+
storage: 50Gi
85+
volumeMode: Filesystem
86+
accessModes:
87+
- ReadWriteMany
88+
persistentVolumeReclaimPolicy: Retain
89+
csi:
90+
driver: fss.csi.oraclecloud.com
91+
volumeHandle: FileSystemOCID:serverIP:path
92+
volumeAttributes:
93+
encryptInTransit: "true"
94+
```
95+
96+
## Create PVC
97+
98+
```bash
99+
100+
apiVersion: v1
101+
kind: PersistentVolumeClaim
102+
metadata:
103+
name: fss-claim
104+
spec:
105+
accessModes:
106+
- ReadWriteMany
107+
storageClassName: ""
108+
resources:
109+
requests:
110+
storage: 5Gi
111+
volumeName: fss-in-transit-encrypted-static-pv
112+
```
113+
114+
## Create POD
115+
116+
```bash
117+
apiVersion: v1
118+
kind: Pod
119+
metadata:
120+
name: app
121+
spec:
122+
containers:
123+
- name: app
124+
image: busybox
125+
command: ["/bin/sh"]
126+
args: ["-c", "while true; do echo $(date -u) >> /data/out.txt; sleep 5; done"]
127+
volumeMounts:
128+
- name: persistent-storage
129+
mountPath: /data
130+
volumes:
131+
- name: persistent-storage
132+
persistentVolumeClaim:
133+
claimName: fss-claim
134+
```
135+
136+
[1]: https://docs.oracle.com/en-us/iaas/Content/File/Tasks/securitylistsfilestorage.htm
137+
[2]: https://docs.oracle.com/en-us/iaas/Content/File/Tasks/creatingfilesystems.htm
138+
[3]: https://www.oracle.com/downloads/cloud/cloud-infrastructure-file-storage-downloads.html
139+
[4]: https://docs.oracle.com/en-us/iaas/Content/File/Tasks/intransitencryption.htm#intransitencryption-prerequisites

flex-volume-driver.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ installed on every node in your Kubernetes cluster.
1717
The recommended way to install the driver is through the DaemonSet installer mechanism. This will create two daemonsets, one specifically for master nodes, allowing configuration via a Kubernetes Secret, and one for worker nodes.
1818

1919
```bash
20-
$ kubectl apply -f https://raw.githubusercontent.com/oracle/oci-cloud-controller-manager/master/manifests/flexvolume-driver/oci-flexvolume-driver.yaml
21-
$ kubectl apply -f https://raw.githubusercontent.com/oracle/oci-cloud-controller-manager/master/manifests/flexvolume-driver/oci-flexvolume-driver-rbac.yaml
20+
$ export RELEASE=?
21+
$ kubectl apply -f https://github.com/oracle/oci-cloud-controller-manager/releases/download/${RELEASE}/oci-flexvolume-driver.yaml
22+
$ kubectl apply -f https://github.com/oracle/oci-cloud-controller-manager/releases/download/${RELEASE}/oci-flexvolume-driver-rbac.yaml
2223
```
2324

2425
You'll still need to add the config file as a Kubernetes Secret.

flex-volume-provisioner.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,9 @@ Allow group <name> to manage file-systems in compartment <compartment>
3838
Deploy the volume provisioner and associated RBAC rules if your cluster is configured to use [RBAC][3]
3939

4040
```bash
41-
$ kubectl apply -f https://raw.githubusercontent.com/oracle/oci-cloud-controller-manager/master/manifests/volume-provisioner/oci-volume-provisioner.yaml
42-
$ kubectl apply -f https://raw.githubusercontent.com/oracle/oci-cloud-controller-manager/master/manifests/volume-provisioner/oci-volume-provisioner-rbac.yaml
41+
$ export RELEASE=?
42+
$ kubectl apply -f https://github.com/oracle/oci-cloud-controller-manager/releases/download/${RELEASE}/oci-volume-provisioner.yaml
43+
$ kubectl apply -f https://github.com/oracle/oci-cloud-controller-manager/releases/download/${RELEASE}/oci-volume-provisioner-rbac.yaml
4344
```
4445

4546
Deploy the volume provisioner storage classes:

test/e2e/cloud-provider-oci/README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,15 @@ Note: Above listed <IMAGE>:<TAG> should be available in the provider repo path a
4646

4747
## Running FSS in-transit encryption tests
4848

49-
The two FSS in-transit encryption tests need the oci-fss-utils package to be installed on the nodes running the tests. The package is needed to be downloaded from [here][4] and installed on the applicable nodes. In addition to this, the below label is to be added using the command for each of the nodes which have the package installed to help the test suite recognise the applicable nodes.
49+
The statically provisioned FSS in-transit encryption tests need the oci-fss-utils package to be installed on the nodes running the tests. The package is needed to be downloaded from [here][4] and installed on the applicable nodes. In addition to this, the below label is to be added using the command for each of the nodes which have the package installed to help the test suite recognise the applicable nodes.
5050
```bash
5151
kubectl label nodes <node-name> oke.oraclecloud.com/e2e.oci-fss-util=installed
5252
```
53+
Please refer [FSS Network Setup][5] for FSS setup.
5354

5455
## Running Block Volume expansion tests
5556

56-
The three BV expand tests need the cluster version and nodepool version to be 1.19+
57+
The BV expand tests need the cluster version and nodepool version to be 1.19+
5758

5859
## Additional Debug Options when running tests on existing cluster
5960

@@ -76,7 +77,8 @@ $ ginkgo -v -progress test/e2e/cloud-provider-oci -- \
7677
--k8s-seclist-id=ocid1.securitylist.$k8sworkerid \
7778
--cmek-kms-key=${CMEK_KMS_KEY} \
7879
--nsg-ocids=${NSG_OCIDS} \
79-
--reserved-ip=${RESERVED_IP}
80+
--reserved-ip=${RESERVED_IP}\
81+
--volume-handle=${VOLUME_HANDLE}
8082
```
8183

8284
---
@@ -118,3 +120,4 @@ make run-ccm-e2e-tests-local FOCUS="load_*" FILES="true"
118120
[2]: https://onsi.github.io/ginkgo/
119121
[3]: https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/
120122
[4]: https://www.oracle.com/downloads/cloud/cloud-infrastructure-file-storage-downloads.html
123+
[5]: https://docs.oracle.com/en-us/iaas/Content/File/Tasks/securitylistsfilestorage.htm

0 commit comments

Comments
 (0)