kubeplus
operator-sdk
Our great sponsors
kubeplus | operator-sdk | |
---|---|---|
38 | 23 | |
607 | 7,005 | |
3.1% | 1.2% | |
7.9 | 8.0 | |
4 days ago | 4 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.
kubeplus
- Traditional Shared Hosting on Kubernetes?
-
Kubebouncer - Custom admission controller webhooks
We went through this migration/upgrade in our KubePlus project (https://github.com/cloud-ark/kubeplus). It has an embedded webhook in it, fyi.
-
Is it a good idea to use k8s namespace-based multitenancy for delivering managed service of an application?
You might want to check out - KubePlus (https://github.com/cloud-ark/kubeplus), which has already been referenced in the thread and is exactly designed for building managed application services. I am the originator and core contributor to this project. KubePlus is a Kubernetes Operator that takes an application Helm chart and represents it as a Kubernetes API (CRD) on the cluster. This API allows you to create instances of the application in separate namespaces automatically ensuring a secure perimeter around each instance using NetworkPolicy, Resource Quota, and RBAC. These soft multi-tenancy measures are already mentioned in the thread along with the namespace. KubePlus has automated all of them for you under an API. This API not only allows the creation of the application instances but also supports day-2 operations such as monitoring, troubleshooting, and upgrades to simplify the end-to-end functioning of any managed application service. We are currently seeing interest from teams that want to create managed services for different types of containerized applications, including open-source platforms such as WordPress, Moodle, Ozone/OpenMRS, AI/ML workloads, etc. KubePlus has been tested successfully with all (90+) Bitnami Helm charts. For anyone who wants to deliver a managed application with minimal / no Kubernetes access to their customers, KubePlus can help by accelerating the implementation of namespace-based multi-tenancy on Kubernetes. With the ability to set NetworkPolicy and Resource Quota per application instance, the blast radius is restricted, if something goes wrong in an application instance. KubePlus does not need admin permissions on your cluster. This makes it possible to use KubePlus to manage your application instances on your customer's cluster as well.
-
Writing a Kubernetes Operator
We have an FAQ about Operators here: https://github.com/cloud-ark/kubeplus/blob/master/Operator-F...
It should be helpful if you are new to the Operator concept.
Operators are generally useful for handling domain-specific actions - for example, performing database backups, installing plugins on Moodle/Wordpress, etc. If you are looking for application deployment then a Helm chart should be sufficient.
-
Use Kubernetes to run your SaaS
If you are currently delivering your SaaS as a separate instance of your application per customer, you might want to check out our open-source project KubePlus - https://github.com/cloud-ark/kubeplus
-
Kubernetes for SaaS with multi-instance
A more commerical offering is from Cloudark who have designed a specific solution for operating your Helm application as a SaaS offering. I have never used it (ArgoCD being my poison) but you might find it fits your usecase better
-
Simplest way to host kubernetes with user-level isolation and multi-tenancy
As part of your data platform are you planning to create a separate instance of the database for your end customer? If so, you might find our KubePlus Operator helpful. Check it out here: https://github.com/cloud-ark/kubeplus
-
One user per pod with Kubernetes or other container orchestration tools
We have been helping organizations build such multi-instance multi-tenant cloud-native applications. We start with an application Helm chart and create separate release of it per customer/user of that organization. We have an open source Kubernetes Operator that aids in this: https://github.com/cloud-ark/kubeplus
-
What is your experience with operators?
You might also want to checkout Operator guidelines and Operator FAQ: - Operator Maturity Model guidelines: https://github.com/cloud-ark/kubeplus/blob/master/Guidelines.md
-
Does anybody need a Kubernetes Operator for auto renewing SSL certificates?
The project that is getting some traction recently is our KubePlus Operator that delivers Helm charts as-a-service: https://github.com/cloud-ark/kubeplus
operator-sdk
-
Building a Kubernetes Operator with the Operator Framework
operator-sdk: brew install operator-sdk
-
Annotations in Kubernetes Operator Design
The operator that I've been working on is designed to manage the full lifecycle of a QuestDB database instance, including version and hardware upgrades, config changes, backups, and (eventually) recovery from node failure. I used the Operator SDK and kubebuilder frameworks to provide scaffolding and API support.
-
Hacking in kind (Kubernetes in Docker)
I've recently been working on an operator (built using the operator-sdk) that manages cluster node lifecycles. Kind allows you to spin up clusters with multiple nodes, using a Docker container per-node and joining them using a common Docker network. However, the kind executable does not allow you to modify an existing cluster by adding or removing a node.
-
Creating Kubernetes Operators with operator-sdk
To illustrate what we can do with an operator, I will create a proof of concept using operator-sdk. According to the official website::
- What Is A Kubernetes Operator?
-
Writing a Kubernetes Operator
Besides the frameworks TFA lists, you can also build Operators in Ansible or Helm.
https://sdk.operatorframework.io/
- Question: Resources to learn K8s operator programming
-
Using k8s-apiserver as AAA server for microservices?
Operator SDK is basically just a thin wrapper for kube-builder
-
What topics should I cover as DevOps in Golang after practice and learning syntax
You mean the Operator SDK? https://sdk.operatorframework.io
-
Dont understand how I can watch external resources modification/deletion with my custom operator
yes I agree with youu, an issue has been opened on the operator-sdk github page regarding this topic https://github.com/operator-framework/operator-sdk/issues/6117
What are some alternatives?
vcluster - vCluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.
kubebuilder - Kubebuilder - SDK for building Kubernetes APIs using CRDs
capsule - Multi-tenancy and policy-based framework for Kubernetes.
terraform-provider-kubernetes-alpha - A Terraform provider for Kubernetes that uses dynamic resource types and server-side apply. Supports all Kubernetes resources.
labs
sample-controller-kubebuilder - This is Sample Controller(Foo Controller) developed by Kubebuilder
kots - KOTS provides the framework, tools and integrations that enable the delivery and management of 3rd-party Kubernetes applications, a.k.a. Kubernetes Off-The-Shelf (KOTS) Software.
postgres-operator - Postgres operator creates and manages PostgreSQL clusters running in Kubernetes
crossplane - The Cloud Native Control Plane
controller-runtime - Repo for the controller-runtime subproject of kubebuilder (sig-apimachinery)
mongodb-kubernetes-operator - MongoDB Community Kubernetes Operator
sandbox-operator - A Kubernetes operator for creating isolated environments