文章目录
一、场景
前文回顾:
k8s初识:完整课程大纲介绍(首发、独家、连载),学前电脑和虚拟机配置
k8s初识02:容器管理工具、编排部署工具、kubernetes相关学习
k8s集群部署04:物理服务器部署的组件以及测试集群可用性(万字教程!肝!)
k8s集群06:k8s集群资源清单(YAML)文 件书写方法
如果没有看前文的需要补课,在学习了前面的课程内内容之后,我们接到项目组同事的第一个任务,需要准备两套k8s集群用于开发测试及预发布,但是由
于项目组可用主机资源有限,没有那么多主机可用,不能满足两套k8s集群的要求,所以播仔就想在现有的k8s集群中运行两套环境,你觉得可行吗?答案是可行的,我们可以使用k8s集群中的命名空间即可实现开发测试与预发布环境的隔离。
二、学习目标
√ 了解NameSpace作用
√ 掌握NameSpace查看方法
√ 掌握NameSpace创建方法
√ 掌握NameSpace删除方法
三、学习步骤
四、课程内容
4.1 NameSpace介绍
命名空间
作用:多租户情况下,实现资源隔离
属于逻辑隔离
属于管理边界
不属于网络边界
可以针对每个namespace做资源配额
4.2 查看NameSpace
命令
[root@master1 ~]# kubectl get namespace
输出
NAME STATUS AGE
default Active 16h
kube-node-lease Active 16h
kube-public Active 16h
kube-system Active 16h
说明
default 用户创建的pod默认在此命名空间
kube-public 所有用户均可以访问,包括未认证用户
kube-node-lease kubernetes集群节点租约状态
v1.13加入
kube-system kubernetes集群在使用
4.3 创建NameSpace
4.3.1 通过kubectl命令行创建
命令
[root@master1 ~]# kubectl create namespace test
输出
namespace/test created
命令
[root@master1 ~]# kubectl get namespace
4.3.2 通过Kubectl命令应用资源清单文件创建
准备资源清单文件
[root@master1 yamldir]# cat 01-create-ns.yaml
apiVersion: v1
kind: Namespace
metadata:
name: demons1
命令
应用资源清单文件
[root@master1 yamldir]# kubectl apply -f 01- create-ns.yaml
命令
验证是否创建成功
[root@master1 yamldir]# kubectl get namespace
输出
NAME STATUS AGE
default Active 16h
demons1 Active 30s
kube-node-lease Active 16h
kube-public Active 16h
kube-system Active 16h
test Active 13m 已创建
4.4 删除NameSpace
删除命令空间的适合,命令空间中包含所有的资源对象同时被删除
4.4.1 通过kubectl命令行删除
命令
查看namespace
[root@master1 yamldir]# kubectl get namespace
输出
NAME STATUS AGE
default Active 16h
demons1 Active 7m15s
kube-node-lease Active 16h
kube-public Active 16h
kube-system Active 16h
test Active 19m 确认存在
命令
删除
namespace
[root@master1 yamldir]# kubectl delete namespace test
输出
namespace "test" deleted
命令
查看现有NameSpace,确认是否删除
[root@master1 yamldir]# kubectl get namespace
输出
NAME STATUS AGE
default Active 16h
demons1 Active 7m39s
kube-node-lease Active 16h
kube-public Active 16h
kube-system Active 16h
4.4.2 通过kubectl命令应用资源清单文件删除
命令
查看namespace
[root@master1 yamldir]# kubectl get namespace
输出
NAME STATUS AGE
default Active 16h
demons1 Active 7m39s 确认存在
kube-node-lease Active 16h
kube-public Active 16h
kube-system Active 16h
查看namespace资源清单文件
[root@master1 yamldir]# cat 01-create-ns.yaml apiVersion: v1
kind: Namespace
metadata:
name: demons1
命令
通过namespace资源清单文件删除
[root@master1 yamldir]# kubectl delete -f 01- create-ns.yaml
输出
namespace "demons1" deleted
命令
确认是否被删除
[root@master1 yamldir]# kubectl get namespace
输出
NAME STATUS AGE default Active 16h
kube-node-lease Active 16h
kube-public Active 16h
kube-system Active 16h
五、学习总结
六、课程预约
关于NameSpace更多内容,可预约。