在一个组织内部,不同的工作组可以在同一个kubernetes集群中工作
kubernetes通过namespace和context的设置对不同的工作组进行区分
使得他们既可以共享同一个kubernetes集群的服务,也可也互不打扰
创建命名空间
kubectl cteare -f namespace-development.yaml
kubectl create -f namespace-production.yaml
查看系统中的命名空间
kubectl get namespace
为这两个工作组分别定义一个context,运行环境,并将context置于之前创建的命名空间中
kubectl config set-cluster kubernetes-cluster --server=url
kubectl config set-context ctx-dev --namespace=
kubectl config set-context ctx-prod --namespace=
通过kubectl config view命令查看已定义的context
kubectl config view
把当前运行环境设置为ctx-dev
kubectl config use-context ctx-dev
运行这个命令后,当前运行环境被设置为开发组所需的环境,之后的操作都将在development的命名空间中完成
kubectl get pods
生产环境的操作不会影响运维环境的操作
kubectl config use-context ctx-prod
查看rc
kubectl get rc
查看pod
kubectl get pods
结果为空,看不到开发组创建的rc和pod
总结
命名空间就是为了应对不同的角色设置的,每个角色之间的操作互不影响。