当前位置: 首页 > 工具软件 > Vcluster > 使用案例 >

[kubernetes]-k8s使用HNC创建vcluster

西门梓
2023-12-01

导语:k8s使用HNC创建vcluster。记录一下 大致流程 。

# Select the latest version of HNC
HNC_VERSION=v0.8.0

# Forbid HNC from modifying system namespaces
kubectl label ns kube-system hnc.x-k8s.io/excluded-namespace=true --overwrite
kubectl label ns kube-public hnc.x-k8s.io/excluded-namespace=true --overwrite
kubectl label ns kube-node-lease hnc.x-k8s.io/excluded-namespace=true --overwrite

# Install HNC. Afterwards, wait up to 30s for HNC to refresh the certificates on its webhooks.
kubectl apply -f https://github.com/kubernetes-sigs/multi-tenancy/releases/download/hnc-${HNC_VERSION}/hnc-manager.yaml 
kubectl create ns hnc-parent
kubectl create ns hnc-child-1
kubectl create ns hnc-child-2

kubectl hns set hnc-child-1 -p hnc-parent
kubectl hns set hnc-child-2 -p hnc-parent
kubectl hns tree -A

默认情况下, parent namespace下的所属的Role 和 RoleBinding 对象会传递给 child 命名空间对象。

kubectl create role pod-reader --verb=get --verb=list --verb=watch --resource=pods -n hnc-parent

验证下 hnc-child-{1,2} 命名空间下是否能看到相同的 role

kubectl get role -n hnc-child-1 --show-labels
kubectl get role -n hnc-child-2 --show-labels

没有继续测试,后续创建secret来控制ns的权限应该就行了吧。看github活跃不太行了。

更详细使用方式

https://github.com/sighupio/hnc-example-use-cases/tree/master/use-cases/self-provision

http://www.manongjc.com/detail/58-dhayhzsfmlhlneb.html

 类似资料: