Git Product home page Git Product logo

iq-scm / hierarchical-namespaces Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kubernetes-sigs/hierarchical-namespaces

0.0 0.0 0.0 132.3 MB

Home of the Hierarchical Namespace Controller (HNC). Adds hierarchical policies and delegated creation to Kubernetes namespaces for improved in-cluster multitenancy.

License: Apache License 2.0

Shell 1.84% Go 95.02% Makefile 3.00% Dockerfile 0.15%

hierarchical-namespaces's Introduction

The Hierarchical Namespace Controller (HNC)

$ kubectl hns create my-service -n my-team
$ kubectl hns tree my-team
my-team
└── my-service

Hierarchical namespaces make it easier to share your cluster by making namespaces more powerful. For example, you can create additional namespaces under your team's namespace, even if you don't have cluster-level permission to create namespaces, and easily apply policies like RBAC and Network Policies across all namespaces in your team (e.g. a set of related microservices).

Learn more in the HNC User Guide or get started with the instructions below!

Lead developer: @adrianludwin ([email protected])

Using HNC

Getting started and learning more

To install HNC on your cluster, and the kubectl-hns plugin on your workstation, follow the instructions on our release pages. Note that versions of HNC prior to HNC v0.9 are available from our old repo.

Once HNC is installed, you can try out the HNC quickstart to get an idea of what HNC can do. Or, feel free to dive right into the user guide instead.

Roadmap and issues

Please file issues - the more the merrier! Bugs will be investigated ASAP, while feature requests will be prioritized and assigned to a milestone or backlog.

All HNC issues are assigned to an HNC milestone. So far, the following milestones are defined or planned:

  • v1.1: Hierarchical quotas; inclusive propagation.
  • v1.0: HNC recommended for production use (released March 31 2022)
  • v0.9: move HNC to its own repo; continued stability improvements.
  • v0.1-v0.8: see our old repo for details.

Contact and governance

HNC is overseen by the Working Group on Multi-Tenancy (wg-multitenancy). Please join us on Slack, mailing lists, and at our meeting at our community page.

If you use HNC, we recommend joining the kubernetes-hnc-announce mailing list, a low-volume list to receive updates such as new version of HNC and proposed changes or new features.

This project is goverened by wg-multitenancy, and was originally located in that repo. It moved to this location after approval by sig-auth in KEP #1687.

Contributing to HNC

The best way you can help contribute to bringing hierarchical namespaces to the Kubernetes ecosystem is to try out HNC and report the problems you have with either HNC itself or its documentation. Or, if it's working well for you, let us know on the #wg-multitenancy channel on Slack, or join a wg-multitenancy meeting. We'd love to hear from you!

But if you're looking for a deeper level of involvement, please check out our contributors guide!

CI infrastructure and release

HNC uses Prow to run tests, which is configured here. The presubmits run hack/ci-test.sh in this repo, and the postsubmits and periodics run hack/prow-run-e2e.sh. Results are displayed on testgrid and are configured here. For more information about Prow jobs (e.g. a reference for the configs), see here.

These config files should be inspected periodically (e.g. about once a release) to make sure they're fully up-to-date.

HNC uses Google Cloud Build for building some artifacts. We intend to fully automate our release process using this method over time. See docs/automated-builds.md for more information.

To release HNC, follow this guide.

hierarchical-namespaces's People

Contributors

abirdcfly avatar adohe avatar adrianchung avatar adrianludwin avatar brightzheng100 avatar charleszheng44 avatar christopherhein avatar divya063 avatar erikgb avatar fei-guo avatar frbimo avatar ginnyji avatar jimbugwadia avatar k8s-ci-robot avatar lafh avatar macleanj avatar mochizuki875 avatar munnerz avatar phoenixking25 avatar realshuting avatar shivi28 avatar somtochiama avatar sophieliu15 avatar srampal avatar tashimi avatar tcnksm avatar weiling61 avatar xinydev avatar yiqigao217 avatar zhuangqh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.