命名空间资源

一、命名空间

1、简介

    在一个物理集群上提供了多个虚拟集群。这些虚拟集群被称为命名空间。k8s中名称空间是用来隔离集群资源,而k8s中的资源也分为名称空间级资源以及集群级资源。

你为什么需要命名空间?隔离。
    隔离有很多优点,如它提供了安全和干净的环境。如果你是基础设施的所属者,并且要为开发者提供环境,隔离就相当重要。你最不需要的就是,一个不熟悉你集群是如何搭建的人去修改系统配置 —— 这可能导致所有人都无法登录。

2、如何使用命名空间

    命名空间适用于存在很多跨多个团队或项目的用户的场景。对于只有几到几十个用户的集群,根本不需要创建或考虑命名空间。当需要名称空间提供的功能时,请开始使用它们。

    命名空间为名称提供了一个范围。资源的名称需要在命名空间内是唯一的,但不能跨命名空间。命名空间不能相互嵌套,每个 Kubernetes 资源只能在一个命名空间中。

    命名空间是在多个用户之间划分集群资源的一种方法(通过资源配额)。

    在 Kubernetes 未来版本中,相同命名空间中的对象默认将具有相同的访问控制策略。

    不需要使用多个命名空间来分隔轻微不同的资源,例如同一软件的不同版本:使用 labels 来区分同一命名空间中的不同资源。

3、列出所有集群的当前名称空间

[root@k8s-master-01 ~]# kubectl get namespaces
NAME              STATUS   AGE
default           Active   6d
kube-node-lease   Active   6d
kube-public       Active   6d
kube-system       Active   6d

4、kubernetes四个初始名称空间

1)default

    创建名称空间级别的资源对象,但未指定从属的名称空间将默认使用default名称空间

2)kube-public

    用于为集群上的所有用户(包括未经身份验证的用户)提供公共可用的名称空间,保留给集群使用,以防某些资源在整个集群中公开可见。此名称空间公共方面仅是约定,不是要求。

3)kube-system

    用于部署k8s自身相关的组件,不建议在该名称空间中运行与系统无关的工作负载。

4)kube-node-lease

    目前是专用于放置kubelet lease 对象的名称空间,这些对象对于k8s系统自身健康运行至关重要要。不建议在该名称空间中运行与系统无关的工作负载。

5、获取默认名称空间信息

[root@k8s-master-01 ~]# kubectl get namespaces
NAME              STATUS   AGE
default           Active   6d
kube-node-lease   Active   6d
kube-public       Active   6d
kube-system       Active   6d
[root@k8s-master-01 ~]#
[root@k8s-master-01 ~]# kubectl get namespaces default
NAME      STATUS   AGE
default   Active   6d1h
[root@k8s-master-01 ~]# kubectl describe namespaces default
Name:         default
Labels:       <none>
Annotations:  <none>
Status:       Active

No resource quota.

No LimitRange resource.

6、创建Namespace

联系管理员微信tutu19192010,注册账号

上一篇
下一篇
Copyright © 2022 Egon的技术星球 egonlin.com 版权所有 帮助IT小伙伴学到真正的技术