需求:
一个组织内部,不同的工作组可以在同一个k8s集群中工作,k8s通过命名空间和context的设置来对不通的工作组进行分区,使得他们即可共享同一个k8s集群的服务,也能够互不影响;
开发组
namespace:dev
可以创建、修改、删除各种pod\dp\svc
生产组
namespace:prod
不可以随意修改、删除各种pod\dp\svc
1、创建namespace
cat >namespace-dev.yaml<<EOF
apiVersion: v1
kind: Namespace
metadata:
name:development
EOF
cat >namespace-prod.yaml<<EOF
apiVersion: v1
kind: Namespace
metadata:
name:production
EOF
kubectl create -f namespace-dev.yaml
kubectl create -f namespace-prod.yaml
2、定义comtext(运行环境)
kubectl config set-cluster kubernetes-cluster --server=https://192.168.1.128:8080
kubectl config set-context ctx-dev --namespace=development --cluster=kubernetes-cluster --user=dev
kubectl config set-context ctx-prod --namespace=production --cluster=kubernetes-cluster --user=prod
查看已经定义成功的context
kubectl config view
也可以在${HOME}/.kube 目录下查看config的文件内容
3、设置工作组在特定context 环境下工作
kubectl config use-context ctx-dev #设置后,当前环境即为开发组所需环境
kubectl config use-context ctx-prod #切换到运维组所需环境
原文:https://www.cnblogs.com/plefan/p/14393347.html