HNC v1.0.0 RC1
Pre-releaseThis is no longer the most recent release candidate - to find the latest releases, see: https://github.com/kubernetes-sigs/hierarchical-namespaces/releases
HNC v1.0.0 RC1 is a candidate for our first production release. Based on the lack of stability issues reported against HNC v0.9, we believe that HNC is now suitable for use in production. It also introduces several new features including managed labels and annotations (beta) and HA support (experimental).
New: please sign up for low-volume announcements of new versions, proposed changes, and critical issues at kubernetes-hnc-announce.
Installing
You can install or upgrade HNC on your cluster using the following commands (admin privileges required):
# Select the latest version of HNC
HNC_VERSION=v1.0.0-rc1
# Install HNC. Afterwards, wait up to 30s for HNC to refresh the certificates on its webhooks.
kubectl apply -f https://github.com/kubernetes-sigs/hierarchical-namespaces/releases/download/${HNC_VERSION}/default.yaml
WARNING: if your cluster already has HNC installed, please ensure you are using HNC v0.9.0 or later before trying to upgrade to v1.0.0.
To install the kubectl plugin on your workstation, either use Krew or install manually:
-
NOT WORKING YET - Via Krew: Install Krew if you don't have it already, then run the command
kubectl krew install hns
. -
Manually: Switch to any directory in your
PATH
(e.g.~/bin
) and run the following commands:HNC_VERSION=v1.0.0-rc1 HNC_PLATFORM=linux_amd64 # also supported: darwin_amd64, windows_amd64 curl -L https://github.com/kubernetes-sigs/hierarchical-namespaces/releases/download/${HNC_VERSION}/kubectl-hns_${HNC_PLATFORM} -o ./kubectl-hns chmod +x ./kubectl-hns # Ensure the plugin is working kubectl hns # The help text should be displayed
For more instructions, see the user guide.
Known issues
- Slow startup time on 1.21 and earlier (#170 - will be fixed in RC2)
- Managed label conflicts are not silently ignored (#143, #144)
What's Changed since HNC v0.9.0
- Beta: Addition of managed labels and annotations on namespaces (#47 and many others)
- Support for Rancher (#125), OpenShift (#141), Apple M1 (#111), and K8s 1.22 (#133)
- Startup and liveness probes (#139, #160)
- Experiment HA support (#163, #167)
Testing signoff
Target | Manifest | Tests | By | When | Result |
---|---|---|---|---|---|
GKE 1.22 (rapid channel) | default | make test-e2e |
@adrianludwin | mar 28 | passed |
GKE 1.22 (rapid channel) | ha | make test-e2e |
@adrianludwin | mar 28 | passed |
KIND 1.23 | default | make test-smoke |
@adrianludwin | mar 28 | passed |
GKE 1.20 (stable channel) | default | make test-e2e |
@adrianludwin | mar 28 | #170, otherwise passed |
Thanks to all our contributors!
Thanks to @rjbez17, @erikgb, @akazs, @RealHarshThakur, @gkarthiks, @florath, @nobbs, @rahulii, @simonoff, @onesail, @arturobrzut and @mishamo!