开发者学堂课程【Kubernetes 极速入门:K8S 集群 NameSpace(命名空间)_NameSpace 介绍及查看】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/658/detail/10883
K8S 集群 NameSpace(命名空间)_NameSpace 介绍及查看
内容介绍:
一、场景
二、学习目标
三、学习步骤
四、课程内容
一、场景
需要准备两套 k8s 集群用于开发测试及预发布,但是由于项目组可用主机资源有限,没有那么多主机可用,不能满足两套 k8s 集群的要求,所以播仔就想在现有的 k8s 集群中运行两套环境,你觉得可行吗?答案是可行的,我们可以使用 k8s 集群中的命名空间即可实现开发测试与预发布环境的隔离。
二、学习目标
1.了解 NameSpace 作用
2.掌握查看方法
3.掌握 NameSpace 创建方法
4.掌握 NameSpace 删除方法
三、学习步骤
1.第一步:NameSpace 介绍
2.第二步:查看 NameSpace
3.第三步:创建 NameSpace
4.第四步:删除 NameSpace
四、课程内容
1. NameSpace 介绍
(1)命名空间: 对于一个空间的命名。比如教室101、102等。
(2)作用:多租户情况下,实现资源隔离。在这个 k8s 当中如果部署十个应用不能在一块隔离,所使用的就是多租户隔离。
(3)属于逻辑隔离:比如小时候在桌子上画的三八线,并不是物理性隔离。
(4)属于管理边界:不能跨出命名空间来管理。不论管理边界有多大或者多小,每个项目之间的命名空间的中获取的 IP 地址都是由网络附件来分配的,网络附件来分配的过程当中没有区分命名空间和非命名空间的,都是属于网络插件的管理范围之内的,所以它不是一个网络的边界。
(5)不属于网络边界
(6)可以针对每个 namespace 做资源配额:如果资源有限的情况下,可以来做相关的操作,如果资源够用,一般是不需要的。
2. 查看 NameSpace
(1)命令
[root@master1~]# kubectl get namespace
Get 是一个基础性命令,获取某一类资源,加上之后就会有相应的输出。就可以看到相应的资源名称,资源的状态以及资源生成的时间。
1.输出 |
|
|
2.NAME |
STATUS |
AGE |
3.default |
Active |
16h |
4.knbe-node-lease |
Active |
16h |
5.kube-pulic |
Active |
16h |
6.kube-system |
Active |
16h |
(2)演示过程
我们知道在这个集群当中,既可以在 master 级别当中,也可以在 worker1级别当中来使用 kube-system 命令来获得集群的相关信息,这里选择在 master 级别来操作,可以直接使用 kubectl get 后边加上资源的命名空间的类形,然后直接回车,就会有相应的输出显示,名称、状态、时间.
(3)说明
Default 命名空间:用户创建的 pod 默认在此命名空间,如果创建空间时没有指定的命名空间的话,它会自动出现。
kube-publi 命名空间:所有用户均可以访问,包括未认证用户,是比较危险的。
kube-node-lease kubernetes 命名空间:集群节点租约状态可以看见的,是在后 v1.13加入的。在早期的 v1.9、 v1.10是看不见的。
kube-system 命名空间:是比较重要的,仅用来查询使用,因为他是kubernetes 集群组件运行的命名空间,是不可以删除的。
在早期和演示过 kubectl get pods,pods 是一种资源类型,他是一种k8s集群能够管理的最小的调度单元。