Kubernetes inception

Kubernetes inception

Kubernetes Inception aka kubeception, is a term used for running Kubernetes clusters inside a Kubernetes cluster. This solves,

  • Advanced multi-tenancy use cases with better isolation.
  • Easy orchestration of Multiple (Tenant) clusters.
  • Better resource utilisation across clusters.

Central/Single Platform Team

An organisation developing and or operating multiple products(teams) in the cloud-native era will require a (multiple) dedicated Kubernetes cluster for each of their products and maybe Kubernetes administrators too. There comes the significance of a central platform, which can help with a standard infrastructure with the right security policies and best practices aligned with the wider organisational policies.

The management overhead increases as the number of clusters increases, and resource utilization may not be that cost-effective as we need to keep buffers in each cluster.

Multi-Tenancy

Sharing clusters saves costs and simplifies administration. However, sharing clusters also present challenges such as security, fairness, and managing noisy neighbours. this can be managed by implementing network policies, resource quotas, etc up to an extent.

Read more on Kubernetes Multi-Tenancy. There are tools like capsule which is "Kubernetes multi-tenancy made easy" as they say, and Hierararchical namespaces (aka HNC) which allows namespaces to own each other, policy propagation between related namespaces, and delegated namespace creation.

This approach also restricts the Tenants to use the whole functionality of Kubernetes as a trade-off.

Kubeception

Unlike namespaces and other isolations, we can run Kubernetes clusters inside a Kubernetes cluster which gives tenants maximum flexibility to use the Kubernetes features along with the goodness of having a Multi-Tenancy platform.

This brings better resource utilisation and less management overhead compared to running multiple dedicated clusters, and better tenant isolation compared to the namespace-based multi-tenancy.

Read more on Kubernetes inception from a Kubernetes blog and refer VirtualCluster - Enabling Kubernetes Hard Multi-tenancy GitHub repo from Kubernetes Special Interest Group (SIG)

Anish Nagaraj Dhandayuthapani

Tech Lead, Platform Architect and Solution Architect at HCL Technologies

2 å¹´

Thank you for sharing the knowledge! Pretty interesting idea. We should run a PoC probably!

要查看或添加评论,请登录

Shafeeque Aslam的更多文章

  • Locked Out: When 'chmod' Loses Its Power

    Locked Out: When 'chmod' Loses Its Power

    It feels a bit like the classic message 'Keyboard not detected, Press any key to continue.' While this may not be a…

  • Understanding the Service Account Token Changes in Kubernetes 1.24

    Understanding the Service Account Token Changes in Kubernetes 1.24

    There are two changes related to service accounts and tokens in the recent Kubernetes versions. Bound Service Account…

    7 条评论
  • From Infrastructure as Code to Infrastructure as Data: How Crossplane is Leading the Way

    From Infrastructure as Code to Infrastructure as Data: How Crossplane is Leading the Way

    Infrastructure as code (IaC) has been a game-changer for managing and deploying infrastructure. However, a new paradigm…

  • Ephemeral Containers: A Lifesaver

    Ephemeral Containers: A Lifesaver

    When working with Kubernetes, you might have faced situations where a container image doesn't include debugging…

  • Inject custom scripts to k8s pod

    Inject custom scripts to k8s pod

    Injecting a script to a pod to debug issues is a common need of Kubernetes administrators. Configmaps can help here.

    2 条评论
  • The True OSless containers with WASM

    The True OSless containers with WASM

    What if you can write your Dockerfile like this, which does not have an OS, tiny in size, and does not care about your…

    1 条评论
  • Get Started with Ansible – The Learners Way

    Get Started with Ansible – The Learners Way

    Ansible is the simplest way to automate apps and IT infrastructure. Application Deployment + Configuration Management +…

    1 条评论
  • How the commands work in Linux – PATH Variable explained

    How the commands work in Linux – PATH Variable explained

    Have you ever thought about how a command/binary executes in Linux even if the command is not in your present working…

社区洞察

其他会员也浏览了