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

Posted 传智教育官方博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s集群06:NameSpace(命 名空间)持续连载中相关的知识,希望对你有一定的参考价值。


一、场景

前文回顾:
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删除方法

三、学习步骤

在这里插入图片描述

四、课程内容

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更多内容,可预约。

以上是关于k8s集群06:NameSpace(命 名空间)持续连载中的主要内容,如果未能解决你的问题,请参考以下文章

k8s命名空间Namespace介绍与使用,以及用kubens插件管理namespace

K8S权限控制,限制用户在特定namespace上的访问权限

k8s小工具

k8s 服务注册与发现Kubernetes内部域名解析原理

k8s 服务注册与发现Kubernetes内部域名解析原理

k8s 服务注册与发现Kubernetes内部域名解析原理