尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

K8S 完整核心笔记

K8S 完整核心笔记
📅 发布时间:2026/7/19 4:06:41

一、K8S 高频核心命令(最全总结 + 区别)

1. 资源查看命令

bash

运行

# 通用查看语法:查看指定名称空间的指定资源 kubectl get 资源类型 -n 命名空间名称 # 案例:查看test1命名空间下的所有Pod kubectl get pod -n test1 # 查看资源详细信息(事件、原因、参数、报错)排错必备 kubectl describe 资源类型 资源名 -n 命名空间 # 案例:查看my-nginx这个pod详细信息 kubectl describe pod my-nginx -n test1

2. 资源删除命令

bash

运行

# 精准删除单个资源 kubectl delete 资源类型 资源名 -n 命名空间 # 案例:删除my-nginx的pod kubectl delete pod my-nginx -n test1 # 通过yaml清单删除资源(删除当前文件定义的所有资源) kubectl delete -f 资源清单.yaml

3. 资源创建 / 更新命令(重点区别)

bash

运行

# create:仅创建资源,资源已存在直接报错,不能更新 kubectl create -f xx.yaml # apply:万能命令,无资源则创建,有资源则更新,不会报错 kubectl apply -f xx.yaml

核心区别: create = 只新增,不更新(重复执行报错) apply = 存在更新、不存在创建(生产 99% 用 apply)

4. 快速生成 yaml 模板(企业常用)

bash

运行

# 不真实创建资源,仅输出标准yaml清单模板 kubectl create ns test1 --dry-run=client -o yaml

作用:快速生成干净模板,不用手写骨架,提高开发效率


二、K8S 标签管理命令(label)

1. 查看资源标签

bash

运行

# 查看资源自带所有标签 kubectl get 资源类型 --show-labels # 案例:查看所有pod的标签 kubectl get pod --show-labels

2. 根据标签筛选资源

bash

运行

# 只查询匹配指定标签的资源 kubectl get 资源类型 -l 标签key=标签value # 案例:只查app=nginx的pod kubectl get pod -l app=nginx

3. 给资源打标签

bash

运行

kubectl label 资源类型 资源名 key=value # 案例:给my-nginx的pod打上app=web标签 kubectl label pod my-nginx app=web

三、K8S 资源清单 YAML 完整骨架(核心五大字段)

所有 K8S 资源(pod/deployment/svc/secret)全部通用这套骨架

yaml

# 1.apiVersion:资源API版本,不同资源版本不同 apiVersion: v1 # 2.kind:资源类型(Pod/Service/Deployment/Secret等) kind: Pod # 3.metadata:资源元数据(名称、命名空间、标签、注释) metadata: name: my-nginx # Pod名称,当前命名空间唯一 # 4.spec:【期望状态】你告诉K8S你想要什么样的资源 spec: containers: # 定义容器列表(数组,可以多个容器) - name: my-nginx # 容器名称 image: nginx # 容器镜像 # 5.status:【真实状态】K8S自动生成,用户无需手写 # 记录当前Pod真实运行状态、端口、IP、就绪状态

最简可直接运行的 Pod 完整案例(带全注释)

yaml

# 指定API版本,固定v1 apiVersion: v1 # 资源类型为Pod kind: Pod metadata: # 自定义pod名称 name: my-nginx-pod spec: # pod内容器列表,可以写多个容器 containers: # 第一个容器 - name: nginx-container # 使用nginx官方镜像 image: nginx:latest

四、K8S YAML 五种数据类型(必考 + 案例)

1. string 字符串类型

文本内容,不需要引号也默认字符串

yaml

metadata: name: web-demo # string字符串类型

2. int 数值类型

数字,纯数字

yaml

spec: replicas: 3 # int数值:副本数量3个

3. boolean 布尔类型

只有 true /false

yaml

spec: automountServiceAccountToken: false

4. Object 对象类型(键值嵌套)

大括号嵌套、层级结构,键值对结构

yaml

metadata: labels: # 对象 app: web # 对象内键值 env: test

5. 数组 / 列表类型(并列多个对象)

带-就是数组,同一类资源多个并列

yaml

spec: containers: - name: nginx # 数组第1个容器 image: nginx - name: mysql # 数组第2个容器 image: mysql:5.7

五、Pod 三大探针(核心重点:保证 Pod 稳定运行)

探针作用:检测容器健康状态,自动容错、自动重启、自动屏蔽故障 Pod

1. 存活探针 livenessProbe

  • 作用:检测容器是否活着、是否崩溃卡死
  • 机制:Pod 运行期间持续循环检测
  • 异常动作:检测失败 →直接重启 Pod
  • 用途:解决容器卡死、进程挂掉但 Pod 不重启问题

2. 就绪探针 readinessProbe

  • 作用:检测容器是否就绪、能否对外提供服务
  • 机制:Pod 运行期间持续循环检测
  • 异常动作:检测失败 →不会重启 Pod,会被 Service 剔除,不接收流量
  • 用途:避免把用户流量转发到未启动好、故障的 Pod

3. 启动探针 startupProbe

  • 作用:专门检测容器是否启动完成
  • 机制:仅启动阶段检测,启动成功后永久不再检测
  • 用途:适配启动慢的服务(java、微服务),防止启动阶段被存活探针误杀重启

六、探针三种检测方式(实操方式)

1. exec 命令检测

在容器内部执行一条命令,命令返回 0 正常,非 0 失败案例:检测 nginx 页面目录是否存在

yaml

livenessProbe: exec: command: ["test","-d","/usr/share/nginx/html"]

2. tcpSocket 端口检测

检测容器指定端口是否监听,端口通则正常 适合:mysql、redis、nginx 端口类服务检测

yaml

livenessProbe: tcpSocket: port: 80

3. httpGet 请求检测

向容器发送 http 请求,状态码 2xx/3xx 正常,4xx/5xx 失败 适合:web 项目、接口服务

yaml

livenessProbe: httpGet: path: / port: 80

七、Secret 三种类型(K8S 机密资源)

Secret 用于存放密码、密钥、证书、镜像账号,加密存储

1. 账号密码类型

存储普通用户名、密码(数据库密码、系统账号密码)

2. 镜像仓库类型

存储镜像仓库账号密码,用于私有镜像拉取

3. TLS 证书类型

存储 https 证书、密钥,用于 Ingress HTTPS 域名加密访问


补充:create 与 apply 终极总结

  1. kubectl create -f yaml
    • 只能新建
    • 资源已存在 →报错
  2. kubectl apply -f yaml
    • 无资源:创建
    • 有资源:更新
    • 生产环境唯一推荐使用

相关新闻

  • 2026 年了,写代码不如写 Prompt?聊聊我如何用 Vibe Coding 在 48 小时内极速搓出全栈应用
  • 问题的起点:为什么 Token 效率是硬指标
  • 2026 年当下,象山口碑好的道闸划线厂家哪个好,揭秘:这道闸的划线,竟藏着避开罚单的秘密? - 实业推荐官【官方】

最新新闻

  • 真实神经网络与人工神经网络的本质差异解析
  • 萧邦中国官方售后服务中心|服务热线及完整维修地址权威信息通知(2026年7月更新) - 萧邦中国官方服务中心
  • 2026长春单招培训班哪家好?超全选择攻略助你顺利上岸 - 爱说大实话121
  • AI 生成 Vue3 后台后状态乱了?Pinia 双树和 Go 权限联动这样查
  • Java注解机制详解:从元注解到Spring整合
  • PicoClaw(皮皮虾)超轻量AI智能体 安装使用教程

日新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号