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

K8S核心知识点

K8S核心概念

Pod
K8S最小调度单元,包含一个或多个容器,共享网络和存储。Pod设计为临时性,通常由控制器管理生命周期。

Deployment
声明式管理Pod副本集的控制器,支持滚动更新、回滚和扩缩容。通过定义replicas确保应用高可用。

Service
为一组Pod提供稳定访问入口,通过标签选择器关联Pod。支持ClusterIP、NodePort、LoadBalancer等类型。

Namespace
逻辑隔离集群资源,适用于多租户环境。系统默认创建kube-systemdefault等命名空间。


核心架构组件

Master节点

  • API Server:集群操作入口,RESTful接口交互
  • Scheduler:根据资源需求将Pod调度到Node
  • Controller Manager:运行副本控制、节点监控等核心控制器
  • etcd:分布式键值存储,保存集群状态

Node节点

K8S的架构图

  • kubelet:与API Server通信,管理容器生命周期
  • kube-proxy:维护网络规则,实现Service负载均衡
  • 容器运行时:如Docker、containerd,负责运行容器

网络模型

CNI插件
实现Pod跨节点通信,常见方案包括Calico、Flannel、Cilium。需满足以下要求:

  • 所有Pod可不经NAT直接通信
  • 节点与Pod可不经NAT直接通信
  • Pod看到的自身IP与其他Pod看到的IP一致

Ingress
管理外部访问的API对象,通过规则定义HTTP/HTTPS路由。通常配合Ingress Controller(如Nginx)使用。


存储管理

Volume
提供Pod级持久化存储,支持emptyDir、hostPath、NFS等类型。生命周期与Pod绑定。

PV/PVC

  • PersistentVolume (PV):集群存储资源,由管理员配置
  • PersistentVolumeClaim (PVC):用户存储请求,动态绑定PV

StorageClass
定义动态供给存储的模板,支持按需创建PV(如AWS EBS、GCE PD)。


运维关键点

资源配额
通过ResourceQuota限制Namespace级别的CPU、内存等资源使用量,避免资源抢占。

HPA
Horizontal Pod Autoscaler基于CPU/内存或自定义指标自动扩缩容,示例配置:

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:name: php-apache
spec:scaleTargetRef:apiVersion: apps/v1kind: Deploymentname: php-apacheminReplicas: 1maxReplicas: 10metrics:- type: Resourceresource:name: cputarget:type: UtilizationaverageUtilization: 50

RBAC
基于角色的访问控制,通过RoleRoleBinding定义细粒度权限。示例:

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:namespace: defaultname: pod-reader
rules:
- apiGroups: [""]resources: ["pods"]verbs: ["get", "watch", "list"]


调试命令

基础诊断

kubectl get pods -n <namespace>  # 查看Pod状态
kubectl describe pod <pod-name>  # 获取详细事件
kubectl logs <pod-name> -c <container>  # 查看容器日志

网络测试

kubectl exec -it <pod-name> -- curl <service-name>  # 测试Service连通性
kubectl run busybox --image=busybox --rm -it --restart=Never -- ping <ip>  # 临时诊断容器

资源监控

kubectl top nodes  # 查看节点资源使用
kubectl top pods   # 查看Pod资源消耗

http://www.dtcms.com/a/348321.html

相关文章:

  • Teams Bot机器人实时语音识别的多引擎的处理
  • 【大语言模型 17】高效Transformer架构革命:Reformer、Linformer、Performer性能突破解析
  • 【机器人零件】蜗轮蜗杆减速器
  • Android面试指南(五)
  • 数据挖掘 4.1~4.7 机器学习性能评估参数
  • RandAR训练自己的数据集
  • 多核多线程消息队列传递指针存在可见性问题吗?
  • 如何安全解密受限制的PDF文件
  • 20年AWS服务进化史
  • 基于Spring Boot与Redis的电商场景面试问答解析
  • 鸿蒙中点击响应时延分析
  • 在 AWS ECS Fargate 上将 Datadog 作为 SideCar 运行
  • NLP:Transformer残差连接的作用(特别分享2)
  • elasticsearch 7.17.23 使用spring data es实现高亮分页,scroll查询分页查询
  • AI+SaaS工具实战:如何靠AI赋能CRM/财务SaaS实现企业降本28%+效率提升40%
  • Vue 项目 package.json 终极详解(主流实践 / 逐项说明)
  • element-plus穿梭框transfer的调整
  • Git连接Github远程仓库的代理设置
  • centerpoint训练过程
  • 包含单负介质的夹层结构中的电磁隧穿现象的复现
  • 设计模式:建造者模式
  • linux下camera 详细驱动流程 OV02K10为例(chatgpt版本)
  • css3之flex布局
  • 在 Ruby 客户端里用 ES|QL
  • 知识蒸馏 Knowledge Distillation 0. 基础:自回归分解与逐 token散度
  • 重学python之mro
  • 【科研绘图系列】R语言浮游植物初级生产力与光照强度的关系
  • 28.原型
  • 详解triton.jit及PTX
  • 目标检测数据集 第006期-基于yolo标注格式的汽车事故检测数据集(含免费分享)