美文网首页
05-Namespace命名空间

05-Namespace命名空间

作者: 泛轻舟gen | 来源:发表于2018-09-06 22:37 被阅读18次

    Namespace(命名空间)是kubernetes系统中的另一个重要的概念,通过将系统内部的对象“分配”到不同的Namespace中,形成逻辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群的资源的同时还能被分别管理。

    Kubernetes集群在启动后,会创建一个名为“default”的Namespace,如果不特别指明Namespace,则用户创建的Pod、RC、Service都被系统创建到“default”的Namespace中。

    1.查询

    [root@localhost k8s]# kubectl get namespaces
    NAME      STATUS    AGE
    default   Active    6d
    

    2.创建

    直接创建Namespace。

    apiVersion: v1
    kind: Namespace
    metadata:
       name: development
       labels:
         name: development
    
    
    [root@localhost k8s]# kubectl get namespace 
    NAME          STATUS    AGE
    default       Active    6d
    development   Active    6s
    

    3.Pod/RC/Service中指定Namespace

    创建Pod/RC/Service时,如果不指定Namespace,则默认是"default"的Namespace。

    php-pod.yaml

    apiVersion: v1
    kind: Pod
    metadata:
       name: php-test
       labels: 
         name: php-test
       namespace: development
    spec:
      containers:
      - name: php-test
        image: 192.168.174.131:5000/php-base:1.0
        env:
        - name: ENV_TEST_1
          value: env_test_1
        - name: ENV_TEST_2
          value: env_test_2
        ports:
        - containerPort: 80
          hostPort: 80 
    
    [root@localhost k8s]# kubectl create -f php-pod.yaml 
    pod "php-test" created
    [root@localhost k8s]# kubectl get pods
    [root@localhost k8s]# kubectl get pods --namespace=development
    NAME       READY     STATUS    RESTARTS   AGE
    php-test   1/1       Running   0          1m
    [root@localhost k8s]# 
    
    

    kubectl get pods时,没有任何结果,因为默认的是查询namespace=default的,所以要加上namespace参数。同理创建RC/Service也是一样的。

    通过使用Namespace来组织k8s的各种对象,可以实现对用户的分组,即“多租户”管理。对不同的租户还可以进行单独的资源配额设置和管理,使得整个集群的资源配置非常灵活、方便。关于租户配额后期学习。

    相关文章

      网友评论

          本文标题:05-Namespace命名空间

          本文链接:https://www.haomeiwen.com/subject/ffnfgftx.html