kubeplus
enhancements
Our great sponsors
kubeplus | enhancements | |
---|---|---|
38 | 57 | |
602 | 3,255 | |
2.3% | 1.5% | |
7.9 | 9.8 | |
5 days ago | 5 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
enhancements
-
Exploring cgroups v2 and MemoryQoS With EKS and Bottlerocket
0 is not the request we've defined. And that makes sense. Memory QoS has been in alpha since Kubernetes 1.22 (August 2021) and according to the KEP data was still in alpha as of 1.27.
-
Jenkins Agents On Kubernetes
Note: There's actually a Structured Authentication Config established via KEP-3331. It's in v1.28 as a feature flag gated option and removes the limitation of only having one OIDC provider. I may look into doing an article on it, but for now I'll deal with the issue in a manner that should work even with a bit older versions versions of Kubernetes.
-
Isint release cycle becoming a bit crazy with monthly releases and deprecations ?
Kubernetes supports a skew policy of n+2 between API server and kubelet. This means if your CP and DP are both on 1.20, you could upgrade your control plane twice (1.20 -> 1.21 -> 1.22) before you need to upgrade your data plane. And when it comes time to upgrade your data plane you can jump from 1.20 to 1.22 to minimize update churn. In the future, this skew will be opened to n+3 https://github.com/kubernetes/enhancements/tree/master/keps/sig-architecture/3935-oldest-node-newest-control-plane
-
Kubernetes SidecarContainers feature is merged
The KEP (Kubernetes Enhancement Proposal) is linked to in the PR [1]. From the summary:
> Sidecar containers are a new type of containers that start among the Init containers, run through the lifecycle of the Pod and don’t block pod termination. Kubelet makes a best effort to keep them alive and running while other containers are running.
[1] https://github.com/kubernetes/enhancements/tree/master/keps/...
-
What's there in K8s 1.27
This is where the new feature of mutable scheduling directives for jobs comes into play. This feature enables the updating of a job's scheduling directives before it begins. Essentially, it allows custom queue controllers to influence pod placement without needing to directly handle the assignment of pods to nodes themselves. To learn more about this check out the Kubernetes Enhancement Proposal 2926.
-
Dependencies between Services
What your asking is a (vanilla) Kubernetes non-goal, others have mentioned fluxcd and other add ons that provide primitives for dependency aware deployments. The problem space is so large, that it's unreasonable to to address these concerns in Kubernetes itself, instead, make it extensible... Look at this KEP for example: https://github.com/kubernetes/enhancements/issues/753 Sidecar containers have existed, and been named as such since WAY before that KEP's inception, defining what these things should and shouldn't do is largely arbitrary. Aka: your use-case is niche, if you don't like the behavior, use flux or argo, or write something yourself.
- When you learn the Sidecar Container KEP got dropped from the Kubernets release. Again.
-
Kubernetes 1.27 will be out next week! - Learn what's new and what's deprecated - Group volume snapshots - Pod resource updates - kubectl subcommands … And more!
If further interested, I may recommend checking out the KEP. I love how they document the decision making, and all these edge cases :).
-
How can I force assign an IP to my Load Balancer ingress in “status.loadBalancer”?
See https://kubernetes.io/docs/reference/kubectl/conventions/#subresources and https://github.com/kubernetes/enhancements/issues/2590
- Twitter to un-verify people who don’t pay $8/month starting on April Fools’ Day
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.
kubeconform - A FAST Kubernetes manifests validator, with support for Custom Resources!
capsule - Multi-tenancy and policy-based framework for Kubernetes.
spark-operator - Kubernetes operator for managing the lifecycle of Apache Spark applications on Kubernetes.
labs
kubernetes-json-schema - Schemas for every version of every object in every version of Kubernetes
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.
klipper-lb - Embedded service load balancer in Klipper
crossplane - The Cloud Native Control Plane
Hey - HTTP load generator, ApacheBench (ab) replacement
mongodb-kubernetes-operator - MongoDB Community Kubernetes Operator
connaisseur - An admission controller that integrates Container Image Signature Verification into a Kubernetes cluster