首页>文档>Kubernetes>Kubernetes Namespace

Kubernetes Namespace

🤖 由 ChatGPT 生成的文章摘要

Kubernetes Namespace

Namespace(命名空间)是Kubernetes系统中另一个非常重要的概念,Namespace在很多情况下用于实现多租户的资源隔离。Namespace通过将集群内部的资源对象"分配"到不同的Namespace中,形成逻辑上分组的不同项目、小组或者用户组,便于不同的分组在共享整个集群的资源的同时还能被分别管理

Kubernetes集群启动后,会创建一个名为"default"的Namespace

[root@master ~]# kubectl get namespaces 
NAME          STATUS    AGE
default       Active    5d

如果不特别指明Namespace,默认用户创建的Pod、RC、Service都将被系统创建到名为"default"的Namespace中
Kubernetes Namespace

案例:创建一个名为development的namespache,添加3个pod到namespache中
首先定义一个namespace的yaml,可以和pod写在一起,我们这里分开写

apiVersion: v1
kind: Namespace
metadata:
  name: deployment

一旦创建了Namespace,我们创建资源对象时就可以指定这个资源对象属于哪个Namespache

创建Namespache

[root@master ~]# kubectl create -f namespache.yaml 
namespace/deployment created

创建Pod指定Namespache为deployment,创建完成我们可以查看一下

[root@master ~]# kubectl get namespaces 
NAME          STATUS    AGE
default       Active    5d
deployment    Active    1m
kube-public   Active    5d
kube-system   Active    5d

创建加入Namepcae的Pod

[root@master ~]# kubectl create -f namespache_nginx.yaml 
deployment.apps/demo-deployment created

Pod的yaml如下:

[root@master ~]# cat namespache_nginx.yaml 
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: abcdocker1
  namespace: deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: abcdocker
  template:
    metadata:
      labels:
        app: abcdocker
    spec:
      containers:
      - name: nginx
        image: daocloud.io/library/nginx:1.13.0-alpine
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 800

提示我们已经执行成功,我们现在执行命令查看

Kubernetes Namespace

默认default下面已经找不到我们创建的项目,需要加上--namespace=namespace名称

删除Namespache

$ kubectl delete namespaces new-namespace

提示:

  • [x] 1.删除一个namespace会自动删除所有属于该namespace的资源。
  • [x] 2.default和kube-system命名空间不可删除。
  • [x] 3.PersistentVolumes是不属于任何namespace的,但PersistentVolumeClaim是属于某个特定namespace的。
  • [x] 4.Events是否属于namespace取决于产生events的对象。

同时删除的时候也是同样的步骤
Kubernetes Namespace

总结:
当我们给每个租户创建一个namespace来实现多租户的资源隔离时、还能结合Kubernetes的资源配额管理,现在不同租户能占用的资源,例如CPU使用量、内存使用量等

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索