sample-controller
percona-server-mongodb-operator
Our great sponsors
sample-controller | percona-server-mongodb-operator | |
---|---|---|
7 | 3 | |
3,022 | 300 | |
1.6% | 4.3% | |
0.0 | 9.3 | |
5 days ago | 3 days ago | |
Go | Go | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sample-controller
-
Is there a tutorial on how to write an Operator in Go?
- Sample controller: https://github.com/kubernetes/sample-controller
-
Writing an Operator from scratch
The most low-level approach I have seen is using the client-go package. Both kubebuilder and controller-runtime are based on this package. You can see an official example here: https://github.com/kubernetes/sample-controller/blob/master/docs/controller-client-go.md But even that sample requires some code generation on top of it https://cloud.redhat.com/blog/kubernetes-deep-dive-code-generation-customresources
-
Container in cluster which can control cluster
I would still recommend gitOps tools or if you want to create your own abstraction (CRD) that encapsulates whatever behaviour you want to watch/act upon, take a look into kubernetes sample controller (https://github.com/kubernetes/sample-controller) or the kubernetes operator pattern https://kubernetes.io/docs/concepts/extend-kubernetes/operator/
-
Anybody use both kubebuilder and operator-sdk to create controllers/operators?
Either should be fine. In case though you want something more basic then consider sample-controller: https://github.com/kubernetes/sample-controller
-
How to get to the next Level in Kubernetes?
As far as Operator development goes, if you are comfortable with golang then I would recommend checking out sample-controller https://github.com/kubernetes/sample-controller It does not abstract the underlying client-go machinery and so provides a good way to understand how various parts of an Operator come together. On the other hand, if you don't want to get exposed to that much details then either Operator SDK or Kubebuilder will be good options. In case you are not into golang then there are SDKs for other languages as well (Python, Java, etc.).
-
Opensource K8s operator developed in Go to contribute
Cool! Given that you mention you are a beginner in K8s operator development, here is a plan that I would like to suggest. 1. Get basic understanding of Kubernetes custom controllers first. The sample controller repo is a good place to start. https://github.com/kubernetes/sample-controller
-
How to start combining kubernetes and go knowledge
the sample controller using client-go to learn about informers: https://github.com/kubernetes/sample-controller
percona-server-mongodb-operator
-
Deploy MongoDB on Kubernetes with ArgoCD and Helm charts
Deploying the Percona Operator for MongoDB using ArgoCD represents a significant step forward in managing complex database systems within Kubernetes. By integrating Helm charts with GitOps principles, organizations can achieve more consistent, scalable, and error-resistant deployments.
-
Recap Monthly Percona Developer Meetup Hacktoberfest
It's the turn of percona/percona-server-mongodb-operator; Denys Kondratenko is the maintainer of this project. It is an excellent opportunity to learn about Kubernetes and how to extend it and maintain stateful databases inside Kubernetes. Most of the things are tracked in GitHub and Jira.
- Opensource K8s operator developed in Go to contribute
What are some alternatives?
kubebuilder - Kubebuilder - SDK for building Kubernetes APIs using CRDs
opentelemetry-operator - Kubernetes Operator for OpenTelemetry Collector
percona-xtradb-cluster-operator - Percona Operator for MySQL based on Percona XtraDB Cluster
percona-docker - Collection of Dockerfiles for Percona software. See individual directories for more details.
kubeplus - Kubernetes Operator to create multi-instance SaaS from Helm charts using Kubernetes-native APIs
mongodb_exporter - A Prometheus exporter for MongoDB including sharding, replication and storage engines
controller-runtime - Repo for the controller-runtime subproject of kubebuilder (sig-apimachinery)
metacontroller - Writing kubernetes controllers can be simple
Hacktoberfest2023 - About Make your Pull Request on Hacktoberfest 2023. Don't forget to spread love and if you like give us a ⭐️
pg_stat_monitor - Query Performance Monitoring Tool for PostgreSQL
pmm - Percona Monitoring and Management: an open source database monitoring, observability and management tool