Skip to content

Commit

Permalink
Release v0.1.1, Pull image from MCR and documentation update (#39)
Browse files Browse the repository at this point in the history
* Pull image from MCR and documentation update

* Update luster clusters

* update lustre clusters

* update scripts and document
  • Loading branch information
vinli-cn authored May 23, 2022
1 parent f98fef4 commit c8a736b
Show file tree
Hide file tree
Showing 13 changed files with 56 additions and 39 deletions.
28 changes: 22 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,38 +6,54 @@

### About

This driver allows Kubernetes to access Azure Lustre filesystem.
This driver allows Kubernetes to access Azure Lustre file system.

#### csi plugin name: `azurelustre.csi.azure.com`
- CSI plugin name: `azurelustre.csi.azure.com`
- Project status: under early development

### Project status: under early development
 

### Container Images & Kubernetes Compatibility:

|driver version |Image | supported k8s version |
|----------------|--------------------------------------------------|-----------------------|
|main branch |mcr.microsoft.com/k8s/csi/azurelustre-csi:latest | 1.21+ |
| Driver version | Image | Supported k8s version | Lustre client version |
|-----------------|---------------------------------------------------------------|-----------------------|-----------------------|
| main branch | mcr.microsoft.com/oss/kubernetes-csi/azurelustre-csi:latest | 1.21+ | 2.14 |
| v0.1.1 | mcr.microsoft.com/oss/kubernetes-csi/azurelustre-csi:v.0.1.1 | 1.21+ | 2.14 |

 

### Set up CSI driver on AKS cluster (only for AKS users)

follow guide [here](./docs/install-csi-driver.md)

- [Deploy workload with Static Provisioning](./docs/static-provisioning.md)

 

### Troubleshooting

- [CSI driver troubleshooting guide](./docs/csi-debug.md)

 

### Support

- Please see our [support policy][support-policy]

 

## Kubernetes Development

- Please refer to [development guide](./docs/csi-dev.md)

 

### View CI Results

- Check testgrid [provider-azure-azurelustre-csi-driver](https://testgrid.k8s.io/provider-azure-azurelustre-csi-driver) dashboard.

 

### Links

- [Kubernetes CSI Documentation](https://kubernetes-csi.github.io/docs/)
Expand Down
6 changes: 3 additions & 3 deletions deploy/csi-azurelustre-controller.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ spec:
cpu: 10m
memory: 20Mi
- name: azurelustre
image: jusjin.azurecr.io/azurelustre-csi:v0.1.0 # TODO_JUSJIN: replace to private preview ACR
imagePullPolicy: Always # TODO_JUSJIN: for testing purpose
image: mcr.microsoft.com/oss/kubernetes-csi/azurelustre-csi:v0.1.1
imagePullPolicy: IfNotPresent
args:
- "-v=5"
- "--endpoint=$(CSI_ENDPOINT)"
Expand Down Expand Up @@ -98,7 +98,7 @@ spec:
name: socket-dir
- mountPath: /etc/kubernetes/
name: azure-cred
resources: # TODO_JUSJIN: tune this for perf/scale
resources:
limits:
cpu: 1
memory: 200Mi
Expand Down
6 changes: 3 additions & 3 deletions deploy/csi-azurelustre-node.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ spec:
cpu: 10m
memory: 20Mi
- name: azurelustre
image: jusjin.azurecr.io/azurelustre-csi:v0.1.0 # TODO_JUSJIN: replace to private preview ACR
imagePullPolicy: Always # TODO_JUSJIN: for testing only
image: mcr.microsoft.com/oss/kubernetes-csi/azurelustre-csi:v0.1.1
imagePullPolicy: IfNotPresent
args:
- "-v=5"
- "--endpoint=$(CSI_ENDPOINT)"
Expand Down Expand Up @@ -129,7 +129,7 @@ spec:
name: azure-cred
- mountPath: /mnt
name: azurelustre-cache
resources: # TODO_JUSJIN: tune this for perf/scale
resources:
limits:
cpu: 1
memory: 200Mi
Expand Down
4 changes: 2 additions & 2 deletions deploy/example/azurelustre/storageclass.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ metadata:
name: sc.azurelustre.csi.azure.com
provisioner: azurelustre.csi.azure.com
parameters:
mgs-ip-address: "172.18.8.7" # 1st azurelustre cluster for daily work
#mgs-ip-address: "172.18.8.12" # 2nd azurelustre cluster for long-haul and PR gated check-in
mgs-ip-address: "172.18.16.8" # dev1, azurelustre cluster for daily work
#mgs-ip-address: "172.18.17.8" # dev2, azurelustre cluster for long-haul and PR gated check-in
fs-name: "lustrefs"
4 changes: 2 additions & 2 deletions deploy/install-driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ set -euo pipefail

repo="$(git rev-parse --show-toplevel)/deploy"

echo "Installing Azure Managed Lustre CSI driver, repo: $repo ..."
echo "Installing Azure Lustre CSI driver, repo: $repo ..."
kubectl apply -f $repo/rbac-csi-azurelustre-controller.yaml
kubectl apply -f $repo/rbac-csi-azurelustre-node.yaml
kubectl apply -f $repo/csi-azurelustre-driver.yaml
kubectl apply -f $repo/csi-azurelustre-controller.yaml
kubectl apply -f $repo/csi-azurelustre-node.yaml
echo 'Azure Managed Lustre CSI driver installed successfully.'
echo 'Azure Lustre CSI driver installed successfully.'
4 changes: 2 additions & 2 deletions docs/csi-dev.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ $ csc identity plugin-info --endpoint $endpoint
#### 2. Create an azurelustre volume

```console
$ csc controller new --endpoint $endpoint --cap $cap --req-bytes 2147483648 --params "fs-name=$lustre_fs_name,mds-ip-address=$lustre_fs_ip" $volname
$ csc controller new --endpoint $endpoint --cap $cap --req-bytes 2147483648 --params "fs-name=$lustre_fs_name,mgs-ip-address=$lustre_fs_ip" $volname
```

 
Expand All @@ -109,7 +109,7 @@ $ csc controller new --endpoint $endpoint --cap $cap --req-bytes 2147483648 --pa

```console
$ mkdir /tmp/target-path
$ volumeid=$(csc node publish --endpoint $endpoint --cap $cap --target-path $target_path --vol-context "fs-name=$lustre_fs_name,mds-ip-address=$lustre_fs_ip" $volname)
$ volumeid=$(csc node publish --endpoint $endpoint --cap $cap --target-path $target_path --vol-context "fs-name=$lustre_fs_name,mgs-ip-address=$lustre_fs_ip" $volname)
```

 
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/pv.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
apiVersion: v1
kind: PersistentVolume
metadata:
# You can change the name to identify this PV
# The name of the PV
name: pv-lustre
spec:
accessModes:
Expand Down
5 changes: 2 additions & 3 deletions docs/examples/pvc_pv.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
# You can change the name to identify this PVC
# The name of the PVC
name: pvc-lustre
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Mi
# volumeName must be the same as the name in PV.
# If you changed the name in PV, you need to change this field.
# This field must be the same as PV name in PersistentVolume.
volumeName: pv-lustre
storageClassName: ""
9 changes: 4 additions & 5 deletions docs/examples/pvc_storageclass.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
# You can change the name to identify this PVC
# The name of the PVC
name: pvc-lustre
spec:
accessModes:
- ReadWriteMany
resources:
requests:
# This size must be the true size of the Azure Lustre you want
# to used. Or the volume create process may fail.
storage: 4Ti
# This field must be the same as the name in StorageClass
# The real storage capacity in the claim
storage: 1Gi
# This field must be the same as the storage class name in StorageClass
storageClassName: sc.azurelustre.csi.azure.com
7 changes: 3 additions & 4 deletions docs/examples/storageclass_existing_lustre.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
# You can change the name to identify this StorageClass.
# The name of the StorageClass.
name: sc.azurelustre.csi.azure.com
parameters:
# The file system name of the existing Lustre
# The file system name of the existing Lustre, "lustrefs" in common case
fs-name: ${EXISTING_LUSTRE_FS_NAME}
# The IP address of the existing Lustre
mgs-ip-address: ${EXISTING_LUSTRE_IP_ADDRESS}
provisioner: azurelustre.csi.azure.com
# If reclaimPolicy set as "Delete" Azure Lustre Cluster would be removed after PVC
# deletion.
# Azure Lustre Cluster is removed after PVC deletion if reclaimPolicy is the default value "Delete".
reclaimPolicy: Retain
volumeBindingMode: Immediate
5 changes: 2 additions & 3 deletions docs/install_csi_driver.md → docs/install-csi-driver.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Install Azure Managed Lustre CSI on a kubernetes cluster
# Install Azure Lustre CSI driver on a kubernetes cluster

This document explains how to install Azure Managed Lustre CSI on a kubernetes
cluster.
This document explains how to install Azure Lustre CSI driver on a kubernetes cluster.

## Install with kubectl

Expand Down
11 changes: 8 additions & 3 deletions docs/static_provisioning.md → docs/static-provisioning.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# Static Provisioning

This document explains how to use an existing Azure Lustre Cluster in
AKS through this CSI driver static provisioning.
This document explains how to deploy your workload with an existing Azure Lustre cluster using Lustre CSI driver.

## Create a Volume bounded to an existing Azure Lustre Cluster
 

## Create a Volume bound to an existing Azure Lustre Cluster

### Option 1: Use Storage Class

Expand All @@ -21,6 +22,8 @@ kubectl create -f storageclass_existing_lustre.yaml
kubectl create -f pvc_storageclass.yaml
```

 

### Option 2: Use PV

* Download [PV file](./examples/pv.yaml) and
Expand All @@ -36,6 +39,8 @@ kubectl create -f pv.yaml
kubectl create -f pvc_pv.yaml
```

 

## Use the Volume

* Make sure pvc is created and in Bound status after a while
Expand Down
4 changes: 2 additions & 2 deletions test/external-e2e/e2etest_storageclass.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ metadata:
name: testazurelustre.csi.azure.com
provisioner: azurelustre.csi.azure.com
parameters:
mgs-ip-address: "172.18.8.7" # 1st azurelustre cluster for daily work
#mgs-ip-address: "172.18.8.12" # 2nd azurelustre cluster for long-haul and PR gated check-in
mgs-ip-address: "172.18.16.8" # dev1, azurelustre cluster for daily work
#mgs-ip-address: "172.18.17.8" # dev2, azurelustre cluster for long-haul and PR gated check-in
fs-name: "lustrefs"

0 comments on commit c8a736b

Please sign in to comment.