当前位置: 首页 > news >正文

❄️5. Kubernetes核心资源之名称空间和Pod实战

**什么是名称空间Namespace: **

  • Namespace是k8s系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多用户的资源隔离
  • 默认情况下,k8s集群中的所有的Pod都是可以相互访问的。
  • 但是在实际中,可能不想让两个Pod之间进行互相的访问,那此时就可以将两个Pod划分到不同的namespace下。
  • k8s通过将集群内部的资源分配到不同的Namespace中,形成逻辑上的"组",以方便不同的组的资源进行隔离使用和管理。
  • 可以通过k8s的授权机制,将不同的namespace交给不同租户进行管理,这样就实现了多租户的资源隔离。
  • 结合k8s的资源配额机制,限定不同租户能占用的资源,例如CPU使用量、内存使用量等等,来实现租户可用资源的管理。

Kubernetes 会创建四个初始NameSpace名称空间:

  • default
    • 没有指明使用其它名字空间的对象所使用的默认名字空间
  • kube-system
    • Kubernetes 系统创建对象所使用的名字空间
  • kube-public
    • 是自动创建的,命名空间下的资源可以被所有人访问(包括未认证用户)
  • kube-node-lease
    • 集群节点之间的心跳维护

查看所有命名空间: kubectl get namespace 缩写: kubectl get ns
命名空间操作:

# 创建新命名空间kubectl create ns dev# 查看命名空间详情  kubectl describe ns dev# 指定输出格式  命令:kubectl get ns ns名称  -o 格式参数, 常见的是wide、json、yaml
# 输出命名空间详细信息kubectl get ns dev -o yaml# 删除命名空间kubectl delete ns dev# 基于配置文件方式 namespace-dev.yamlapiVersion: v1
kind: Namespace
metadata:name: dev创建:kubectl create -f namespace-dev.yaml创建:kubectl apply -f namespace-dev.yaml删除:kubectl delete -f namespace-dev.yaml
  • 自主创建:直接创建出来的Pod,这种pod删除后就没有了,也不会自动重建
  • 控制器创建:通过控制器创建的pod,这类Pod删除了之后还会自动重建

Pod运行容器数量

  • 每个Pod中一个容器,,Pod是容器的简单封装,K8S管理Pod而不是直接管理容器
  • 一个Pod中同时运行多个需要互相协作的容器,它们共享资源

Pod网络

  • 一个 pod 包含一组容器,一个 pod 不会跨越多个工作节点
  • 每个Pod都会被分配一个唯一的IP地址,Pod中的所有容器共享网络空间
  • 包括IP地址和端口, Pod内 部的容器可以使用localhost互相通信

Pod存储

  • Volume 也可以用来持久化Pod中的存储资源,以防容器重启后文件丢失
  • Pod中 的所有容器都可以访问共享的Volume

**命令: **

kubectl get pod -n kube-system#查看创建的资源
kubectl get pod,deploy # 删除nginx pod,如果是靠deploy控制器创建的pod, 直接删除则会自动创建新的;
kubectl delete pod pod名称 -n 名称空间#通过控制器创建pod,则删除控制器即可
kubectl delete pod控制器名称 -n 名称空间# 运行pod,指定名称空间
kubectl run xdclass-nignx-pod --image=nginx:1.23.0 --port=80 --namespace dev# 通过 deployment控制器导出yaml文件,指定名称空间
kubectl create deployment xdclass-nginx --image=nginx:1.23.0 --namespace dev -o yaml --dry-run=client > nginx.yaml#一次性部署3个pod,修改nginx.yaml 下面的从 1 改为 3
#使用 kubectl apply -f nignx.yaml
spec:replicas: 3

**访问: **

#查看某个名称空间下 pod 更多信息
kubectl get pod -n dev -o wide#访问pod,同个集群下面,master和node节点都可以访问(同个K8S内部网络)
curl 10.244.1.20#备注,如果使用了Service,即NodePort端口,开放了网络安全组则外网也可以访问

LabelSelector标签选择器:

**操作: **

# 通过 deployment控制器导出yaml文件,指定名称空间
kubectl create deployment xdclass-nginx --image=nginx:1.23.0 --namespace dev -o yaml --dry-run=client > nginx.yaml#命令默认不会列出任何标签
kubectl get pods # 使用 --show-labels 选项来查看
kubectl get pod -n dev --show-labels # 查看 deploy控制器标签
kubectl get deploy -n dev --show-labels# 查看 pod 标签
kubectl get pod -n dev --show-labels
# 查看node节点标签
kubectl get node  --show-labels#给Pod资源打标签
kubectl label pod pod名称 -n dev version=1.0例子:kubectl label pod xdclass-nginx-859bdb9994-kglj8 -n dev version=1.0#给Pod资源更新标签
kubectl label pod pod名称 -n dev version=2.0 --overwrite
例子:kubectl label pod xdclass-nginx-859bdb9994-kglj8 -n dev version=2.0 --overwrite#使用标签选择器
kubectl get pod -l "version=2.0" -n dev --show-labels
kubectl get pod -l "version!=2.0" -n dev --show-labels#删除标签 语法 kubectl label pod pod名称 -n dev 标签名-
kubectl label pod pod名称 -n dev version-
例子kubectl label pod xdclass-nginx-859bdb9994-kglj8 -n dev version-

NodeSelector标签选择器实战:

**配置文件: **

apiVersion: v1
kind: Pod
metadata:name: xdclass-nginx
spec:containers:- name: nginximage: nginx:1.23.0imagePullPolicy: IfNotPresentnodeSelector:env: test

**操作: **

# 查看node节点标签
kubectl get node  --show-labels#创建pod
kubectl apply -f nginx.yaml#查看pod资源
kubectl get pod # 当Pod 一直处于 Pending 状态时,说明该 Pod 还未被调度到某个节点上
# Pod 中 nodeSelector 指定了节点 Label,调度器将只考虑调度 Pod 到包含该 Label 的 Node 上
# 当不存在符合该条件的 Node 时,Pod 将无法被调度#给Node资源打标签,不能给master打标签
kubectl label node node名称 env=testkubectl label node izwz90pegu9budx5tk4rv0z env=test#删除 node的标签 kubectl label node 删除指定的labels(标签 key 接 - 号即可)
kubectl label node node名称 env-kubectl label node izwz90pegu9budx5tk4rv0z env-

相关文章:

❄️5. Kubernetes核心资源之名称空间和Pod实战

**什么是名称空间Namespace: ** Namespace是k8s系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多用户的资源隔离。默认情况下,k8s集群中的所有的Pod都是可以相互访问的。但是在实际中,可能不想让两个Pod之间进行互…...

锂电池充电板电路设计

写这篇文章的目的主要是个人经验的总结,希望能给开发者们提供一种锂电池充电电路以及电源显示的电路思路。接下来从以下几个方面讲述电路。 设计这款电路的初衷是想用一块硬币大小的锂电池作为供电电源(3.5V-4.2V),降压供给3.3V电…...

工业互联网产教融合实训基地解决方案

一、引言 随着“中国制造2025”战略的深入实施与全球工业4.0浪潮的兴起,工业互联网作为新一代信息技术与制造业深度融合的产物,正引领着制造业向智能化、网络化、服务化转型。为培养适应未来工业发展需求的高素质技术技能人才,构建工业互联网…...

高效批量提取PPT幻灯片中图片的方法

处理包含大量图片的PPT(PowerPoint)幻灯片已成为许多专业人士的日常任务之一。然而,手动从每张幻灯片中逐一提取图片不仅耗时耗力,还容易出错。为了提升工作效率,减少重复劳动,探索并实现一种高效批量提取P…...

怎么在 React Native 应用中处理深度链接?

深度链接是一种技术,其中给定的 URL 或资源用于在移动设备上打开特定页面或屏幕。因此,深度链接可以引导用户到应用程序内的特定屏幕,而不仅仅是启动移动设备上的应用程序,从而提供更好的用户体验。这个特定的屏幕可能位于一系列层…...

el-table自动滚动到最底部

我的需求是这样的,因为我的表格是动态的,可以手动新增行,固定表头,而且需要一屏显示,为了方便用户就需要再新增的时候表格自动向上滚动。 差了官方文档后发现有一个属性可以支持 这个属性正是自己需要的,所…...

小白零基础学数学建模系列-引言与课程目录

目录 引言一、我们的专辑包含哪些内容?第一周:数学建模基础与工具第二周:高级数学建模技巧与应用第三周:机器学习基础与数据处理第四周:监督学习与无监督学习算法第五周:神经网络 二、学完本专辑能收获到什…...

Integer类型比较是 == 还是equals()

在Java编程中,判断两个Integer对象是否相等时,我们经常遇到使用和equals()方法的选择问题。这两个操作符和方法在判断对象相等性时有所不同,理解它们的区别对于编写健壮的代码至关重要。 使用判断Integer相等性 在Java中,操作符…...

七夕情人节送什么礼物?看完这篇你就知道了

在这个充满爱意的时刻,送上一份精心挑选的礼物,不仅能表达你的爱意,更能加深彼此之间的情感联系。然而,选择一份合适的情人节礼物并非易事,因为每个人都有其独特的需求和喜好。如果你还在为情人节送什么礼物而纠结&…...

让B站直接变成一个纯粹的音乐平台的简单小方法

可能在大多数人眼里,B站就是一个内容丰富的高质量视频平台 但实际上B站还是一个“音乐平台”,只不过大多数时候都是以视频的形式呈现,所以你们可能对此没啥感觉。 那么今天给大家分享一款神级插件,让B站变成一个纯粹的音乐平台&a…...

【MySQL 01】在 Ubuntu 22.04 环境下安装 MySQL

文章目录 🌈 1. 说明🌈 2. 卸载不必要的环境🌈 3. 安装 MySQL🌈 4. 启动和关闭 MySQL 服务🌈 5. 临时登录 MySQL🌈 6. 设置 MySQL 密码🌈 7. 配置 MySQL 🌈 1. 说明 在安装与卸载中…...

linux命令 根据某一字段去掉txt中重复的数据

前提: 文档为格式化好的数据。比如一行是一个json。 判断总共有多少行数据: grep No f.txt | wc -l 查询重复数据有多少行: grep No f.txt | sort -u | wc -l 找到重复的那行数据:(如果每行的json数据大,可忽略此操…...

LVS(Linux virual server)

一:环境准备: rhel9 软件:httpd, ipvsadm 四台纯净的rhel9机子:一台LVS调度设备(双网卡),两台webserver(单网卡仅主机),一台客户机 DR模式多…...

End-to-End Object Detection with Transformers(Detection Transformer)翻译

摘要 我们提出了一种新方法,将目标检测视为直接的集合预测问题。我们的方法简化了检测流程,有效消除了对许多手工设计组件的需求,如非极大值抑制过程或锚框生成,这些组件显式编码了我们对任务的先验知识。新框架称为检测变换器&a…...

uniapp打开地图直接获取位置

uniapp官网文档 https://en.uniapp.dcloud.io/api/location/open-location.html <view class"map-content" click.stop"kilometer(item)"><view class"km">{{item.distance||0}}km</view></view>import map from ../../…...

Qt的事件处理机制、信号和槽以及两者之间的区别

Qt的事件处理机制 Qt 的事件处理机制是其框架的核心部分之一&#xff0c;用于处理用户操作、系统事件以及其他各种事件。以下是 Qt 事件处理机制的关键组成部分和流程&#xff1a; 事件对象 (QEvent)&#xff1a; 所有事件在 Qt 中都是通过事件对象来表示的。QEvent 是所有事…...

LSTM实战之预测股票

&#x1f4c8; 用PyTorch搭建LSTM模型&#xff0c;轻松预测股票价格&#xff01;&#x1f680; Hey小伙伴们&#xff0c;今天给大家带来一个超级实用的项目教程——如何用PyTorch和LSTM模型来预测股票价格&#xff01;&#x1f31f; &#x1f50d; 项目背景 我们都知道股市是…...

30-50K|抖音大模型|社招3轮面经

情况介绍&#xff1a;我主要做nlp&#xff0c;也涉及到多模态和强化学习。现在大环境比较差&#xff0c;能投的公司不是很多&#xff0c;比如腾讯&#xff0c;主要还是高级别的&#xff0c;所以腾讯我就没投 抖音一面 1、聊项目。 2、AUC的两种公式是&#xff1f;你能证明这…...

ChatGPT首次被植入人类大脑:帮助残障人士开启对话

马斯克在脑机接口中最强大的竞争对手Synchron有了新的技术进展&#xff0c;他们首次将ChatGPT整合到其脑机系统中&#xff0c;以使瘫痪患者更容易控制他们的数字设备。Synchron凭借其独特的脑机接口&#xff08;BCI&#xff09;技术脱颖而出&#xff0c;该技术巧妙地运用了成熟…...

数据结构-常见排序的七大排序

1.排序的概念及其运用 1.1排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景

Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知&#xff0c;帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量&#xff0c;能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度&#xff0c;还为机器人、医疗设备和制造业的智…...

智能职业发展系统:AI驱动的职业规划平台技术解析

智能职业发展系统&#xff1a;AI驱动的职业规划平台技术解析 引言&#xff1a;数字时代的职业革命 在当今瞬息万变的就业市场中&#xff0c;传统的职业规划方法已无法满足个人和企业的需求。据统计&#xff0c;全球每年有超过2亿人面临职业转型困境&#xff0c;而企业也因此遭…...