前言
k8s可以基于命名空间实现完全隔离的环境,可以根据业务的不同划分不同的namespace来使用,在这里简单分享一下
1、创建namespace
kubectl create -f https://k8s.io/examples/admin/namespace-dev.json
kubectl create -f https://k8s.io/examples/admin/namespace-prod.json
#查看创建的命名空间
kubectl get namespaces --show-labels
2、定义context(运行环境)
#查看k8s配置
kubectl config view
创建Context运行环境
kubectl config set-context dev --namespace=development --cluster=kubernetes --user=kubernetes-admin
kubectl config set-context prod --namespace=production --cluster=kubernetes --user=kubernetes-admin
3、设置在特定context环境工作
#切换到dev环境
kubectl config use-context dev
确认上下文
创建两个pod
cat redis-slave-controller.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: redis-slave
labels:
name: redis-slave
spec:
replicas: 2
selector:
name: redis-slave
template:
metadata:
labels:
name: redis-slave
spec:
containers:
- name: slave
image: kubeguide/guestbook-redis-slave
ports:
- containerPort: 6379
kubectl create -f redis-slave-controller.yaml
#查看创建好的pod
4、切换到prod环境查看
证明两个环境互不干扰