k8s 中(生產|測試)環境隔離問題


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM