kubernetes之Namespace详解
Namespace
Namespace是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目组或用户组。常见的pods, services, replication controllers和deployments等都是属于某一个namespace的(默认是default),而node, persistentVolumes等则不属于任何namespace。
Namespace常用来隔离不同的用户,比如Kubernetes自带的服务一般运行在kube-system namespace中
何时使用多个Namespaces
当团队或项目中具有许多用户时,可以考虑使用Namespace来区分,如果是少量用户集群,可以不需要考虑使用Namespace,如果需要它们提供特殊性质时,可以开始使用Namespace。
Namespace为名称提供了一个范围。资源的Names在Namespace中具有唯一性。
Namespace是一种将集群资源划分为多个用途(通过 resource quota)的方法。
在未来的Kubernetes版本中,默认情况下,相同Namespace中的对象将具有相同的访问控制策略。
对于稍微不同的资源没必要使用多个Namespace来划分,例如同意软件的不同版本,可以使用labels(标签)来区分同一Namespace中的资源。
查询命名空间
[root@master ~]# kubectl get namespace NAME STATUS AGE c7n-system Active 30d default Active 46d eas Active 45d kafka Active 38d kube-public Active 46d kube-system Active 46d [root@master37 ~]#
注意:namespace包含两种状态”Active”和”Terminating”。在namespace删除过程中,namespace状态被设置成”Terminating”。
创建命名空间
1.直接创建命名空间
kubectl create namespace mynamespace
2.通过文件创建命名空间cat
[root@master37 ~]# cat mynamespace.yaml apiVersion: v1 kind: Namespace metadata: name: mynamespace [root@master37 ~]#
执行yaml文件生成mynamespace命名空间
[root@master37 ~]# kubectl apply -f mynamespace.yaml namespace/mynamespace created [root@master37 ~]#
注意:命名空间名称满足正则表达式a-z0-9?,最大长度为63位
删除命名空间
kubectl delete namespaces mynamespace
查看所有命名空间下pod
[root@master37 ~]# kubectl get pod --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-86c58d9df4-d24nb 1/1 Running 1 46d kube-system coredns-86c58d9df4-pq6qt 1/1 Running 1 46d kube-system etcd-master37 1/1 Running 1 46d kube-system filebeat-7mq2l 1/1 Running 12 38d kube-system filebeat-cj6j9 1/1 Running 1 42d kube-system filebeat-q594h 1/1 Running 2 42d kube-system kube-apiserver-master37 1/1 Running 1 46d kube-system kube-controller-manager-master37 1/1 Running 8 46d kube-system kube-flannel-ds-amd64-8mwqh 1/1 Running 1 45d kube-system kube-flannel-ds-amd64-cnj5c 1/1 Running 1 38d kube-system kube-flannel-ds-amd64-gw6qv 1/1 Running 1 45d kube-system kube-flannel-ds-amd64-trjqr 1/1 Running 7 45d kube-system kube-proxy-65w67 1/1 Running 1 46d kube-system kube-proxy-f7f5s 1/1 Running 2 45d kube-system kube-proxy-jjb56 1/1 Running 1 45d kube-system kube-proxy-vvdq4 1/1 Running 1 38d kube-system kube-scheduler-master37 1/1 Running 8 46d kube-system kubernetes-dashboard-57df4db6b-4kvfn 1/1 Running 1 45d kube-system kubernetes-dashboard-57df4db6b-hxvlq 1/1 Running 2 45d kube-system nfs-client-provisioner-759cc8b85c-ndd5f 1/1 Running 0 30d kube-system prometheus-9d74f4d95-rn776 1/1 Running 0 5d1h kube-system tiller-deploy-5d4955d66-72rhz 1/1 Running 0 32d kube-system traefik-ingress-controller-4sxrh 1/1 Running 2 45d kube-system traefik-ingress-controller-qxx9x 1/1 Running 1 45d kube-system traefik-ingress-controller-w7z2c 1/1 Running 1 38d
删除一个namespace会自动删除所有属于该namespace的资源。
default和kube-system命名空间不可删除。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Docker之2 安装部署
Docker的版本 Docker有两个版本:社区版(CE)Docker Community Edition(CE)非常适合希望开始使用Docker并尝试使用基于容器的应用程序的个人开发人员和小型团队。企业版(EE)Docker Enterprise Edition(EE)专为企业开发和IT团队而设计,他们在生产中大规模构建,发布和运行业务关键型应用程序。 Docker支持的平台 Docker可在多个平台上使用,桌面平台有Windows、MAC。服务器可以运行在CentOS、Debian、Ubantu等Linux操作系统上。以下实验我们已阿里云的ECS服务器进行安装。 Docker安装 # 阿里云的Docker RPM Repo wget -P /etc/yum.repos.d/ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 安装Docker yum -y install docker-ce 启动Docker service docker start 添加镜像代理 mkdir -p /etc/dock...
- 下一篇
Java技术周刊第8期:JVM的GC(垃圾回收器)机制
【点击订阅Java技术周刊】 Java的开发者们: 云栖社区已有5000位Java开发者,发布了30000+Java文章(文章列表),沉淀了7000+的Java精品问答(问答列表)。 Java技术周刊将会为大家介绍最新的Java技术与动态、预告活动、最热问答、直播教程等,欢迎大家订阅Java技术周刊和关注Java社区公众号。 直播预告 JVM的GC(垃圾回收器)机制直播时间:2019年5月16日 周四 晚20:30本期直播主讲人:云栖社区特邀专家户庆凯郑州大学学士,贵州大学硕士; 高级研发工程师,数据分析师,小米公司研发工程师; 专注于数据可视化,数据分析,增量计算技术,大数据管理与应用,热衷于Java、Spring Boot、TIDB、Mysql、Redis、Python; 最新动态 Hollis原创|不了解这12个语法糖,别说你会Java本文从
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7设置SWAP分区,小内存服务器的救世主