From 9684d464be058f2fb2802a280328fb4244df1eff Mon Sep 17 00:00:00 2001 From: thiscantbeserious <34506214+thiscantbeserious@users.noreply.github.com> Date: Thu, 10 Jun 2021 19:03:55 +0200 Subject: [PATCH 1/4] Update README.md --- README.md | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 04d2e9e..2c18e80 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,20 @@ # SeaweedFS Operator +This [Kubernetes Operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) is made to easily deploy SeaweedFS onto your Kubernetes-Cluster. + +The difference to [seaweedfs-csi-driver](https://github.com/seaweedfs/seaweedfs-csi-driver) is that the infrastructure (SeaweedFS) itself runs on Kubernetes as well (Master, Filer, Volume-Servers) and can as such easily scale with it as you need. It is also by far more resilent to failures then a simple systemD service in regards to handling crashing services or accidental deletes. + +By using `make deploy` it will deploy a Resource of type 'Seaweed' onto your current kubectl $KUBECONFIG target (the operator itself) which by default will do nothing unless you configurate it (see . + Goals: -* Automatically deploy a SeaweedFS cluster with 3 masters, N volume servers, and M filers with customizable filer store managed by other operators. -* Auto rolling upgrade and restart. -* Ingress for volume server, filer and S3, to support HDFS, REST filer, S3 API and cross-cluster replication. -* Support all major cloud Kubernetes: AWS, Google, Azure. -* Scheduled backup to cloud storage: S3, Google Cloud Storage , Azure. -* Put warm data to cloud storage tier: S3, Google Cloud Storage , Azure. -* Grafana dashboard. +- [x] Automatically deploy a SeaweedFS cluster with 3 masters, N volume servers, and M filers with customizable filer store managed by other operators. +- [x] Auto rolling upgrade and restart. +- [x] Ingress for volume server, filer and S3, to support HDFS, REST filer, S3 API and cross-cluster replication. +- [ ] Support all major cloud Kubernetes: AWS, Google, Azure. +- [ ] Scheduled backup to cloud storage: S3, Google Cloud Storage , Azure. +- [ ] Put warm data to cloud storage tier: S3, Google Cloud Storage , Azure. +- [ ] Grafana dashboard. ## Installation @@ -27,12 +33,28 @@ To deploy the operator with webhooks enabled, make sure you have installed the ` Lastly, change the value of `ENABLE_WEBHOOKS` to `"true"` in `config/manager/manager.yaml` +Afterwards fire up: +```bash +$ make install +``` + Then run the command to deploy the operator into your cluster: -``` +```bash $ make deploy ``` +Verify if it was correctly deployed with: +```bash +$ kubectl get Seaweed --all-namespaces +``` + +Which should return: +```bash +NAMESPACE NAME AGE +seaweed seaweed 1h +``` + ## Development Follow the instructions in https://sdk.operatorframework.io/docs/building-operators/golang/quickstart/ From e4e09b32b1f0b1a3ab272c9ace6a86726855d86e Mon Sep 17 00:00:00 2001 From: thiscantbeserious <34506214+thiscantbeserious@users.noreply.github.com> Date: Thu, 10 Jun 2021 19:06:00 +0200 Subject: [PATCH 2/4] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2c18e80..98c131f 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ This [Kubernetes Operator](https://kubernetes.io/docs/concepts/extend-kubernetes The difference to [seaweedfs-csi-driver](https://github.com/seaweedfs/seaweedfs-csi-driver) is that the infrastructure (SeaweedFS) itself runs on Kubernetes as well (Master, Filer, Volume-Servers) and can as such easily scale with it as you need. It is also by far more resilent to failures then a simple systemD service in regards to handling crashing services or accidental deletes. -By using `make deploy` it will deploy a Resource of type 'Seaweed' onto your current kubectl $KUBECONFIG target (the operator itself) which by default will do nothing unless you configurate it (see . +By using `make deploy` it will deploy a Resource of type 'Seaweed' onto your current kubectl $KUBECONFIG target (the operator itself) which by default will do nothing unless you configurate it (see examples in config/samples/). Goals: - [x] Automatically deploy a SeaweedFS cluster with 3 masters, N volume servers, and M filers with customizable filer store managed by other operators. From 9623cd352ea770e468ff699159cdd7b6322a2506 Mon Sep 17 00:00:00 2001 From: thiscantbeserious <34506214+thiscantbeserious@users.noreply.github.com> Date: Sun, 13 Jun 2021 12:52:05 +0200 Subject: [PATCH 3/4] Update README.md --- README.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 98c131f..4f65126 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,9 @@ The difference to [seaweedfs-csi-driver](https://github.com/seaweedfs/seaweedfs- By using `make deploy` it will deploy a Resource of type 'Seaweed' onto your current kubectl $KUBECONFIG target (the operator itself) which by default will do nothing unless you configurate it (see examples in config/samples/). Goals: -- [x] Automatically deploy a SeaweedFS cluster with 3 masters, N volume servers, and M filers with customizable filer store managed by other operators. +- [x] Automatically deploy and manage a SeaweedFS cluster. +- [x] Ability to be managed by other Operators. +- [ ] Compability with [seaweedfs-csi-driver](https://github.com/seaweedfs/seaweedfs-csi-driver) - [x] Auto rolling upgrade and restart. - [x] Ingress for volume server, filer and S3, to support HDFS, REST filer, S3 API and cross-cluster replication. - [ ] Support all major cloud Kubernetes: AWS, Google, Azure. @@ -55,6 +57,15 @@ NAMESPACE NAME AGE seaweed seaweed 1h ``` +See the next section for example usage + + +## Configuration Examples + + +## Maintenance and Uninstallation + + ## Development Follow the instructions in https://sdk.operatorframework.io/docs/building-operators/golang/quickstart/ From 45599dc10f749bb8304fe51300764be0e83d6676 Mon Sep 17 00:00:00 2001 From: thiscantbeserious <34506214+thiscantbeserious@users.noreply.github.com> Date: Fri, 25 Jun 2021 10:17:25 +0200 Subject: [PATCH 4/4] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4f65126..3a40301 100644 --- a/README.md +++ b/README.md @@ -62,9 +62,12 @@ See the next section for example usage ## Configuration Examples +- Please send us your use-cases / example configs ... this is currently empty (needs to be written) +- For now see: https://github.com/seaweedfs/seaweedfs-operator/blob/readme_adjustments/config/samples/seaweed_v1_seaweed.yaml + ## Maintenance and Uninstallation - +- TBD ## Development