namespace做资源隔离
namespace中的标签选择器不会跟其他的namespace关联
所有的k8s附加组件都会在kube-system的namespace资源中,用于跟其他组件区分开.
原理
通过将系统内部的对象“分配”到不同的Namespace中,形成逻辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群的资源的同时还能被分别管理。
Kubernetes集群在启动后,会创建一个名为“default”的Namespace,通过Kubectl可以查看到。
创建Pod/RC/Service时,如果不指定Namespace,则默认是"default"的Namespace。
使用Namespace来组织Kubernetes的各种对象,可以实现对用户的分组,即“多租户”管理。对不同的租户还可以进行单独的资源配额设置和管理,使得整个集群的资源配置非常灵活、方便。
相关命令
kubectl delete -f . #删除之前创建的pod
kubectl create namespace zabbix #创建新的namespace
sed -i '3a \ \ namespace: zabbix' * #将之前配置文件中添加这一行
kubectl create -f . #创建新资源
kubectl delete svc --all
kubectl delete rc --all
kubectl delete deployment --all #删除所有的svc/rc/deployment
kubectl get all -n zabbix #查看是否创建成功
kubectl get namespace #查看namespace资源