Skip to content

Releases: kubernetes-sigs/hierarchical-namespaces

HNC v1.1.0

23 Jun 13:32
4d4a0c8
Compare
Choose a tag to compare

HNC v1.1.0 introduces beta support for Hierarchical Resource Quotas (HRQ), opt-in propagation, and better support for K8s-based platforms such as Rancher.

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.1.0

# Select the variant of HNC you like. Other than 'default', options include:
# 'hrq': Like default, but with hierarchical quotas.
# 'ha': Like default, but with two deployments: one single-pod for the controller, and one three-pod for the webhooks
# 'default-cm': Like default, but without the built-in cert rotator, and with support for cert-manager
HNC_VARIANT=default

# 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_VARIANT}.yaml 

WARNING: if your cluster already has HNC installed, please ensure you are using HNC v1.0.0 or later before trying to upgrade to v1.1.0.

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 update && kubectl krew install hns.

  • Manually: Switch to any directory in your PATH (e.g. ~/bin) and run the following commands:

    # Ensure HNC_VERSION is set as above
    HNC_PLATFORM=linux_amd64 # also supported: linux_arm64, darwin_amd64, darwin_arm64, 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.

What's changed since HNC v1.0

  • Beta - Hierarchical Resource Quotas (HRQ): Drop-in replacement for many regular ResourceQuota use-cases, but across related namespaces.
  • Beta - Opt-in propagation: Allow propagation for a certain type, but disable it by default. Objects are propagated case-by-case based on annotations.
  • Move built-in propagation exceptions to the command line: the new --nopropagation-label command-line flag gives admins more flexible option to control propagation on objects you don't create.

Full Changelog

Testing signoff

Target Manifest Tests By When Result
GKE 1.24 (regular channel) default make test-e2e @adrianludwin 2023-06-23 pass
GKE 1.24 (regular channel) ha make test-e2e @adrianludwin 2023-06-20 pass (as RC3)
GKE 1.24 (regular channel) hrq make test-e2e with hrq tests enabled @adrianludwin 2023-06-20 pass (as RC3)
KIND 1.27.3 default make test-smoke @adrianludwin 2023-06-20 pass (as RC3)

HNC v1.1.0 RC3

20 Jun 01:13
4d4a0c8
Compare
Choose a tag to compare
HNC v1.1.0 RC3 Pre-release
Pre-release

HNC v1.1.0 RC3 adds beta support for hierarchical resource quotas (HRQ), opt-in propagation, and better support for K8s-based platforms such as Rancher.

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.1.0-rc3

# Select the variant of HNC you like. Other than 'default', options include:
# 'hrq': Like default, but with hierarchical quotas.
# 'ha': Like default, but with two deployments: one single-pod for the controller, and one three-pod for the webhooks
# 'default-cm': Like default, but without the built-in cert rotator, and with support for cert-manager
HNC_VARIANT=default

# 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_VARIANT}.yaml 

WARNING: if your cluster already has HNC installed, please ensure you are using HNC v1.0.0 or later before trying to upgrade to v1.1.0.

To install the kubectl plugin on your workstation, either use Krew or install manually:

  • [NOT SUPPORTED FOR RELEASE CANDIDATES] Via Krew: Install Krew if you don't have it already, then run the command kubectl krew update && kubectl krew install hns.

  • Manually: Switch to any directory in your PATH (e.g. ~/bin) and run the following commands:

    # Ensure HNC_VERSION is set as above
    HNC_PLATFORM=linux_amd64 # also supported: linux_arm64, darwin_amd64, darwin_arm64, 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.

What's changed since HNC v1.0

  • Beta - Hierarchical Resource Quotas (HRQ): Drop-in replacement for many regular ResourceQuota use-cases, but across related namespaces.
  • Beta - Opt-in propagation: Allow propagation for a certain type, but disable it by default. Objects are propagated case-by-case based on annotations.
  • Move built-in propagation exceptions to the command line: the new --nopropagation-label command-line flag gives admins more flexible option to control propagation on objects you don't create.

Full Changelog

Testing signoff

Target Manifest Tests By When Result
GKE 1.24 (regular channel) default make test-e2e @adrianludwin 2023-06-20 pass
GKE 1.24 (regular channel) ha make test-e2e @adrianludwin 2023-06-20 pass
GKE 1.24 (regular channel) hrq make test-e2e with hrq tests enabled @adrianludwin 2023-06-20 pass
KIND 1.27.3 default make test-smoke @adrianludwin 2023-06-20 pass

HNC v1.1.0 RC2

24 Feb 20:41
ba89b6d
Compare
Choose a tag to compare
HNC v1.1.0 RC2 Pre-release
Pre-release

HNC v1.1.0 RC2 adds beta support for hierarchical resource quotas (HRQ) and opt-in propagation.

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.1.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}/default.yaml 

WARNING: if your cluster already has HNC installed, please ensure you are using HNC v1.0.0 or later before trying to upgrade to v1.1.0.

To install the kubectl plugin on your workstation, either use Krew or install manually:

  • [NOT SUPPORTED FOR RELEASE CANDIDATES] Via Krew: Install Krew if you don't have it already, then run the command kubectl krew update && kubectl krew install hns.

  • Manually: Switch to any directory in your PATH (e.g. ~/bin) and run the following commands:

    # Ensure HNC_VERSION is set as above
    HNC_PLATFORM=linux_amd64 # also supported: linux_arm64, darwin_amd64, darwin_arm64, 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.

What's changed since HNC v1.0

  • Beta: Hierarchical Resource Quotas (HRQ) and opt-in propagation

Full Changelog

Testing signoff

Target Manifest Tests By When Result
GKE 1.24 (regular channel) default make test-e2e @adrianludwin tbd tbd
GKE 1.24 (regular channel) ha make test-e2e @adrianludwin tbd tbd
GKE 1.24 (regular channel) hrq make test-e2e @adrianludwin tbd tbd
KIND 1.25 default make test-smoke @adrianludwin tbd tbd

HNC v1.1.0 RC1

24 Feb 20:17
3414be0
Compare
Choose a tag to compare

HNC v1.0.0

31 Mar 23:40
e3b4dc1
Compare
Choose a tag to compare

HNC v1.0.0 is our first production release. It is based on the highly stable HNC v0.9, and 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

# 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:

  • Via Krew: Install Krew if you don't have it already, then run the command kubectl krew update && 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
    HNC_PLATFORM=linux_amd64 # also supported: darwin_amd64, darwin_arm64, 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

  • Managed label conflicts are silently ignored (#143, #144)
  • SubnamespaceAnchor status should indicate errors reconciling labels/annotations (#175)

What's changed since HNC v0.9

  • 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)

Full Changelog

Testing signoff

Target Manifest Tests By When Result
GKE 1.22 (rapid channel) default make test-e2e @adrianludwin mar 31 passed
GKE 1.22 (rapid channel) ha make test-e2e @adrianludwin mar 29 passed (as RC2)
KIND 1.23 default make test-smoke @adrianludwin mar 29 passed (as RC2)
GKE 1.20 (stable channel) default make test-e2e @adrianludwin mar 29 passed (as RC2)

Thanks to all our contributors!

It's been a long road to get to HNC v1.0! Thanks to our key long-term developers, @rjbez17 and @yiqigao217. For special contributions in v1.0, thanks to @erikgb. And for the entire history of HNC, thanks to (in no particular order): @akazs, @RealHarshThakur, @gkarthiks, @florath, @nobbs, @rahulii, @simonoff, @onesail, @arturobrzut, @mishamo, @GinnyJI, @vishh, @xinydev, @squat, @just1900, @Abirdcfly, @seankhliao, @olljanat, @mikedanese, @joe2far, @minchao, @santinoncs, @shivi28, @danielSbastos, @vjdhama, @Fei-Guo, @lafh, @entro-pi, @srampal, @sophieliu15, @adrianchung, @jiachengxu, and anyone else I may have missed (please drop me a line if your name should be here)!

HNC v1.0.0 RC2

29 Mar 20:23
8203482
Compare
Choose a tag to compare
HNC v1.0.0 RC2 Pre-release
Pre-release

HNC v1.0.0 RC2 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-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}/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-rc2
    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

  • Managed label conflicts are silently ignored (#143, #144)
  • SubnamespaceAnchor status should indicate errors reconciling labels/annotations (#175)

What's changed since HNC v1.0.0 RC1

  • Fixed: Slow startup time on 1.21 and earlier (#170)

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)

Full Changelog

Testing signoff

Target Manifest Tests By When Result
GKE 1.22 (rapid channel) default make test-e2e @adrianludwin mar 29 passed
GKE 1.22 (rapid channel) ha make test-e2e @adrianludwin mar 29 passed
KIND 1.23 default make test-smoke @adrianludwin mar 29 passed
GKE 1.20 (stable channel) default make test-e2e @adrianludwin mar 29 passed

Thanks to all our contributors!

Thanks to @rjbez17, @erikgb, @akazs, @RealHarshThakur, @gkarthiks, @florath, @nobbs, @rahulii, @simonoff, @onesail, @arturobrzut and @mishamo!

HNC v1.0.0 RC1

29 Mar 01:30
39e8ad2
Compare
Choose a tag to compare
HNC v1.0.0 RC1 Pre-release
Pre-release

This 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)

Full Changelog

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!

HNC v0.9.0

19 Oct 20:09
d11833c
Compare
Choose a tag to compare

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)

Full Changelog

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!

HNC v0.9.0 RC2

18 Oct 19:39
b9045e4
Compare
Choose a tag to compare
HNC v0.9.0 RC2 Pre-release
Pre-release

HNC 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)

Full Changelog

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!

HNC v0.9.0 RC1

14 Oct 22:13
c715d45
Compare
Choose a tag to compare
HNC v0.9.0 RC1 Pre-release
Pre-release

HNC v0.9.0-rc1 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-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}/hnc-manager.yaml 

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-rc1
    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

  • Broken on K8s 1.22 (#86), will be fixed in RC2.

What's Changed

  • Simplify administration of managed namespaces by adding --included-namespace-regex (#89) and simplifying labels for webhooks (#36, #39)
  • 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)

Full Changelog: https://github.com/kubernetes-sigs/hierarchical-namespaces/commits/v0.9.0-rc1

Testing signoff

Target Tests By When Result
KIND 1.20 make test-e2e @adrianludwin tbd tbd
GKE 1.22 (rapid channel) " @adrianludwin Oct 18 Failed due to #86
GKE 1.21 (regular channel) " @adrianludwin tbd tbd
GKE 1.20 (stable channel) " @adrianludwin tbd tbd