1.Namespace
在Kubernetes中,名字空间(Namespace)提供一种机制,将同一集群中的资源划分为相互隔离的组。同一名字空间内的资源名称要唯一,但跨名字空间时没有这个要求
- 对资源对象进行隔离:比如:Pod、DepLoyment、Service、将其划分为相互隔离的组
- 对资源配额进行隔离:CPU,Memory,限制某个NS的可以使用的cpu和内存
namespace仅能隔离带有名称空间的资源,而不带名称空间的资源不支持隔离,可以通过kubectlapi-resources查看哪些资源属于名称空间级别,哪些不属于名称空间级别。
bash
#查看命名空间
kubectl get namespace
#创建命名空间
kubectl create namespacedev
kubectl create deployment nginx --replicas=3 namespace=dev
kubectl get namespace -n dev
kubectl get namespace -n dev --all
#查看命名空间
kubectl get namespace
#创建命名空间
kubectl create namespacedev
kubectl create deployment nginx --replicas=3 namespace=dev
kubectl get namespace -n dev
kubectl get namespace -n dev --all
💡 说明
NameSpace隔离其实就是名称的隔离,并不是物理的隔离,所以重点在于资源隔离
- 命名空间划分
按业务划分:shoping、edu
按环境划分:dev、prod
按团队划分
1.1 什么是命名空间
Kubernetes
支持多个虚拟集群,它们底层依赖于同一个物理集群。这些虚拟集群被称为命名空间。命名空间namespace
是k8s集群级别的资源,可以给不同的用户、租户、环境或项目创建对应的命名空间,例如,可以为test、devlopment、production环境分别创建各自的命名空间。