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