使用名称空间共享集群

k8s-集群资源介绍及管理 k8s集群资源介绍及管理 1.k8s中的资源 K8s 中所有的内容都抽象为资源, 资源实例化之后,叫做对象 在k8s中,任何可以被申请、分配,最终被使用的对象,都是 kubernetes 中的资源,比如 CPU、内存。 1.1集群资源分类 1.1.1名称空间级别资源 仅在此名称空间下生效,如k8s的系统组件是默认放在kube-system名称空间下的,而kubectl get pod等价于kubectl get pod -n default,因此查看不到k8s的系统组件。 1.工作负载型资源(workloa 阅读详情
在这里插入图片描述

📕作者简介: 过去日记,致力于Java、GoLang,Rust等多种编程语言,热爱技术,喜欢游戏的博主。
📘相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看
📙Java并发编程系列,设计模式系列、go web开发框架 系列正在发展中,喜欢Java,GoLang,Rust,的朋友们可以关注一下哦!


使用名称空间共享集群

查看名称空间

查看集群中的名称空间列表:

kubectl get namespaces

Kubernetes 安装成功后,默认有初始化了三个名称空间:

  • default 默认名称空间,如果 Kubernetes 对象中不定义 metadata.namespace 字段,该对象将放在此名称空间下
  • kube-system Kubernetes系统创建的对象放在此名称空间下
  • kube-public 此名称空间自动在安装集群是自动创建,并且所有用户都是可以读取的(即使是那些未登录的用户)。主要是为集群预留的,例如,某些情况下,某些Kubernetes对象应该被所有集群用户看到。

查看名称空间的概要信息:

kubectl describe namespaces

  • Resource quota 汇总了名称空间中使用的资源总量,并指定了集群管理员定义该名称空间最多可以使用的资源量
  • Limit range 定义了名称空间中某种具体的资源类型的最大、最小值

名称空间可能有两种状态(phase):

  • Active 名称空间正在使用中
  • Termining 名称空间正在被删除,不能再向其中创建新的对象

创建名称空间

使用 kubectl 有两种方式可以创建名称空间

通过 yaml 文件,创建文件 my-namespace.yaml 内容如下:

apiVersion: v1
kind: Namespace
metadata:
  name: <名称空间的名字>

执行命令

kubectl create -f ./my-namespace.yaml

直接使用命令创建名称空间:

kubectl create namespace <名称空间的名字>

删除名称空间

执行如下命令可删除名称空间:

kubectl delete namespaces <名称空间的名字>

此删除操作是异步的,您可能会观察到名称空间停留会在 Terminating 状态停留一段时间。

使用名称空间切分集群

理解 default 名称空间

默认情况下,安装Kubernetes集群时,会初始化一个 default 名称空间,用来将承载那些未指定名称空间的 Pod、Service、Deployment等对象

创建新的名称空间

在此练习中,我们将创建两个 Kubernetes 名称空间。

假设企业使用同一个集群作为开发环境和生产环境(注意:通常开发环境和生产环境是物理隔绝的):

  • 开发团队期望有一个集群中的空间,以便他们可以查看查看和使用他们创建的 Pod、Service、Deployment等。在此空间中,Kubernetes对象被创建又被删除,为了适应敏捷开发的过程,团队中的许多人都可以在此空间内做他们想做的事情。
  • 运维团队也期望有一个集群中的空间,在这里,将有严格的流程控制谁可以操作 Pod、Service、Deployment等对象,因为这些对象都直接服务于生产环境。

此时,该企业可以将一个Kubernetes集群切分成两个名称空间:development 和 production。创建名称空间的 yaml 文件如下所示:

apiVersion: v1
kind: Namespace
metadata:
  name: development
  labels:
    name: development

执行命令以创建 development 名称空间:

kubectl create -f https://kuboard.cn/statics/learning/namespace/dev.yaml

执行命令以创建 production 名称空间:

kubectl create -f https://kuboard.cn/statics/learning/namespace/prod.yaml

执行命令查看已创建的名称空间

kubectl get namespaces --show-labels

在每个名称空间中创建 Pod

Kubernetes名称空间为集群中的 Pod、Service、Deployment 提供了一个作用域。可以限定使用某个名称空间的用户不能看到另外一个名称空间中的内容。我们可以在 development 名称空间中创建一个简单的 Deployment 和 Pod 来演示这个特性。

首先,执行命令以检查当前的 kubectl 上下文

kubectl config view

执行命令

kubectl config current-context

接下来,为 kubectl 定义一个上下文,以便在不同的名称空间中工作。cluster 和 user 字段的取值从前面的 current context 复制过来:

kubectl config set-context dev --namespace=development --cluster=lithe-cocoa-92103_kubernetes --user=lithe-cocoa-92103_kubernetes
kubectl config set-context prod --namespace=production --cluster=lithe-cocoa-92103_kubernetes --user=lithe-cocoa-92103_kubernetes

切换到 development 名称空间:

kubectl config use-context dev

创建一个 nginx

kubectl run snowflake --image=nginx:1.7.9 --replicas=2

刚刚创建的 Deployment 副本数为 2,运行了一个 nginx 容器。

kubectl get deployment

执行命令

kubectl get pods -l run=snowflake

此时,开发人员可以做任何他想要做的操作,所有操作都限定在名称空间 development 里,而无需担心影响到 production 名称空间中的内容。

切换到 production 名称空间:

kubectl config use-context prod

production 名称空间应该是空的,下面两个命令将返回的结果都应该为空:

kubectl get deployment
kubectl get pods

此时,我们在 production 名称空间运行另一个 deployment:

kubectl run cattle --image=nginx:1.7.9 --replicas=5
kubectl get deployment

执行命令

kubectl get pods -l run=cattle

为什么需要名称空间

一个Kubernetes集群应该可以满足多组用户的不同需要。Kubernetes名称空间可以使不同的项目、团队或客户共享同一个 Kubernetes 集群。实现的方式是,提供:

  • 名称 的作用域
  • 为不同的名称空间定义不同的授权方式和资源分配策略 Resource Quota 和 resource limit range

每一个用户组都期望独立于其他用户组进行工作。通过名称空间,每个用户组拥有自己的:

  • Kubernetes 对象(Pod、Service、Deployment等)
  • 授权(谁可以在该名称空间中执行操作)
  • 资源分配(该用户组或名称空间可以使用集群中的多少计算资源)

可能的使用情况有:

  • 集群管理员通过一个Kubernetes集群支持多个用户组
  • 集群管理员将集群中某个名称空间的权限分配给用户组中的受信任的成员
  • 集群管理员可以限定某一个用户组可以消耗的资源数量,以避免其他用户组受到影响
  • 集群用户可以使用自己的Kubernetes对象,而不会与集群中的其他用户组相互干扰
使用kuboard搭建k8s集群 使用kuboard搭建k8s集群,无需进行复杂的命令配置,全部可视化操作,非常方便 阅读详情

相关推荐

在kubernetes中部署elasticsearch集群

Elasticsearch是一个分布式可扩展的实时搜索和分析引擎,有restful接口,设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。这里将Elasticsearch集群部署在k8s中,记录部署过程。

2023年最新地推相关信息 977

【云原生】NameSpace名称空间详解

默认情况下,Kubernetes集群会在配置集群时实例化一个default名称空间,用以存放集群所有使用的默认Pod、Service和Deployment集合(默认代表创建的资源没有指定名称空间,那么就会在默认的名称空间下创建也就是default名称空间)假设你有一个新的集群,你可以通过执行以下操作看到所有名称空间。

weixin_73059729的博客 1005

【云原生】Kubernetes中的名称空间和资源配额详细用法与应用实战

在Kubernetes环境中,随着应用的增长和团队的增加,如何有效地管理和隔离资源变得尤为重要。Kubernetes通过名称空间(Namespace)和资源配额(ResourceQuota)提供了一套强大的工具来支持多租户和资源管理。本教程将结合实际案例,详细介绍如何在Kubernetes中使用名称空间和资源配额。

景天科技苑 2万+

k8s篇之名称空间namespace

k8s 名称空间 namespace

m0_47293933的博客 1205

云原生系列二:如何实现跨数百个K8s集群的管理

今天就由叶秋学长带领大家学习云原生专栏系列二:如何实现跨数百个K8s集群的管理?Intuit公司成立于1983年。它以个人财经软件为主要产品。2019年10月入选《财富》杂志“2019未来50强榜单”,排第21位。截至当年,Intuit公司4大BU、30个业务部门运行了大约160个K8s集群,大约5400个名称空间,每天要进行1300次的部署。那么他是如何做到,今天我们做一个简单的讲解。首先就是为什么Intuit公司要划分如此多的集群?他们希望在不同的业务部门之间实现隔离,并且各业务部门能够拥有自主权;其次

退役复学在校大学生,目光所至,皆为华夏 5581

WinInet 编程:MFC 中的互联网编程

WinInet 是一套 Windows API(应用程序编程接口),用于实现互联网应用程序的网络通信和数据传输。WinInet 抽象了底层网络协议和硬件细节,为程序员提供了一套统一的接口,简化了互联网应用程序的开发过程。WinInet 广泛应用于各种 Windows 应用程序中,包括网页浏览器、下载管理器、网络游戏等。MFC WinInet 是一套强大的类库,为 MFC 程序员提供了在 Windows 平台上实现互联网通信和数据传输的工具。

JAZJD的博客 1638

Kubernetes中名称空间的作用?如何创建Namespace名称空间并使用?名称空间如何定义资源配额

Kubernetes中名称空间的作用?如何创建Namespace名称空间并使用?名称空间如何定义资源配额

soso678的博客 650

嵌入式工程师必看:BLDC电机驱动电路设计全流程(附MOS管选型指南)

本文为嵌入式工程师提供了BLDC电机驱动电路设计的全流程实战指南。文章深入解析了三相全桥逆变电路的核心原理,并重点阐述了功率MOSFET的选型关键参数,如Vds、Rds(on)和Qg。同时,详细介绍了栅极驱动设计、PCB布局布线要点及调试安全步骤,旨在帮助开发者构建稳定高效的BLDC驱动系统。

weixin_29194817的博客 588

apache-pulsar-2.10.0集群复制详解

​ Geo-Replication,字面理解就是跨网段的数据中心间的实时数据备份,所以主要应用一般也是指物理上跨区域的数据中心间的实时数据备份,实现容灾备份和灾难恢复;基于Geo-Replication,还可以衍生出很多应用场景;​ 相关内容更系统的可以去看pulsar官网的内容(下面两个链接,第一个是介绍些概念,第二个说基本操作):​ https://pulsar.apache.org/docs/next/concepts-replication​ .........

u010782920的博客 1032

STM32 USART高级功能全解析:IrDA、DMA、硬件流控与低功耗唤醒

USART是嵌入式系统中最基础的串行通信外设,其核心原理在于同步/异步时序控制与数据帧收发机制。现代MCU如STM32通过深度集成IrDA调制解调、DMA直传通道、RS232/RS485硬件流控及Stop模式唤醒等扩展能力,显著提升通信可靠性、吞吐效率与能效比。其中,IrDA SIR采用RZI编码实现抗干扰红外传输,DMA通过TXE/RXNE事件驱动实现零CPU干预的连续数据流,而硬件流控(RTS/CTS/DE)和低功耗唤醒(WUF+UESM)则分别保障工业现场鲁棒性与电池级超长待机。本文围绕STM32平台

weixin_28922227的博客 211

【DSP】【工程实战】从零构建C6678多核工程:CCS环境配置与启动模式详解

本文详细介绍了在CCS开发环境中从零构建TMS320C6678多核DSP工程的完整流程。内容涵盖KeyStone架构解析、工程创建、基础代码编写、链接命令文件配置、仿真器调试,并重点深入讲解了包括I2C EEPROM在内的多种一级启动模式原理与配置方法,为开发者提供了一套清晰、可复用的实战指南。

weixin_29164185的博客 419

K8S名称空间和资源配额

K8S名称空间和资源配额

周十一的技术博客 964

基于LSTM的多变量温度预测(python从入门到入坑)

基于LSTM的多变量温度预测(python) ——我保证他能够运行,而且结果能够让你满意(如果你和我一样都是一个新手的话) 这里写目录标题基于LSTM的多变量温度预测(python)——我保证他能够运行,而且结果能够让你满意(如果你和我一样都是一个新手的话)一、我为什么要写这些?二、具体做了什么?三、源代码切块加注释,恳请批评指正(●’◡’●)ノ 一、我为什么要写这些? 因为让人抓狂的课程大作业,我小组选择了一个多变量预测方面的课题,在我这个大三基本上还没接触过Python数据处理,甚至对神经网络什么的都

代码之狐的博客 1万+

八. Kubernetes 名称空间与隔离

【代码】八. Kubernetes 名称空间与隔离。

qq_29799655的博客 710

STC8单片机高精度EV1527解码实战:定时器捕获+状态机抗干扰方案

EV1527是一种广泛应用于433MHz无线遥控的曼彻斯特编码协议,其核心在于对脉宽时序(如同步头、逻辑0/1)的微秒级精确识别。传统外部中断+延时判别方式受MCU中断延迟、编译优化及环境噪声影响,极易导致误码;而基于硬件定时器输入捕获的解码方案,将时间测量交由硬件完成,显著提升时序鲁棒性与温度/电压适应性。该技术适用于STC8等无专用无线解码外设的8位单片机,在智能开关、晾衣架、车库门控等IoT终端中实现低至0.003%的稳定误码率。本文聚焦STC8H系列利用T1定时器下降沿捕获与有限状态机协同解码EV1

weixin_29188997的博客 181

SKUA-GOCAD入门教程-第八节 线的创建与编辑7和8

本文介绍了曲线编辑操作的主要功能,包括曲线部分和区域的管理操作。在曲线部分操作方面,详细说明了如何合并、删除、移动和过滤曲线部分,支持精确或带公差的合并方式。在曲线区域操作方面,阐述了保留/删除区域点、移动区域点、保留/删除区域线段等操作。此外还介绍了节点连接功能,包括新增/删除连接、端点连接以及为曲线赋予地质特征的方法。

江洋大葱的博客 390

05_Pulsar的主要组件介绍与命令使用、名称空间、Pulsar的topic相关操作、Pulsar Topic(主题)相关操作_高级操作、

多租户是一种架构,目的是为了让多用户环境下使用同一套程序,且保证用户间数据隔离。简单讲:在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。Apache Pulsar 最初诞生于雅虎,当时就是为了解决雅虎内部各个部门之间数据的协调,所以多租户特性显得至关重用,Pulsar 从诞生之日起就考虑到多租户这一特性,并在后续的实现过程中,将其不断的完善。多租户这一特性,使得各个部门之间可以共享同一份数据,不用单独部署独立的系统来操作数据,很好的保证了各部门间数据一致性的问题,同时简化维护成本。

涂作权的博客 2052

YOLOv12涨点改进| Kimi团队 2026 |独家创新首发、注意力改进篇|爆火AttnRes残差自注意力模块,含多种创新改进,借助残差思想,缓解细节信息在传播过程中被稀释,促进YOLOv12涨点

🔥本文提出AttnRes残差自注意力模块改进YOLOv12模型,通过深度维度的注意力加权机制替代传统固定残差累加方式。该模块能自适应选择更有价值的历史层特征进行聚合,缓解浅层信息在深层传播中被稀释的问题,提升小目标和复杂场景的检测能力。文章详细介绍了模块结构、原理及优势,并提供了完整的代码实现和配置方法,包括三种改进方案:yolov12n_AttnRes.yaml、yolov12n_AttnRes-2.yaml和yolov12n_A2C2f_AttnRes2D.yaml。

Ai缝合怪、助力小伙伴高效发论文 183

Kubernetes基本入门-集群资源(二)

资源 在kubernetes中包含很多中类型的资源,所有内容都可以抽象为资源,资源实例化之后称为对象。资源按照不同的类型可以划分为集群类、名称空间类、元数据类资源。 集群级资源 集群级别的资源是所有名称空间之间可以共享的资源。 Namespace Kubernetes中,名称空间(Namespace)提供一种机制,将同一集群中的资源划分为相互隔离的组。 同一名称空间内的资源名称要唯一。名称空间作...

starsray的博客 930

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

如何整合springSession实现session共享

如何整合springSession实现session共享

wang20010104的博客 1747

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

2020/05/14 dashboard插件详解及k8s实战交付2

4.10 部署zk集群 实验架构 第一步先部署zookeeper 需要三台主机跑zk 应该下载tar.gz二进制包 创建/usr/java,解压到usr/java !在这里插入图片描述 要设置环境变量 现在11上环境就有了 安装12上的jdk环境 21这台主机也顺便做下 11,12,21都在src里,要去安装zookeeper软件,也是用二进制方法去部署 zookeeper本身是阿帕奇基金会开源的,tar.gz就是二进制包 解压到opt下, 制作 .

qq_42227818的博客 905

存储卷基础,初始化容器,名称空间,Kuboard及静态Pod技术实战

摘要:本文介绍了Kubernetes中Pod容器数据持久化的两种方案:emptyDir和DownwardAPI。emptyDir用于Pod内多容器间临时数据共享,数据随Pod删除而丢失;DownwardAPI则将Pod元数据注入容器,支持环境变量和Volume挂载两种方式。文章详细演示了emptyDir的配置使用、多容器共享验证,以及DownwardAPI通过环境变量获取Pod信息的实现方法,包括metadata字段和资源限制的引用方式。这些方案为容器化应用提供了灵活的数据管理和元数据访问能力。

日常分享linux运维知识 2485

Kubernetes基础操作,最细教程

文章目录集群操作--查看集群信息查看各组件信息:创建名称空间发布第一个容器化应用**实战绑定node节点**node直接配置解析共享进程名称空间共享宿主机定义pod开机运行指令 集群操作–查看集群信息 1.查看集群信息: [root@kub-k8s-master ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION kub-k8s-master Ready master 16h v1.16.1 kub-

mingqing的博客 1483

如何使用 Lens 仪表板可视化您的 Kubernetes 集群

Lens是一个高级开源 Kubernetes 仪表板,可提供集群的图形视图。与其他仪表板不同,Lens 是一个基于 Electron 的桌面应用程序,您可以将其安装在您的机器上。它使用您现有的 Kubeconfig 文件连接到您的集群。 获取版本 预编译的 Lens 二进制文件可从项目网站 获得。有适用于 Windows、macOS 和多种 Linux 版本的选项。您可以从 Debian、Fedora、Snap 和 AppImage 分发格式中进行选择。 下载并运行相应的安装程序。从操作系统的应用程序列.

学海无涯苦作舟的博客 4427

WebSphere MQ 集群设计和操作

任务:消息: WebSphere MQ 集群设计和操作 集群健康检查 作为 IBM WebSphere MQ 的专业顾问,经常有人打电话叫我过去诊断和解决产品宕机问题,并且常常是紧急的问题。在大部分情况下,不健康的集群是问题的根源。由于具有这方面的经验,我能够识别受损系统中经常出现的问题,并且总结了一些能够避免这些问题并保持集群健康的建议。 当然,WebSpher...

pengfeicao521的专栏 1180
上一篇: 名称和命名空间
下一篇: k8s 标签和选择器
过去日记
过去日记 新星创作者: 后端开发技术领域 新星创作者: 后端开发技术领域
博客等级 码龄3年 5342粉丝 225原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

过去日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值