前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Kubernetes Namespace

Kubernetes Namespace

作者头像
kubernetes中文社区
发布于 2019-06-24 07:09:51
发布于 2019-06-24 07:09:51
1.2K00
代码可运行
举报
运行总次数:0
代码可运行

命名空间

Kubernetes支持由同一物理集群支持的多个虚拟集群。这些虚拟集群称为名称空间。

何时使用多个命名空间

命名空间旨在用于多个用户分布在多个团队或项目中的环境中。对于具有几个到几十个用户的集群,您根本不需要创建或考虑名称空间。当您需要它们提供的功能时,请开始使用命名空间。

命名空间提供名称范围。资源名称在名称空间中必须是唯一的,而不是跨名称空间。

命名空间是一种在多个用户之间划分群集资源的方法(通过资源配额)。

在Kubernetes的未来版本中,默认情况下,同一名称空间中的对象将具有相同的访问控制策略。

没有必要使用多个名称空间来分隔略有不同的资源,例如同一软件的不同版本:使用标签来区分同一名称空间中的资源。

使用命名空间

名称空间的管理指南文档中描述了名称空间的创建和删除。

查看名称空间

您可以使用以下命令列出集群中的当前名称空间:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl get namespaces

NAME          STATUS    AGE
default       Active    1d
kube-system   Active    1d
kube-public   Active    1d

Kubernetes以三个初始名称空间开头:

  • default 没有其他命名空间的对象的默认命名空间
  • kube-system Kubernetes系统创建的对象的命名空间
  • kube-public此命名空间是自动创建的,并且所有用户(包括未经过身份验证的用户)都可以读取。此命名空间主要用于群集使用,以防某些资源在整个群集中可见且可公开读取。此命名空间的公共方面只是一个约定,而不是一个要求。

设置请求的命名空间

要临时设置请求的命名空间,请使用该--namespace标志。

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl --namespace=<insert-namespace-name-here> run nginx --image=nginx
kubectl --namespace=<insert-namespace-name-here> get pods

设置命名空间首选项

您可以在该上下文中为所有后续kubectl命令永久保存命名空间。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl config set-context $(kubectl config current-context) --namespace=<insert-namespace-name-here>
# Validate it
kubectl config view | grep namespace:

命名空间和DNS

创建服务时,它会创建相应的DNS条目。此条目是表单<service-name>.<namespace-name>.svc.cluster.local,这意味着如果容器只是使用<service-name>,它将解析为命名空间本地的服务。这对于在多个名称空间(如开发,分段和生产)中使用相同的配置非常有用。如果要跨命名空间访问,则需要使用完全限定的域名(FQDN)。

并非所有对象都在命名空间中

大多数Kubernetes资源(例如pod,服务,复制控制器等)都在某些名称空间中。但是,命名空间资源本身并不在命名空间中。并且低级资源(例如节点和persistentVolumes)不在任何名称空间中。

要查看哪些Kubernetes资源在命名空间中,哪些不在:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# In a namespace
kubectl api-resources --namespaced=true
# Not in a namespace
kubectl api-resources --namespaced=false

本文翻译Kubernetes官方文档

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 kubernetes中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Kubernetes命名空间
Kubernetes中提供了命名空间,但是如果你的团队规模比较小并且集群规模也不大,完全可以不用Namespaces而使用labels来区分不同的资源,随着项目增多、集群规模扩大、人员的增加,你才需要使用Namespaces,通过namespace你可以创建多个虚拟的集群。
大江小浪
2018/09/19
2.4K0
Pod 的 NameSpace
使用 kubectl 管理命名空间及其包含的资源相当简单。在这一节中,我们将演示一些最常见的命名空间操作,便于你开始有效地分割资源。
星哥玩云
2022/09/15
7860
Pod 的 NameSpace
kubernetes核心实战(一)--- namespace
命名空间(namespace)是Kubernetes提供的组织机制,用于给集群中的任何对象组进行分类、筛选和管理。每一个添加到Kubernetes集群的工作负载必须放在一个命名空间中。
小陈运维
2021/11/25
3580
【云原生 | Kubernetes篇】深入Kubernetes(k8s)概念(四)
可以使用 kubectl 命令行创建对象,也可以编写 .yaml 格式的文件进行创建
Lansonli
2022/06/07
1.3K0
【云原生 | Kubernetes篇】深入Kubernetes(k8s)概念(四)
Kubernetes(k8s)-命名空间(Namespace)介绍
我们上一章介绍了Docker基本情况,目前在规模较大的容器集群基本都是Kubernetes,但是Kubernetes涉及的东西和概念确实是太多了,而且随着版本迭代功能在还增加,笔者有些功能也确实没用过,所以只能按照我自己的理解来讲解。
运维小路
2025/02/27
4360
Kubernetes(k8s)-命名空间(Namespace)介绍
K8S命名空间
Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群。这些虚拟集群被称为命名空间。
胡齐
2020/06/02
1.7K0
volume 、namespace
顺带说一下 volume 和 namespace ,咱们就开始分享一下 service 是什么
阿兵云原生
2023/09/01
2150
volume 、namespace
k3s安装longhorn服务无法删除namespaces
手工安装好longhorn后发现该服务有问题,想重新安装时发现执行原来delete命令后,虽然Pod内容已删除,但命名空间的删除状态一直处于terminating状态。
兜兜毛毛
2020/04/24
1.7K0
如何在Kubernetes群集上安装,配置和部署NGINX
Kubernetes是一个基于Google Borg的开源容器管理系统。它可以配置为提供高度可用的,水平自动缩放的自动部署。本指南介绍如何在Linode上设置Kubernetes集群并管理NGINX服务的生命周期。
Techeek
2018/09/17
3.1K0
附006.Kubernetes RBAC授权
基于角色的访问控制(RBAC)是一种基于个人用户的角色来管理对计算机或网络资源的访问的方法。
木二
2019/07/01
5020
附006.Kubernetes RBAC授权
Kubernetes命令行工具 - kubectl用法总结
在bash中设置当前shell的自动补全,要先安装bash-completion包。
RokasYang
2022/12/17
1.9K0
Kubernetes命令行工具 - kubectl用法总结
容器编排引擎Kubernetes 05——命名空间和POD
命名空间,即 namespace,是对一组资源和对象的抽象集合,比如可以将系统内部的对象划分为不同的项目组或用户组。
用户8100582
2024/01/25
7990
超长干货 | Kubernetes命名空间详解
K8s使用命名空间的概念帮助解决集群中在管理对象时的复杂性问题。在本文中,会讨论命名空间的工作原理,介绍常用实例,并分享如何使用命名空间来管理K8s对象。最后,介绍名为projects的Rancher特性是如何构建并扩展命名空间的概念的。
全栈程序员站长
2022/06/30
1.8K0
超长干货 | Kubernetes命名空间详解
使用k8s-prometheus-adapter实现HPA
当HPA请求metrics时,kube-aggregator(apiservice的controller)会将请求转发到adapter,adapter作为kubernentes集群的pod,实现了Kubernetes resource metrics API and custom metrics API,它会根据配置的rules从Prometheus抓取并处理metrics,在处理(如重命名metrics等)完后将metric通过custom metrics API返回给HPA。最后HPA通过获取的metrics的value对Deployment/ReplicaSet进行扩缩容。
charlieroro
2020/03/24
5.9K0
k8s实践(5)k8s的命名空间Namespace
你可以认为namespaces是你kubernetes集群中的虚拟化集群。在一个Kubernetes集群中可以拥有多个命名空间,它们在逻辑上彼此隔离。 他们可以为您和您的团队提供组织,安全甚至性能方面的帮助!
黄规速
2022/04/14
5.5K0
Kubernetes K8S之鉴权RBAC详解
HTTP Token的认证是用一个很长的特殊编码方式的并且难以被模仿的字符串来表达客户的一种方式。每一个Token对应一个用户名,存储在API Server能访问的文件中。当客户端发起API调用请求时,需要在HTTP Header里放入Token。
踏歌行
2020/12/16
1.9K0
Kubernetes K8S之鉴权RBAC详解
使用 Gatekeeper 进行 OPA 策略管理
前面我们介绍了使用 kube-mgmt 这个 sidecar 容器来完成 OPA 策略的自动同步,此外还有另外一个更加高级的工具 Gatekeeper,相比于之前的模式,Gatekeeper(v3.0) 准入控制器集成了 OPA Constraint Framework,以执行基于 CRD 的策略,并允许声明式配置的策略可靠地共享,使用 kubebuilder 构建,它提供了验证和修改准入控制和审计功能。这允许为 Rego 策略创建策略模板,将策略创建为 CRD,并在策略 CRD 上存储审计结果,这个项目是谷歌、微软、红帽和 Styra 一起合作实现的。
我是阳明
2022/04/06
7860
使用 Gatekeeper 进行 OPA 策略管理
如何使用Helm软件包管理器在Kubernetes集群上安装软件
Helm是Kubernetes的软件包管理器,允许开发人员和操作员更轻松地在Kubernetes集群上配置和部署应用程序。
姚啊姚
2018/10/29
2.2K0
kubernetes-实战入门
本章节将介绍如何在kubernetes集群中部署一个nginx服务,并且能够对其进行访问。
Alone-林
2023/03/17
2650
kubernetes-实战入门
关于 Kubernetes中一些基本概念和术语笔记
Kubernetes中的大部分概念如Node, Pod,Replication Controller, Service等都可以看作一种“资源对象”几乎所有的资源对象都可以通过Kubernetes提供的kubect工具(或者API编程调用)执行增、删、改、查等操作并将其保存在etcd中持久化存储。从这个角度来看,Kubernetes其实是一个高度自动化的资源控制系统,它通过`跟踪对比etcd库里保存的“资源期望状态”与当前环境中的“实际资源状态”的差异来实现自动控制和自动纠错的高级功能。
山河已无恙
2023/03/02
1K0
关于 Kubernetes中一些基本概念和术语笔记
相关推荐
Kubernetes命名空间
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验