k8s基础(1)—Kubernetes-Pod
一、Pod简介
Pod是Kubernetes(k8s)系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型。Pod是由一个或多个容器组成的,这些容器共享存储和网络资源,可以看作是一个逻辑的主机。
Pod的基本概念和功能
- 资源共享:Pod内的多个容器可以共享存储(Volume)和网络IP地址。这种共享是通过一个名为pause容器的基础容器来实现的,pause容器与业务容器没有直接关系,但其状态代表整个Pod的状态。
- 容器间通信:Pod内的容器共享网络接口和IPC命令空间,因此它们可以直接通信和共享文件。这种设计简化了容器间的交互和协调。
- 调度和管理:Pod是通过Kubernetes调度器调度到工作节点上运行的。Pod的创建和管理通常由控制器(如Deployment或StatefulSet)进行,这些控制器负责按需创建和删除Pod实例,以实现应用的水平扩展。
Pod的使用场景和优势
- 应用部署:Pod是运行应用的最小单位。如果需要水平扩展应用(例如,运行多个实例),则应使用多个Pods,每个实例一个Pod。这种设计使得应用的扩展和管理变得更加灵活和高效12。
- 紧密耦合的服务:当多个容器需要紧密耦合、互相协作时,可以将它们放在同一个Pod中。例如,一个主服务容器和一个用于日志收集的“sidecar”容器可以共享存储和网络资源。
- 简化管理:通过Pod管理多个容器,简化了容器的生命周期管理和资源分配。Pod提供了一个统一的资源管理界面,使得资源的分配和使用更加高效和灵活。
二、Pod创建和删除
(一) 使用命令行创建和删除
#创建mynginx podkubectl run mynginx --image=nginx#使用命令行删除podkubectl delete pod mynginx#查看启动pod时的具体信息kubectl describe pod mynginx#查看Pod运行日志kubectl logs pod名称#每个pod k8s都会给它分配一个IP,保证每一个pod都可以被访问到kubectl get pod dashboard-metrics-scraper-7fc7cd8b6-bgz9r -owide -n kubernetes-dashboard#配置pod的网络kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard#进入到nginx的控制台中kubectl exed -it mynginx -- /bin/bash#使用yaml文件创建mynginx pod
vim createPod.yaml
apiVersion: v1
kind: Pod
metadata:labels:run: mynginxname: mynginx
spec:containers:- image: nginxname: mynginx#启动pod
kubectl apply -f createPod.yaml
(二) 使用dashboard可视化页面创建和删除
1、指定NameSpace创建pod的方法
方法一:直接选择制定的标签
方法二:在yaml配置中添加namespace标签
apiVersion: v1
kind: Pod
metadata:labels:run: mynginxname: mynginxnamespace: default
spec:containers:apiVersion: v1
kind: Pod
metadata:labels:run: mynginxname: mynginxnamespace: default
spec:containers:- image: nginxname: mynginx- image: nginxname: mynginx
2、在dashborad上删除pod
3、进入容器终端dashboard操作和命令行操作
3.1、命令行操作
#进入testnginx容器的终端 kubectl exec -it testnginx -- /bin/bash
3.2、在dashbaord页面进行上述操作
(三) 一个pod有多个应用的写法
apiVersion: v1
kind: Pod
metadata:labels:run: myappname: myappnamespace: default
spec:containers:- image: nginxname: nginx- image: tomcat:8.5.68name: tomcat
三、Pod启动部署问题解决
(一) 出现cni网络问题处理方法
如下报错:
处理方法:
$ mv /etc/containerd/config.toml{,.bak}
$ systemctl restart containerd#如果这一步不管用;从节点上也执行如下(首先先将主机点上的$HOME/.kube/config复制到从节点)
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
(二) 同一个pod中同时存在多个应用之间互相访问方法和资源存储分布情况
同一个pod中的应用共享网络空间和存储,如nginx访问tomcat只需要访问127.0.0.1:8080 即可
相关文章:

k8s基础(1)—Kubernetes-Pod
一、Pod简介 Pod是Kubernetes(k8s)系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型。Pod是由一个或多个容器组成的,这些容器共享存储和网络资源,可以看作是一个逻辑的主机。…...
iOS - 数组的真实类型
1. NSArray 类簇 // 1. __NSArray0 (空数组) NSArray *empty [];// 2. __NSArrayI (不可变数组) NSArray *immutable [1, 2, 3];// 3. __NSArrayM (可变数组) NSMutableArray *mutable [NSMutableArray array];// 4. __NSSingleObjectArrayI (单元素数组) NSArray *single …...
k8s启动报错
执行kubeadm init --image-repository registry.aliyuncs.com/google_containers 出现如下结果: [api-check] The API server is not healthy after 4m0.000885686s Unfortunately, an error has occurred: context deadline exceeded This error is likely caused by:…...
git:指令集
以下是对这些 Git 新特性和命令的更详细解读和实际用例分析,帮助更好地理解它们的作用及适用场景: 1. git switch 和 git restore 背景: 传统上,git checkout 是一个多功能命令,用于切换分支、检出文件、创建分支等&…...
自闭症家庭:建立支持系统与平衡生活
在自闭症家庭的世界里,每一天都充满了挑战与希望。自闭症,这一复杂的神经发育障碍,不仅影响着孩子的成长轨迹,也对整个家庭的生活方式产生了深远的影响。面对这一挑战,许多家庭都在努力寻找有效的支持系统和平衡生活的…...

html+css+js网页设计 美食 美食天下2个页面(里面包含php和mysql)
htmlcssjs网页设计 美食 美食天下2个页面(里面包含php和mysql) 网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编…...
高阶知识库搭建实战七、(知识库雏形开发:qianwen-plus+Faiss)(练习推荐)
构建知识库:结合Faiss和qianwen-plus大模型的实践 环境搭建参考前面几篇文章:基础环境搭建、Faiss向量数据库安装 在当今信息爆炸的时代,如何高效地管理和检索海量知识成为了一个重要课题。知识库的构建为我们提供了一种有效的解决方案,它能够将分散的信息整合起来,方便…...

麒麟服务器安装kafka--亲测
我这安装的是单机版本的: 下载地址:Index of /kafka/3.9.0 我下载的是:https://dlcdn.apache.org/zookeeper/zookeeper-3.9.3/apache-zookeeper-3.9.3-bin.tar.gz https://dlcdn.apache.org/kafka/3.9.0/kafka_2.12-3.9.0.tgz 一、下载并上…...

微机——8086微处理器的数据传送指令
目录 数据传送指令: 通用数据传送指令: MOV指令: 堆栈操作指令: PUSH指令: POP指令: 交换指令XCHG: XCHG指令: 换码指令XLAT: 换码指令XLAT: 8086 …...
vue3中onUpdated钩子函数和nextTick的具体使用场景和区别
在 Vue 3 中,onUpdated 钩子函数和 nextTick 方法都用于处理 DOM更新后的操作,但它们的使用场景和触发时机有所不同。以下是它们的具体使用场景和区别,结合代码示例进行解释: onUpdated 钩子函数 使用场景:适用于需要…...

colnames看似简单,却能优化数据处理流程
引言 在数据处理和分析中,变量名称是至关重要的,它们决定了数据的可读性和操作的简便性。在R语言中,colnames 函数以其简单的语法设计,提供了高效管理数据框列名的能力,尤其是在复杂的爬虫任务中显得尤为重要。本篇文…...
欧几里得距离在权重矩阵中的物理意义
欧几里得距离在权重矩阵中的物理意义 目录 欧几里得距离在权重矩阵中的物理意义**衡量神经元差异程度**:**反映模型变化程度**:**聚类和分组的依据**:自然语言处理中的模型更新:**神经网络聚类分组**:欧几里得距离在权重矩阵中的物理意义衡量神经元差异程度: 在神经网络中…...

AI编程辅助开发网站
咋用AI工具快速鼓捣出个网站? 咱都知道,现在这年月,干啥都讲究个效率,做网站更是如此。好在有了那些AI小帮手,不管你是专业搞开发的老手,想让活儿干得更快些,还是从没做过网站的小白࿰…...

「Mac畅玩鸿蒙与硬件53」UI互动应用篇30 - 打卡提醒小应用
本篇教程将实现一个打卡提醒小应用,通过用户输入时间进行提醒设置,并展示实时提醒状态,实现提醒设置和取消等功能。 关键词 打卡提醒状态管理定时任务输入校验UI交互 一、功能说明 打卡提醒小应用包含以下功能: 提醒时间输入与…...

基于单片机洗衣机控制器的设计(论文+源码)
1需求分析 在智能洗衣机系统设计中,考虑到洗衣机在实际应用过程中,需要满足用户对于不同衣物清洁、消毒的应用要求,对设计功能进行分析,具体如下: 通过按键实现洗衣机不同工作模式的切换,包括标准模式&…...

【Git系列】解析与解决Git错误:RPC失败;curl 56 OpenSSL SSL_read: error:140943FC
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
[Unity Shader] 【游戏开发】Unity基础光照1-光照模型原理
在计算机图形学中,渲染是一个复杂的过程,包含了两个主要部分:决定一个像素的可见性和计算该像素的光照。其中,光照模型是渲染过程中的核心部分,它模拟了真实世界中的光与物体表面的交互,帮助生成最终的图像。在Unity等游戏引擎中,理解光照模型的原理是创建真实感视觉效果…...

基于Python 的宠物管理系统(源码+部署)
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...
console.log封装
console.log封装 在控制台中打印带有颜色和格式的日志信息。 /*** 检查给定的对象是否为数组*/ const isArray function (obj: any): boolean {return Object.prototype.toString.call(obj) [object Array] }/*** Logger 构造函数*/ Logger () > {}/*** 根据日志类型返回…...

戴尔/Dell 电脑按什么快捷键可以进入 Bios 设置界面?
BIOS(基本输入输出系统)是计算机硬件与操作系统之间的桥梁,它负责初始化和测试系统硬件组件,并加载启动操作系统。在某些情况下,如调整启动顺序、更改系统时间或日期、修改硬件配置等,您可能需要进入BIOS进…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...

PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...

恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...

云原生安全实战:API网关Envoy的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口,负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...

ABAP设计模式之---“Tell, Don’t Ask原则”
“Tell, Don’t Ask”是一种重要的面向对象编程设计原则,它强调的是对象之间如何有效地交流和协作。 1. 什么是 Tell, Don’t Ask 原则? 这个原则的核心思想是: “告诉一个对象该做什么,而不是询问一个对象的状态再对它作出决策。…...