需求:
一個組織內部,不同的工作組可以在同一個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 #切換到運維組所需環境