02 基本介绍及Pod基础排错
01 yaml文件里的字段错误
# 多打了一个i导致的报错
[root@master01 yaml]# cat 01-pod.yaml
apiVersion: v1
kind: Pod
metadata:name: likexy
spec:contaiiners:- name: aaaimage: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1
[root@master01 yaml]# kubectl apply -f 01-pod.yaml
error: error validating "01-pod.yaml": error validating data: [ValidationError(Pod.spec): unknown field "contaiiners" in io.k8s.api.core.v1.PodSpec, ValidationError(Pod.spec): missing required field "containers" in io.k8s.api.core.v1.PodSpec]; if you choose to ignore these errors, turn validation off with --validate=false
02 重复创建资源
[root@master01 yaml]# kubectl apply -f 02-network.yaml
The Pod "likexy" is invalid: spec: Forbidden: pod updates may not change fields other than `spec.containers[*].image`, `spec.initContainers[*].image`, `spec.activeDeadlineSeconds`, `spec.tolerations` (only additions to existing tolerations) or `spec.terminationGracePeriodSeconds` (allow it to be set to 1 if it was previously negative)core.PodSpec{Volumes: {{Name: "kube-api-access-cm7wz", VolumeSource: {Projected: &{Sources: {{ServiceAccountToken: &{ExpirationSeconds: 3607, Path: "token"}}, {ConfigMap: &{LocalObjectReference: {Name: "kube-root-ca.crt"}, Items: {{Key: "ca.crt", Path: "ca.crt"}}}}, {DownwardAPI: &{Items: {{Path: "namespace", FieldRef: &{APIVersion: "v1", FieldPath: "metadata.namespace"}}}}}}, DefaultMode: &420}}}},InitContainers: nil,Containers: []core.Container{{
- Name: "b",
+ Name: "aaa",Image: "registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1",Command: nil,... // 4 identical fieldsEnv: nil,Resources: {},
- VolumeMounts: nil,
+ VolumeMounts: []core.VolumeMount{
+ {
+ Name: "kube-api-access-cm7wz",
+ ReadOnly: true,
+ MountPath: "/var/run/secrets/kubernetes.io/serviceaccount",
+ },
+ },VolumeDevices: nil,LivenessProbe: nil,... // 10 identical fields},},EphemeralContainers: nil,RestartPolicy: "Always",... // 5 identical fieldsAutomountServiceAccountToken: nil,NodeName: "node03",SecurityContext: &core.PodSecurityContext{
- HostNetwork: true,
+ HostNetwork: false,HostPID: false,HostIPC: false,... // 11 identical fields},ImagePullSecrets: nil,Hostname: "",... // 16 identical fields}
# 解决方案# 删除并重新创建 Pod# 修改Yaml文件
03 容器的镜像名字错误
[root@master01 yaml]# cat 02-network.yaml
apiVersion: v1
kind: Pod
metadata: name: likeixy
spec:hostNetwork: truecontainers:- name: b# image: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1image: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v100
[root@master01 yaml]# kubectl apply -f 02-network.yaml
pod/likeixy configured
[root@master01 yaml]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
likeixy 0/1 ImagePullBackOff 0 (20s ago) 8m43s 172.2.25.52 node01 <none> <none>
# 镜像名字错误,导致状态为ImagePullBackOff:镜像拉取失败
[root@master01 yaml]# kubectl describe pod likeixy
Name: likeixy
Namespace: default
Priority: 0
Node: node01/172.2.25.52
Start Time: Tue, 20 May 2025 16:00:31 +0800
Labels: <none>
Annotations: <none>
Status: Running
IP: 172.2.25.52
IPs:IP: 172.2.25.52
Containers:b:Container ID: docker://390c2930bab1c54b8275a7889226a73267951fefb78ade253b07cd32f93e1ad9Image: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v100Image ID: docker-pullable://registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps@sha256:3bee216f250cfd2dbda1744d6849e27118845b8f4d55dda3ca3c6c1227cc2e5cPort: <none>Host Port: <none>State: WaitingReason: ImagePullBackOffLast State: TerminatedReason: CompletedExit Code: 0Started: Tue, 20 May 2025 16:00:32 +0800Finished: Tue, 20 May 2025 16:08:54 +0800Ready: FalseRestart Count: 0Environment: <none>Mounts:/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-k6xv2 (ro)
Conditions:Type StatusInitialized True Ready False ContainersReady False PodScheduled True
Volumes:kube-api-access-k6xv2:Type: Projected (a volume that contains injected data from multiple sources)TokenExpirationSeconds: 3607ConfigMapName: kube-root-ca.crtConfigMapOptional: <nil>DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300snode.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:Type Reason Age From Message---- ------ ---- ---- -------Normal Scheduled 14m default-scheduler Successfully assigned default/likeixy to node01Normal Pulled 14m kubelet Container image "registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1" already present on machineNormal Created 14m kubelet Created container bNormal Started 14m kubelet Started container bNormal Killing 5m53s kubelet Container b definition changed, will be restartedNormal BackOff 5m24s (x2 over 5m52s) kubelet Back-off pulling image "registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v100"Warning Failed 5m24s (x2 over 5m52s) kubelet Error: ImagePullBackOffNormal Pulling 4m20s (x4 over 5m53s) kubelet Pulling image "registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v100"Warning Failed 4m19s (x4 over 5m53s) kubelet Failed to pull image "registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v100": rpc error: code = Unknown desc = Error response from daemon: manifest for registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v100 not found: manifest unknown: manifest unknownWarning Failed 4m19s (x4 over 5m53s) kubelet Error: ErrImagePullWarning BackOff 3m26s (x7 over 5m1s) kubelet Back-off restarting failed container
04 镜像名字格式不正确
# 这个也是镜像拉取失败,因为定义镜像名称是含有大写字母,所以报错
[root@master01 yaml]# kubectl describe pod likeixy
Name: likeixy
Namespace: default
Priority: 0
Node: node01/172.2.25.52
Start Time: Tue, 20 May 2025 16:30:25 +0800
Labels: <none>
Annotations: <none>
Status: Pending
IP: 172.2.25.52
IPs:IP: 172.2.25.52
Containers:b:Container ID: Image: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/Apps:v1Image ID: Port: <none>Host Port: <none>State: WaitingReason: InvalidImageNameReady: FalseRestart Count: 0Environment: <none>Mounts:/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-dvhcl (ro)
Conditions:Type StatusInitialized True Ready False ContainersReady False PodScheduled True
Volumes:kube-api-access-dvhcl:Type: Projected (a volume that contains injected data from multiple sources)TokenExpirationSeconds: 3607ConfigMapName: kube-root-ca.crtConfigMapOptional: <nil>DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300snode.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:Type Reason Age From Message---- ------ ---- ---- -------Normal Scheduled 72s default-scheduler Successfully assigned default/likeixy to node01Warning InspectFailed 5s (x7 over 71s) kubelet Failed to apply default image tag "registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/Apps:v1": couldn't parse image reference "registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/Apps:v1": invalid reference format: repository name must be lowercaseWarning Failed 5s (x7 over 71s) kubelet Error: InvalidImageName
05 休眠
[root@master01 yaml]# cat 02-network.yaml
apiVersion: v1
kind: Pod
metadata:name: oldboyedu-xiuxian-command
spec:hostNetwork: truecontainers:- name: c1image: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1# 修改容器的启动命令,相当于替换了Dockerfile的ENTRYPOINT指令command: ["sleep","3600"]
[root@master01 yaml]# kubectl apply -f 02-network.yaml
pod/oldboyedu-xiuxian-command created
[root@master01 yaml]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
oldboyedu-xiuxian-command 1/1 Running 0 12s 172.2.25.52 node01 <none> <none>
[root@master01 yaml]# kubectl exec -it oldboyedu-xiuxian-command -- sh
/ # ps -ef
PID USER TIME COMMAND1 root 0:00 sleep 36007 root 0:00 sh12 root 0:00 ps -ef
/ # nginx
2025/05/20 08:40:02 [notice] 13#13: using the "epoll" event method
2025/05/20 08:40:02 [notice] 13#13: nginx/1.20.1
2025/05/20 08:40:02 [notice] 13#13: built by gcc 10.2.1 20201203 (Alpine 10.2.1_pre1)
2025/05/20 08:40:02 [notice] 13#13: OS: Linux 3.10.0-1160.el7.x86_64
2025/05/20 08:40:02 [notice] 13#13: getrlimit(RLIMIT_NOFILE): 4096:4096
2025/05/20 08:40:02 [notice] 14#14: start worker processes
2025/05/20 08:40:02 [notice] 14#14: start worker process 15
2025/05/20 08:40:02 [notice] 14#14: start worker process 16
/ # ps -ef
PID USER TIME COMMAND1 root 0:00 sleep 36007 root 0:00 sh14 root 0:00 nginx: master process nginx15 nginx 0:00 nginx: worker process16 nginx 0:00 nginx: worker process17 root 0:00 ps -ef
相关文章:

02 基本介绍及Pod基础排错
01 yaml文件里的字段错误 # 多打了一个i导致的报错 [rootmaster01 yaml]# cat 01-pod.yaml apiVersion: v1 kind: Pod metadata:name: likexy spec:contaiiners:- name: aaaimage: registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1 [rootmaster01 yaml]# kubectl …...
Android Edge-to-Edge
Android Edge-to-Edge显示:开发者综合指南 一、什么是Android Edge-to-Edge Android Edge-to-Edge是一种先进的用户界面(UI)设计理念,旨在最大化利用设备的显示区域。它允许应用程序的内容延伸至屏幕的各个边缘,包…...

⼆叉搜索树详解
1. ⼆叉搜索树的概念 ⼆叉搜索树⼜称⼆叉排序树,它或者是⼀棵空树,或者是具有以下性质的⼆叉树: • 若它的左⼦树不为空,则左⼦树上所有结点的值都⼩于等于根结点的值 • 若它的右⼦树不为空,则右⼦树上所有结点的值都⼤于等于根结…...

如何使用通义灵码提高前端开发效率
工欲善其事,必先利其器。对于前端开发而言,使用VSCode已经能够极大地提高前端的开发效率了。但有了AI加持后,前端开发的效率又更上一层楼了! 本文采用的AI是通义灵码插件提供的通义千问大模型,是目前AI性能榜第一梯队…...
使用 ARCore 和 Kotlin 开发 Android 增强现实应用入门指南
环境准备 1. 工具与设备要求 Android Studio:Arctic Fox 或更高版本设备:支持 ARCore 的 Android 设备(查看支持列表)依赖库:// build.gradle (Module级) dependencies {implementation com.google.ar:core:1.35.0im…...

Android Studio Kotlin 中的方法添加灰色参数提示
在使用 Android Studio 时, 我发现使用 Java 编写方法后在调用方法时, 会自动显示灰色的参数。 但在 Kotlin 中没有显示, 于是找了各种方法最后找到了设置, 并且以本文章记录下来。 博主博客 https://blog.uso6.comhttps://blog.…...

TCP协议简介
TCP 协议 TCP(Transmission Control Protocol,传输控制协议)是互联网协议套件中的核心协议之一,位于传输层。它提供了一种可靠的、面向连接的、基于字节流的数据传输服务。TCP 的主要特点是确保数据在传输过程中不丢失、不重复&a…...

Linux学习心得问题整理(二)
day05 Linux基础入门 Linux语法解析 如何理解ssh远程连接?如何使用ssh使用远程连接服务? ssh进也称远程服务终端,常见连接方式可以包括windows和Linux两种方式 首先咱们使用windows窗口进行连接,这里就采用xshell连接工具来给大家做演示吧…...

SOC-ESP32S3部分:2-2-VSCode进行编译烧录
飞书文档https://x509p6c8to.feishu.cn/wiki/CTzVw8p4LiaetykurbTciA42nBf?fromScenespaceOverview 无论是使用Window搭建IDF开发环境,还是使用Linux Ubuntu搭建IDF开发环境,我们都建议使用VSCode进行代码编写和编译,VSCode界面友好&#x…...
数据可视化热图工具:Python实现CSV/XLS导入与EXE打包
在数据分析工作中,热图(Heatmap)是一种非常直观的可视化工具,能够清晰展示数据矩阵中的数值分布和相关性。本文将介绍如何使用Python构建一个支持CSV/XLS文件导入、热图生成并可打包为EXE的桌面应用程序。 核心功能设计 我们的热图工具将包含以下核心功能: 支持CSV和Excel…...

Python虚拟环境再PyCharm中自由切换使用方法
Python开发中的环境隔离是必不可少的步骤,通过使用虚拟环境可以有效地管理不同项目间的依赖,避免包冲突和环境污染。虚拟环境是Python官方提供的一种独立运行环境,每个项目可以拥有自己单独的环境,不同项目之间的环境互不影响。在日常开发中,结合PyCharm这样强大的IDE进行…...
使用 Terraform 创建 Azure Databricks 工作区
使用 Terraform 创建 Azure Databricks Terraform 是一种基础设施即代码(IaC)工具,允许用户通过声明式配置文件来管理和部署云资源。Azure Databricks 是一个基于 Apache Spark 的分析平台,专为数据工程和数据科学设计。通过 Terraform,可以自动化 Azure Databricks 的创…...

使用Mathematica绘制一类矩阵的特征值图像
学习过线性代数的,都知道:矩阵的特征值非常神秘,但却携带着矩阵的重要信息。 今天,我们将展示:一类矩阵,其特征值集体有着很好的分布特征。 modifiedroots[c_List] : Block[{a DiagonalMatrix[ConstantAr…...
GitHub 趋势日报 (2025年05月18日)
本日报由 TrendForge 系统生成 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日整体趋势 Top 10 排名项目名称项目描述今日获星总星数语言1TapXWorld/ChinaTextbookPDF教材。⭐ 2027⭐ 23993Roff2public-apis/public-a…...

SpringBoot-6-在IDEA中配置SpringBoot的Web开发测试环境
文章目录 1 环境配置1.1 JDK1.2 Maven安装配置1.2.1 安装1.2.2 配置1.3 Tomcat1.4 IDEA项目配置1.4.1 配置maven1.4.2 配置File Encodings1.4.3 配置Java Compiler1.4.4 配置Tomcat插件2 Web开发环境2.1 项目的POM文件2.2 项目的主启动类2.3 打包为jar或war2.4 访问测试3 附录3…...
JVM 工具实战指南(jmap / jstack / Arthas / MAT)
🔍 从诊断到定位:掌握生产级 JVM 排查工具链 📖 前言:系统故障时,如何快速定位? 无论 JVM 理论多么扎实,当线上服务出现 CPU 飙高、响应超时、内存泄漏或频繁 Full GC 时,仅靠猜测…...

基于springboot+vue的病例管理系统
开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7数据库工具:Navicat12开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9 系统展示 患者信息管理 医…...

SpringBoot(三)--- 数据库基础
目录 前言 一、MySQL 1. 关系型数据库 2.数据模型 二、SQL语句 1.DDL语句 1.1 数据库操作 1.1.1 查询数据库 1.1.2 创建数据库 1.1.3 使用数据库 1.1.4 删除数据库 1.2 表操作 1.2.1 创建表 1.2.2 约束 1.2.3 数据类型 2.DML语句 2.1 增加(insert&…...
【漫话机器学习系列】268. K 折交叉验证(K-Fold Cross-Validation)
图解 K 折交叉验证(K-Fold Cross-Validation)| 原理 数学公式 实践应用 原图作者:Chris Albon,手绘风格清晰易懂,本文基于其图解做详细扩展,适用于机器学习、深度学习初学者及进阶者参考学习。 一、什么是…...

【学习心得】Jupyter 如何在conda的base环境中其他虚拟环境内核
如果你在conda的base环境运行了jupyter lab打开了一个ipynb文本,此时选择的内核是base虚拟环境的Python内核,如果我想切换成其他conda虚拟环境来运行这个文件该怎么办?下面我们试着还原一下问题,并且解决问题。 【注】 这个问题出…...

【Boost搜索引擎】构建Boost站内搜索引擎实践
目录 1. 搜索引擎的相关宏观原理 2. 正排索引 vs 倒排索引 - 搜索引擎具体原理 3. 编写数据去标签与数据清洗的模块 Parser 去标签 编写parser 用boost枚举文件名 解析html 提取title 编辑 去标签 构建URL 将解析内容写入文件中 4. 编写建立索引的模块 Index 建…...
学习VS2022离线安装包的下载方法
VS2022企业版、专业版和社区版都支持在线安装和离线安装两种方式,一般而言,联网的电脑基本都用在线安装,上网不方便时就需要使用离线安装包安装。完整的VS2022离线安装包有几十个G(前几天测试时下载VS2022企业版包含所有组件的中文…...
前端开发中的AI辅助测试:从手动到智能的转变
🧪 前端开发中的AI辅助测试:从手动到智能的转变 👤 作者:喜葵 📅 更新时间:2025-05-16 📖 前言 前端测试一直是开发流程中的痛点:写测试代码耗时、维护成本高、覆盖率难提升。随着A…...

Nginx配置记录访问信息
文章目录 方法一:使用Nginx原生配置记录访问信息方法二:使用Nginx_headers_more模块记录更加详细的信息 Nginx被广泛应用于各种场景如:Web服务器、反向代理服务器、负载均衡器、Web应用防火墙(WAF)等 在实际的产品开发中,无论是功…...

HomeAssistant开源的智能家居docker快速部署实践笔记(CentOS7)
1. SGCC_Electricity 应用介绍 SGCC_Electricity 是一个用于将国家电网(State Grid Corporation of China,简称 SGCC)的电费和用电量数据接入 Home Assistant 的自定义集成组件。通过该应用,用户可以实时追踪家庭用电量情况&…...

JAVA EE(进阶)_HTML
思如云烟,行若磐石。 ——陳長生. ❀主页:陳長生.-CSDN博客❀ 📕上一篇:JAVA EE(进阶)_进阶的开端-CSDN博客 1.HTML HTML(HyperText Mark…...
自定义类、元组、字典和结构体对比——AutoCAD C# 开发中建立不同对象之间的联系
以下是对它们的详细分析和对比: 1. 自定义类(Class) 优势 封装性强:可以定义字段、属性、方法和事件,实现复杂的行为和逻辑。继承与多态:支持继承体系,可通过接口或抽象类实现多态。引用类型…...
鸿蒙北向源码开发: 检查应用接口dts文件api规范性
开源鸿蒙5.0.2对应的api版本是14 5.0社区仓有工具检查接口规范性报告工具: interface/sdk-js/build-tools/api_check_plugin api_check_plugin是什么? 在解释api_check_plugin是什么之前得先知道 应用调用的api接口都是文件名后缀为.d.ts的文件,这些文件内部声明了arkts的a…...
谷歌 NotebookLM 即将推出 Sparks 视频概览:Gemini 与 Deep Research 加持,可生成 1 - 3 分钟 AI 视频
近期,谷歌旗下的 NotebookLM 即将推出一项令人瞩目的新功能 ——Sparks 视频概览。这一功能借助 Gemini 与 Deep Research 的强大能力,能够生成 1 - 3 分钟的 AI 视频,为用户带来全新的内容创作与信息获取体验。 NotebookLM:AI 笔…...
5月19日笔记
BGP的路由聚合 BGP(Border Gateway Protocol,边界网关协议)是互联网中用于在不同自治系统(AS)之间交换路由信息的一种协议。在BGP中,路由聚合是一种技术,它允许网络管理员通过减少路由表中冗余的…...