Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andyxning/nsq-operator
A NSQ operator for Kubernetes
https://github.com/andyxning/nsq-operator
kubernetes mq nsq operator
Last synced: 27 days ago
JSON representation
A NSQ operator for Kubernetes
- Host: GitHub
- URL: https://github.com/andyxning/nsq-operator
- Owner: andyxning
- License: apache-2.0
- Created: 2017-08-18T00:14:14.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-06-14T13:03:04.000Z (over 5 years ago)
- Last Synced: 2024-05-22T14:31:09.421Z (6 months ago)
- Topics: kubernetes, mq, nsq, operator
- Language: Go
- Homepage:
- Size: 4.9 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Security: SECURITY_CONTACTS
Awesome Lists containing this project
README
# nsq-operator
**nsq-operator** targets to run NSQ-As-A-Service, i.e., NAAS, based on [Kubernetes](https://kubernetes.io/).# Status
**nsq-operator** is currently in **Alpha** stage. Until **GA** status is clearly stated, it is not recommended to run
**nsq-operator** in production.But, we encourage end users to give **nsq-operator** a try, i.e., testing and benching **nsq-operator**, and give us
some feedback.# Feature
* High availability. NSQ-Operator supports HA by utilizing Kubernetes
[leaderelection](https://github.com/kubernetes/client-go/tree/master/tools/leaderelection) package and
[coordination.k8s.io/lease](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#lease-v1-coordination-k8s-io) resource.
* Create/Delete a nsq cluster
* Scale nsqd/nsqlookupd/nsqadmin components separately
* Update nsqd/nsqlookupd/nsqadmin image separately
* Adjust nsqd command line arguments
* Adjust nsqd pods memory resource according to average message size, memory queue size, memory overbooking percent and channel count
* Log Management.
* Rotate log by [logrotate](https://linux.die.net/man/8/logrotate) hourly
* Mount log directory to a dedicated host machine directory in nsqd/nsqlookupd/nsqadmin spec
* QPS based horizontal pod autoscale. No memory/cpu/network/disk resources based autoscale support. QPS autoscale does
not rely on any other systems. It is implemented in Kubernetes way. [More details](docs/auto_scale.md)# Runtime Requirement
* Kubernetes >= 1.14.0
* Golang >= 1.12.0# SDK
There is a [sdk](pkg/sdk/v1alpha1) which can be used to CRUD nsq related resource. Files under
[examples](pkg/sdk/examples) show sdk use examples.| File | Description
|----------|---------------------------
| [create_cluster.go](pkg/sdk/examples/create_cluster.go) | Create a NSQ cluster
| [delete_cluster.go](pkg/sdk/examples/delete_cluster.go) | Delete a NSQ cluster
| [update_nsqadmin_replica.go](pkg/sdk/examples/update_nsqadmin_replica.go) | Update nsqadmin resource object replica
| [update_nsqlookupd_replica.go](pkg/sdk/examples/update_nsqlookupd_replica.go) | Update nsqlookupd resource object replica
| [update_nsqd_replica.go](pkg/sdk/examples/update_nsqd_replica.go) | Update nsqd resource object replica
| [adjust_nsqd_config.go](pkg/sdk/examples/adjust_nsqd_config.go) | Adjust nsqd command line arguments
| [adjust_nsqd_memory_resource.go](pkg/sdk/examples/adjust_nsqd_memory_resource.go) | Adjust nsqd resource object's memory resource limits/requests
| [adjust_nsqdscale.go](pkg/sdk/examples/adjust_nsqdscale.go) | Adjust nsqdscale resource object
| [bump_nsqadmin_image.go](pkg/sdk/examples/bump_nsqadmin_image.go) | Update a NSQ cluster's nsqadmin image
| [bump_nsqlookupd_image.go](pkg/sdk/examples/bump_nsqlookupd_image.go) | Update a NSQ cluster's nsqlookupd image
| [bump_nsqd_image.go](pkg/sdk/examples/bump_nsqd_image.go) | Update a NSQ cluster's nsqd image
# FAQ
See [FAQ](FAQ.md)# Users
See [Users](USERS.md)