文章目录

  • ​​一、场景​​
  • ​​二、学习目标​​
  • ​​三、学习步骤​​
  • ​​四、课程内容​​
  • ​​4.1 NameSpace介绍​​
  • ​​4.2 查看NameSpace​​
  • ​​4.3 创建NameSpace​​
  • ​​4.3.1 通过kubectl命令行创建​​
  • ​​4.3.2 通过Kubectl命令应用资源清单文件创建​​
  • ​​4.4 删除NameSpace​​
  • ​​4.4.1 通过kubectl命令行删除​​
  • ​​4.4.2 通过kubectl命令应用资源清单文件删除​​
  • ​​五、学习总结​​
  • ​​六、课程预约​​

一、场景

前文回顾:
​k8s初识:完整课程大纲介绍(首发、独家、连载),学前电脑和虚拟机配置​​

​​k8s初识02:容器管理工具、编排部署工具、kubernetes相关学习​​

​​k8s架构03:了解应用部署架构,掌握k8s集群架构​​

​​k8s集群部署04:物理服务器部署的组件以及测试集群可用性(万字教程!肝!)​​

​​k8s集群工具05:学习了解kubectl命令来使用k8s​​

​​k8s集群06:k8s集群资源清单(YAML)文 件书写方法​​

如果没有看前文的需要补课,在学习了前面的课程内内容之后,我们接到项目组同事的第一个任务,需要准备两套k8s集群用于开发测试及预发布,但是由
于项目组可用主机资源有限,没有那么多主机可用,不能满足两套k8s集群的要求,所以播仔就想在现有的k8s集群中运行两套环境,你觉得可行吗?答案是可行的,我们可以使用k8s集群中的命名空间即可实现开发测试与预发布环境的隔离。

二、学习目标

√ 了解NameSpace作用
√ 掌握NameSpace查看方法
√ 掌握NameSpace创建方法
√ 掌握NameSpace删除方法

三、学习步骤

k8s集群06:NameSpace(命 名空间)持续连载中_java

四、课程内容

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

五、学习总结

k8s集群06:NameSpace(命 名空间)持续连载中_java_02

六、课程预约

关于NameSpace更多内容,可预约。