Releases: kubernetes-retired/multi-tenancy
HNC v0.3.0 RC1
This release covers two major features and a few minor cleanups left over from v0.2. It's intended to represent the "MVP" of HNC - that is, the minimum number of features required to be usable in a real usecase. It's still not suitable for prod workloads, but it should be usable in a dev cluster.
The API in v0.3 is not backwards-compatible with the API in v0.2. In particular, the .spec.requiredChild
field of the HierarchyConfiguration
has been removed and replaced by the HierarchicalNamespace
objects, as described below.
The major features are:
- A new self-service namespace UX that includes dedicated objects (and permissions) for self-service namespace creation, as well as cascading deletion of all namespaces created through this method (with appropriate safety controls). Design: http://bit.ly/hnc-self-serve-ux. Tracking bug: #457
- Type configuration. Only propagate RBAC objects by default, but allow other builtin types (e.g. Secrets) or CRDs to be propagated as well. Design: http://bit.ly/hnc-type-configuration. Tracking bug: #411
Many other issues have also been fixed, especially regarding the reliability of conditions displayed on namespaces to alert users to errors. See https://github.com/kubernetes-sigs/multi-tenancy/milestone/10 for more details.
Installation instructions:
# Set the desired release:
HNC_VERSION=v0.3.0-rc1
# Install prerequisites on your cluster
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v0.11.0/cert-manager.yaml
# WAIT for the cert-manager deployments to all become healthy. This can take a
# minute or two.
# Install HNC on your cluster. If this fails due to the cert-manager webhook not
# being ready yet, wait for the webhook to become ready, then re-run it. Usually the cert-manager webhook takes five minutes to be ready.
kubectl apply -f https://github.com/kubernetes-sigs/multi-tenancy/releases/download/hnc-${HNC_VERSION}/hnc-manager.yaml
# Download kubectl plugin (Linux only) - will move to Krew soon
PLUGIN_DIR=<directory where you keep your plugins - just has to be on your PATH>
curl -L https://github.com/kubernetes-sigs/multi-tenancy/releases/download/hnc-${HNC_VERSION}/kubectl-hns -o ${PLUGIN_DIR}/kubectl-hns
chmod +x ${PLUGIN_DIR}/kubectl-hns
HNC v0.2.0
Major changes since v0.1.0:
- All artifacts are now built securely on Cloud Build
- Previously, only the Docker image was built on Cloud Build.
- Changes to kubectl plugin:
- Name has changed from
hnc
tohierarchical-namespaces
orhns
- Self-service namespaces are now created via
kubectl hnc create child -n parent
- Name has changed from
- Problems propagated objects are now reported in the hierarchy configs' statuses rather than being ignored
- We rewrote the object controller for better scalability and control.
Known issues:
HNC v0.2.0 RC1
Release candidate. Major changes since v0.1.0:
- All artifacts are now built securely on Cloud Build
- Previously, only the Docker image was built on Cloud Build.
- Changes to kubectl plugin:
- Name has changed from
hnc
tohierarchical-namespaces
orhns
- Self-service namespaces are now created via
kubectl hnc create child -n parent
- Name has changed from
- Problems propagated objects are now reported in the hierarchy configs' statuses rather than being ignored
- We rewrote the object controller for better scalability and control.
Known issues:
- Conditions due to object propagations may not be cleared when they should in some cases (#328)
HNC v0.1.0
This is the initial release of the HNC. It is suitable for experimentation only, not for any kind of real usage. Please contact [email protected] (@adrianludwin) for more information, or join us at a meeting of the multitenancy working group (wg-multitenancy).