龙空技术网

今天讲讲k8s中的namespace

IT男侃球 432

前言:

现在各位老铁们对“phpusenamespace”大致比较注重,各位老铁们都需要知道一些“phpusenamespace”的相关内容。那么小编也在网上网罗了一些关于“phpusenamespace””的相关资讯,希望朋友们能喜欢,各位老铁们快快来学习一下吧!

一、k8s中的namespace介绍

namespace简称ns是k8s系统中一种非常重要的资源,它的主要作用是用来实现,多套系统的资源隔离或者多租户的资源隔离。

缺省情况下,k8s集群中的所有pod都是可以相互访问的,但是在实际中,可能不想让两个pod之间进行互信的访问,那么此时就可以将两个pod划分到不同的ns下。

k8s通过将集群内部的资源分配到不同的ns中,可以形成逻辑上的"组",以方便不同的组的资源进行隔离使用和管理。

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

ns与pod的关系

k8s默认创建的namespace有:

1、default: 所有未指定的ns的对象都会被分配在default命名空间里。

2、kube-node-lease: 集群节点之间的心跳维护,在v1.13版本开始引入。

3、kube-public: 此命名空间的资源可以被所有人访问,包括未认证的用户。

4、kube-system: 所有由k8s系统创建的资源都处于这个命名空间里。

二、namespace的日常操作

1、创建名为ns_qixiaji_h5_dev的名称空间

kubectl create namespace ns_qixiaji_h5_dev 或者 kubectl create ns ns_qixiaji_h5_dev

2、查看所有的namespace

kubectl get namespace

3、查看名为ns_qixiaji_h5_dev的ns

kubectl get namespace ns_qixiaji_h5_dev 或者 kubectl get namespace ns_qixiaji_h5_dev -o wide 显示更详细的信息

4、以json格式显示

kubectl get namespace ns_qixiaji_h5_dev -o json # -o 输出

5、以yaml格式输出

kubectl get namespace ns_qixiaji_h5_dev -o yaml # 可以重定向到文件里

6、查询名为ns_qixiaji_h5_dev的ns具体信息

kubectl describe namespace kubectl ns_qixiaji_h5_dev

[root@k8s-m ~]# kubectl describe ns default

Name: default

Labels: <none>

Annotations: <none>

Status: Active # 活的,表示ns正在使用中,Terminating: 表示正在删除ns

No resource queta. # 针对NS做的资源限制

No LimitRange resource. # 针对命名空间中的每个组件做资源限制

[root@k8s-m ~]#

7、删除 名为ns_qixiaji_h5_dev

kubectl delete namespace ns_qixiaji_h5_dev

三、通过yaml文件配置

ns-test.yaml

apiVersion: v1

Kind: Namespace

metadata:

name: ns_qixiaji_h5_dev

创建ns-test.yaml里的声明资源

kubectl create -f ns-test.yaml

# 删除

kubectl delete -f ns-test.yaml

标签: #phpusenamespace