首页 > 其他分享 >k8s实战入门——Namespace

k8s实战入门——Namespace

时间:2022-11-06 12:23:25浏览次数:47  
标签:kubectl k8s 入门 get namespace Namespace dev yaml ns

Namespace

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

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

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

image-20200407100850484

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

[root@master ~]# kubectl get namespace

NAME STATUS AGE
default Active 45h # 所有未指定Namespace的对象都会被分配在default命名空间
kube-node-lease Active 45h # 集群节点之间的心跳维护,v1.13开始引入
kube-public Active 45h # 此命名空间下的资源可以被所有人访问(包括未认证用户)
kube-system Active 45h # 所有由Kubernetes系统创建的资源都处于这个命名空间

下面来看namespace资源的具体操作:

查看

# 1 查看所有的ns

命令:kubectl get ns
[root@master ~]# kubectl get ns

# 2 查看指定的ns

命令:kubectl get ns ns名称
[root@master ~]# kubectl get ns default

# 3 查看ns详情

命令:kubectl describe ns ns名称

[root@master ~]# kubectl describe ns default

Name: default
Labels: <none>
Annotations: <none>

Status: Active # Active 命名空间正在使用中 
# Terminating 正在删除命名空间 # ResourceQuota 针对namespace做的资源限制 # LimitRange针对namespace中的每个组件做的资源限制

# 4 指定输出格式

命令:kubectl get ns ns名称 -o 格式参数
# kubernetes支持的格式有很多,比较常见的是wide、json、yaml
[root@master ~]# kubectl get ns default -o yaml

创建
# 创建namespace

[root@master ~]# kubectl create ns dev
namespace/dev created

删除

# 删除namespace

[root@master ~]# kubectl delete ns dev
namespace "dev" deleted
yaml配置方式

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

apiVersion: v1
kind: Namespace
metadata:
  name: dev

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

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

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

参考

黑马B站k8s课程https://www.bilibili.com/video/BV1Qv41167ck/
https://gitee.com/yooome/golang/blob/main/k8s%E8%AF%A6%E7%BB%86%E6%95%99%E7%A8%8B-%E8%B0%83%E6%95%B4%E7%89%88/k8s%E8%AF%A6%E7%BB%86%E6%95%99%E7%A8%8B.md
https://www.yuque.com/fairy-era/yg511q/xyqxge

标签:kubectl,k8s,入门,get,namespace,Namespace,dev,yaml,ns
From: https://www.cnblogs.com/gys001/p/16862355.html

相关文章