HNC v0.9.0 RC2
Pre-releaseHNC v0.9.0-rc2 includes many minor fixes for object propagation and cluster control.
Installing
WARNING: if your cluster already has HNC installed, please ensure you are using HNC v0.8.0 or later.
You can install or upgrade HNC on your cluster using the following commands (admin privileges required):
# Select the latest version of HNC
HNC_VERSION=v0.9.0-rc2
# 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}/hnc-manager.yaml
If you previously annotated your system namespaces with hnc.x-k8s.io/excluded-namespace
(as described here), you may remove these annotations after HNC v0.9 is installed. This annotation is no longer necessary and is ignored.
To install the kubectl plugin on your workstation, either use Krew or install manually:
-
Via Krew: Install Krew if you don't have it already, then run the command
kubectl krew install hns
.- WILL NOT WORK UNTIL HNC v0.9.0 IS FULLY RELEASED
-
Manually: Switch to any directory in your
PATH
(e.g.~/bin
) and run the following commands:HNC_VERSION=v0.9.0-rc2 HNC_PLATFORM=linux_amd64 # also supported: darwin_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
- Tree labels can be briefly modified before HNC resets them (#12)
- Annotations can be added to propagated objects (#10)
What's Changed since HNC v0.8.0
- Simplify administration of managed namespaces by adding
--included-namespace-regex
(#89) and simplifying labels for webhooks (#36, #39) - Unbreak HNC on K8s 1.22 (#86)
- Allow HNC to propagate changes to CRDs (#59)
- Disable kube-rbac-proxy by default (#50)
- Don't panic on cluster-scoped resources (#72)
- Disable stackdriver by default (#77)
- Include Windows CLI to releases (#78)
- Validation checks were ignoring selector (#80)
- Don't propagate Kubernetes or Istio builtin config maps (#81)
- Upgrade to Go 1.17 (#85)
Testing signoff
Target | Tests | By | When | Result |
---|---|---|---|---|
KIND 1.20 | make test-smoke |
@adrianludwin | oct 19 | passed |
GKE 1.22 (rapid channel) | make test-e2e |
@adrianludwin | oct 18 | passed |
GKE 1.19 (stable channel) | " | @adrianludwin | oct 19 | passed |
Thanks to
@adrianludwin, @rjbez17, @yiqigao217, @vishh, @RealHarshThakur, @xinydev, @squat, @just1900, @Abirdcfly, @seankhliao, @olljanat, @joe2far, @minchao, and @santinoncs for your contributions!