kubenetes--Namespace命名空间

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.创建

apiVersion: v1  
kind: Namespace  
metadata:  
   name: development  
   labels:  
     name: development  

 3.指定namespace 创建rc/pod/service

创建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.0.166: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的各种对象,可以实现对用户的分组,即“多租户”管理。对不同的租户还可以进行单独的资源配额设置和管理,使得整个集群的资源配置非常灵活、方便。关于租户配额后期学习。

Welcome to visit
原文地址:https://www.cnblogs.com/Nolover/p/8648670.html