1
0

Compare commits

...

14 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
23ecb30672 Merge pull request #37 from yonatankahana/readmeandchangelog
Update examples and build updated CHANGELOG
2021-02-04 17:06:52 -08:00
Yonatan Kahana
f2e15da1e9 Change the topic of unrleased changes to Unreleased
Signed-off-by: Yonatan Kahana <yonatankahana.il@gmail.com>
2021-02-04 20:55:23 +02:00
Kubernetes Prow Robot
73163eb740 Merge pull request #35 from yonatankahana/helm-release
Add github action to release helm charts
2021-02-04 09:34:29 -08:00
Yonatan Kahana
d9f68cefe9 Fix typo in CHANGELOG and change provisioner name to use the sigs namespace
Signed-off-by: Yonatan Kahana <yonatankahana.il@gmail.com>
2021-02-04 17:55:08 +02:00
Yonatan Kahana
ffc0286ee6 Merge branch 'master' into helm-release 2021-01-22 18:20:46 +02:00
Kubernetes Prow Robot
d19dc6e13b Merge pull request #39 from yonatankahana/helmkubesemver
Change the helm chart kubeVersion semver to include pre-releases
2021-01-22 08:01:27 -08:00
Yonatan Kahana
3837a51db7 Change the helm chart kubeVersion semver to include pre-releases
Signed-off-by: Yonatan Kahana <yonatankahana.il@gmail.com>
2021-01-19 20:11:25 +02:00
Yonatan Kahana
56edbc016b Remove changes that not affect the provisioner from the changelog
Signed-off-by: Yonatan Kahana <yonatankahana.il@gmail.com>
2021-01-18 18:16:24 +02:00
Yonatan Kahana
8dd86a700b Small fixes of previous commits
Signed-off-by: Yonatan Kahana <yonatankahana.il@gmail.com>
2021-01-16 15:10:11 +02:00
Yonatan Kahana
30b0f52598 Add all changes from current repository to CHANGELOG
Signed-off-by: Yonatan Kahana <yonatankahana.il@gmail.com>
2021-01-16 15:02:27 +02:00
Yonatan Kahana
7483890c52 Add all changes from deprecated repository to CHANGELOG
Signed-off-by: Yonatan Kahana <yonatankahana.il@gmail.com>
2021-01-16 14:42:21 +02:00
Yonatan Kahana
aea8ecafba Update the README and deploy objects with better class names as examples
Signed-off-by: Yonatan Kahana <yonatankahana.il@gmail.com>
2021-01-16 14:41:38 +02:00
Yonatan Kahana
6fd46c11d4 Deleting an unnecessary step in the helm chart release action
Signed-off-by: Yonatan Kahana <yonatankahana.il@gmail.com>
2021-01-12 19:12:30 +02:00
Yonatan Kahana
f44ac23c42 Add github action to release helm charts
Signed-off-by: Yonatan Kahana <yonatankahana.il@gmail.com>
2021-01-11 22:03:05 +02:00
26 changed files with 84 additions and 26 deletions

View File

@@ -0,0 +1,25 @@
name: Release Helm Charts
on:
push:
branches:
- master
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Configure Git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.1.0
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -1,3 +1,40 @@
# Unreleased
- Remove redundant field in the rbac.yaml (https://github.com/kubernetes-retired/external-storage/pull/970)
- Use `kubernetes-sigs/sig-storage-lib-external-provisioner` instead of `incubator/external-storage/lib` (https://github.com/kubernetes-retired/external-storage/pull/1026)
- Fill in rbac.yaml with ServiceAccount manifest (https://github.com/kubernetes-retired/external-storage/pull/1060, https://github.com/kubernetes-retired/external-storage/pull/1179)
- Make ARM deployment consistent with regular deployment (https://github.com/kubernetes-retired/external-storage/pull/1090)
- Update Deployment apiVersion (from `extensions/v1beta1` to `apps/v1`) and added selector field (https://github.com/kubernetes-retired/external-storage/pull/1230/, https://github.com/kubernetes-retired/external-storage/pull/1231/, https://github.com/kubernetes-retired/external-storage/pull/1283/, https://github.com/kubernetes-retired/external-storage/pull/1294/)
- Fix namespace in deployments (https://github.com/kubernetes-retired/external-storage/pull/1087, https://github.com/kubernetes-retired/external-storage/pull/1279)
- Update path creation and implemented possibility save data after removing PV (https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/pull/7/)
- Support for running controller outside of cluster (https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/pull/9)
- Add a flag to disable leader election (https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/pull/22)
- Switched to kubernetes `v1.18.0` to be compatible with `>=1.20` selfLink removal (https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/pull/26/)
- Enable mountOptions from StorageClass to PersistentVolume (https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/pull/28)
# v3.1.0
- Make leader-election configurable: default endpoints object namespace to controller's instead of kube-system (https://github.com/kubernetes-retired/external-storage/pull/957)
# v3.0.1
- Fix archiveOnDelete parsing (https://github.com/kubernetes-retired/external-storage/pull/929)
# v3.0.0
- Adds archiveOnDelete parameter to provisioner (https://github.com/kubernetes-retired/external-storage/pull/905)
- Change all clusterroles to have endpoints permissions and reduced events permissions, consolidate where possible (https://github.com/kubernetes-retired/external-storage/pull/892)
# v2.1.2
- Propagate StorageClass MountOptions to PVs (https://github.com/kubernetes-retired/external-storage/pull/835)
- Skip deletion if the corresponding directory is not found (https://github.com/kubernetes-retired/external-storage/pull/859)
# v2.1.1
- Revert "Add namespace extended attributes to directory" (https://github.com/kubernetes-retired/external-storage/pull/816)
# v2.1.0
- Change the storage apiVersion from `storage.k8s.io/v1beta1` to `storage.k8s.io/v1` (https://github.com/kubernetes-retired/external-storage/pull/599)
- Fix Makefile to build on OSX (https://github.com/kubernetes-retired/external-storage/pull/661)
- Change the RBAC apiVersion from `rbac.authorization.k8s.io/v1alpha1` to `rbac.authorization.k8s.io/v1` (https://github.com/kubernetes-retired/external-storage/pull/656)
- Add serviceAccount to deployment (https://github.com/kubernetes-retired/external-storage/pull/653)
- Add namespace extended attributes to directory (https://github.com/kubernetes-retired/external-storage/pull/672)
# v2.0.1
- Add support for ARM (Raspberry PI). Image at `quay.io/external_storage/nfs-client-provisioner-arm`. (https://github.com/kubernetes-incubator/external-storage/pull/275)

View File

@@ -21,14 +21,13 @@ To note again, you must _already_ have an NFS Server.
### With Helm
Follow the instructions from the helm chart [README](deploy/helm/README.md).
Follow the instructions from the helm chart [README](charts/nfs-subdir-external-provisioner/README.md).
The tl;dr is
```console
$ git clone https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner.git
$ cd nfs-subdir-external-provisioner/deploy/helm/
$ helm install nfs-subdir-external-provisioner . \
$ helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
$ helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
--set nfs.server=x.x.x.x \
--set nfs.path=/exported/path
```
@@ -107,7 +106,7 @@ spec:
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
value: fuseim.pri/ifs
value: k8s-sigs.io/nfs-subdir-external-provisioner
- name: NFS_SERVER
value: <YOUR NFS SERVER HOSTNAME>
- name: NFS_PATH
@@ -119,7 +118,7 @@ spec:
path: /var/nfs
```
You may also want to change the PROVISIONER_NAME above from `fuseim.pri/ifs` to something more descriptive like `nfs-storage`, but if you do remember to also change the PROVISIONER_NAME in the storage class definition below.
You may also want to change the PROVISIONER_NAME above from `k8s-sigs.io/nfs-subdir-external-provisioner` to something more descriptive like `nfs-storage`, but if you do remember to also change the PROVISIONER_NAME in the storage class definition below.
To disable leader election, define an env variable named ENABLE_LEADER_ELECTION and set its value to false.
@@ -129,8 +128,8 @@ To disable leader election, define an env variable named ENABLE_LEADER_ELECTION
| Name | Description | Default |
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------: |
| onDelete | If it exists and has a delete value, delete the directory, if it exists and has a retain value, save the directory. | will be archived with name on the share: `archived-+volume.Name` |
| archiveOnDelete | If it exists and has a false value, delete the directory. if `onDelete` exists, `archiveOnDelete` will be ignored. | will be archived with name on the share: `archived-+volume.Name` |
| onDelete | If it exists and has a delete value, delete the directory, if it exists and has a retain value, save the directory. | will be archived with name on the share: `archived-<volume.Name>` |
| archiveOnDelete | If it exists and has a false value, delete the directory. if `onDelete` exists, `archiveOnDelete` will be ignored. | will be archived with name on the share: `archived-<volume.Name>` |
| pathPattern | Specifies a template for creating a directory path via PVC metadata's such as labels, annotations, name or namespace. To specify metadata use `${.PVC.}`: `${PVC.namespace}` | n/a |
This is `deploy/class.yaml` which defines the NFS-Client's Kubernetes Storage Class:
@@ -140,7 +139,7 @@ apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: managed-nfs-storage
provisioner: fuseim.pri/ifs # or choose another name, must match deployment's env PROVISIONER_NAME'
provisioner: k8s-sigs.io/nfs-subdir-external-provisioner # or choose another name, must match deployment's env PROVISIONER_NAME'
parameters:
pathPattern: "${.PVC.namespace}/${.PVC.annotations.nfs.io/storage-path}" # waits for nfs.io/storage-path annotation, if not specified will accept as empty string.
onDelete: delete
@@ -166,7 +165,7 @@ Now check the folder has been deleted.
**Step 7: Deploying your own PersistentVolumeClaims**
To deploy your own PVC, make sure that you have the correct `storage-class` as indicated by your `deploy/class.yaml` file.
To deploy your own PVC, make sure that you have the correct `storageClassName` as indicated by your `deploy/class.yaml` file.
For example:
@@ -176,9 +175,9 @@ apiVersion: v1
metadata:
name: test-claim
annotations:
volume.beta.kubernetes.io/storage-class: "managed-nfs-storage"
nfs.io/storage-path: "test-path" # not required, depending on whether this annotation was shown in the storage class description
spec:
storageClassName: managed-nfs-storage
accessModes:
- ReadWriteMany
resources:

View File

@@ -4,7 +4,7 @@ description: nfs-subdir-external-provisioner is an automatic provisioner that us
name: nfs-subdir-external-provisioner
home: https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
version: 3.0.0
kubeVersion: ">=1.9.0 <1.20.0"
kubeVersion: ">=1.9.0-0 <1.20.0-0"
sources:
- https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
keywords:

View File

@@ -5,9 +5,8 @@ The [NFS subdir external provisioner](https://github.com/kubernetes-sigs/nfs-sub
## TL;DR;
```console
$ git clone https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner.git
$ cd nfs-subdir-external-provisioner/deploy/helm/
$ helm install nfs-subdir-external-provisioner . \
$ helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
$ helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
--set nfs.server=x.x.x.x \
--set nfs.path=/exported/path
```
@@ -28,9 +27,9 @@ This charts installs custom [storage class](https://kubernetes.io/docs/concepts/
To install the chart with the release name `my-release`:
```console
$ helm install my-release . \
$ helm install my-release nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
--set nfs.server=x.x.x.x \
--set nfs.path=/exported/path```
--set nfs.path=/exported/path
```
The command deploys the given storage class in the default configuration. It can be used afterswards to provision persistent volumes. The [configuration](#configuration) section lists the parameters that can be configured during installation.

View File

@@ -2,6 +2,6 @@ apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: managed-nfs-storage
provisioner: fuseim.pri/ifs # or choose another name, must match deployment's env PROVISIONER_NAME'
provisioner: k8s-sigs.io/nfs-subdir-external-provisioner # or choose another name, must match deployment's env PROVISIONER_NAME'
parameters:
archiveOnDelete: "false"

View File

@@ -27,7 +27,7 @@ spec:
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
value: fuseim.pri/ifs
value: k8s-sigs.io/nfs-subdir-external-provisioner
- name: NFS_SERVER
value: 10.10.10.60
- name: NFS_PATH

View File

@@ -27,7 +27,7 @@ spec:
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
value: fuseim.pri/ifs
value: k8s-sigs.io/nfs-subdir-external-provisioner
- name: NFS_SERVER
value: 10.10.10.60
- name: NFS_PATH

View File

@@ -2,6 +2,6 @@ apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: managed-nfs-storage
provisioner: fuseim.pri/ifs # or choose another name, must match deployment's env PROVISIONER_NAME'
provisioner: k8s-sigs.io/nfs-subdir-external-provisioner # or choose another name, must match deployment's env PROVISIONER_NAME'
parameters:
archiveOnDelete: "false"

View File

@@ -20,7 +20,7 @@ spec:
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
value: fuseim.pri/ifs
value: k8s-sigs.io/nfs-subdir-external-provisioner
- name: NFS_SERVER
value: 10.10.10.60
- name: NFS_PATH

View File

@@ -20,7 +20,7 @@ spec:
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
value: fuseim.pri/ifs
value: k8s-sigs.io/nfs-subdir-external-provisioner
- name: NFS_SERVER
value: 10.10.10.60
- name: NFS_PATH

View File

@@ -2,8 +2,6 @@ kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: test-claim
annotations:
volume.beta.kubernetes.io/storage-class: "managed-nfs-storage"
spec:
storageClassName: managed-nfs-storage
accessModes:

2
go.mod
View File

@@ -41,4 +41,4 @@ replace (
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.18.0
k8s.io/metrics => k8s.io/metrics v0.18.0
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.18.0
)
)