Merge pull request #43 from seaweedfs/readme_adjustments

Readme adjustments
This commit is contained in:
Chris Lu 2021-06-25 01:55:10 -07:00 committed by GitHub
commit 682dcbae7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 44 additions and 8 deletions

View File

@ -2,14 +2,22 @@
# 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 examples in config/samples/).
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 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.
- [ ] 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 +35,40 @@ 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
```
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
Follow the instructions in https://sdk.operatorframework.io/docs/building-operators/golang/quickstart/