zoukankan      html  css  js  c++  java
  • namespace

    Namespace是kubernetes系统中一种非常重要的资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。

    默认情况下,kubernetes集群中所有的Pod都是可以相互访问的,但是在实际过程中,可能不想让两个Pod之间进行相互的访问,那么此时就可以将两个Pod划分到不同的namespace下。kubenetes通过将集群内部的资源分配到不同的Namespace中,形成逻辑上的“组”,以便于不同资源的组进行隔离和管理。

    可以通过kubernetes的授权机制,将不同的namespace交给不同的租户进行管理,这样就形成多租户的资源隔离。此时还能结合kubernetes的资源配额机制,限定不同租户能占用的资源,如cpu使用量,内存使用量等,来实现租户可用资源的管理

    kubernetes在集群启动后,会默认创建几个namespace

    [root@master ~]# kubectl get ns
    NAME              STATUS   AGE
    default           Active   40h  #所有未指定namespace的对象都会被分配到default空间中
    kube-node-lease   Active   40h #集群节点之间的心跳维护,v1.13开始引入
    kube-public       Active   40h #此命名空间下的资源可以被所有人访问(包括未认证的用户)
    kube-system       Active   40h #所有有kubernetes系统创建的资源都处在这个命名空间
    

    操作方式

    # 查看所有的ns 
    [root@master ~]# kubectl get ns
    NAME              STATUS   AGE
    default           Active   40h
    kube-node-lease   Active   40h
    kube-public       Active   40h
    kube-system       Active   40h
    
    
    # 查看指定的ns
    [root@master ~]# kubectl get ns kube-system
    NAME          STATUS   AGE
    kube-system   Active   40h
    [root@master ~]# kubectl get ns default
    NAME      STATUS   AGE
    default   Active   40h
    
    
    # 指定输出格式 kubectl get ns ns名称 -o [json/wide/yaml]
    [root@master ~]# kubectl get ns default -o yaml
    apiVersion: v1
    kind: Namespace
    metadata:
      creationTimestamp: "2021-09-25T14:37:46Z"
      name: default
      resourceVersion: "146"
      selfLink: /api/v1/namespaces/default
      uid: 924536fd-013d-4f5b-8f2b-2d4abc179ca5
    spec:
      finalizers:
      - kubernetes
    status:
      phase: Active
    
    # 创建namespace
    kubectl create ns dev
    
    # 删除namespace
    kubectl delete ns dev
    

    以配置文件的方式创建一个namespace

    首先准备一个yaml文件: ns-dev.yml

    apiVersion: v1
    kind: Namespace
    metadata:
      name: dev
    

    然后就可以执行对应的创建和删除命令了

    创建: kubectl create -f ns-dev.yml

    删除: kubectl delete -f ns-dev.yml

  • 相关阅读:
    如果用 索引的话,这个太不方便了,草,
    nslocal notification
    夜半三更,
    别人写的 代码,
    账目
    view 关于 controller的代理
    浅谈GFC
    浅谈IFC
    浅谈BFC
    JS ES6中的箭头函数(Arrow Functions)使用
  • 原文地址:https://www.cnblogs.com/diqiyao/p/15509577.html
Copyright © 2011-2022 走看看