HNC v0.9.0
HNC v0.9.0 is our first release from our new repo, and includes many feature and usability improvements to object propagation and cluster control.
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=v0.9.0
# 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
WARNING: if your cluster already has HNC installed, please ensure you are using HNC v0.8.0 or later before trying to upgrade to v0.9.0.
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
. -
Manually: Switch to any directory in your
PATH
(e.g.~/bin
) and run the following commands:HNC_VERSION=v0.9.0 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
- 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 |
---|---|---|---|---|
GKE 1.22 (rapid channel) | make test-e2e |
@adrianludwin | oct 18 | passed (as rc2) |
GKE 1.22 (rapid channel) | make test-smoke |
@adrianludwin | oct 19 | passed |
KIND 1.20 | make test-smoke |
@adrianludwin | oct 19 | passed (as rc2) |
GKE 1.19 (stable channel) | `make test-e2e | @adrianludwin | oct 19 | passed (as rc2) |
Thanks to
@rjbez17, @yiqigao217, @vishh, @RealHarshThakur, @xinydev, @squat, @just1900, @Abirdcfly, @seankhliao, @olljanat, @joe2far, @minchao, and @santinoncs for your contributions!