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

K8s: Kubernetes

🧭 Kubernetes 是一个开源的 容器编排平台,用于自动化容器的部署、扩缩、负载均衡、健康检查和管理。

它的目标是:让大规模容器应用像自动驾驶一样运行。

假设你用 Docker 部署了 3 个服务实例,你可能会问:

  • 怎么自动重启挂掉的容器?
  • 怎么把用户请求分发到多个容器?
  • 怎么做到宕机自动拉起?资源不够时扩容?
  • 怎么更新应用不中断服务?

🧱 K8s 就是为了解决这些问题的!

文章目录

      • K8s

K8s

🌐 K8s 能做什么?

能力简介
部署管理一条 YAML 语句就能部署一个服务
服务发现与负载均衡自动创建 ClusterIP、Service 供内部调用
滚动更新无缝发布新版容器镜像,逐个替换,确保不中断
自我修复容器挂了会自动拉起来,Pod 异常会被替换
水平扩缩容根据 CPU/内存/自定义指标自动加减容器数量
配置与密钥管理使用 ConfigMap 和 Secret 管理配置、安全凭据

🔧 核心组件(简化版)

组件说明
Pod最小的部署单元,通常一个 Pod 包含一个容器
Service为 Pod 提供稳定的网络入口和负载均衡能力
Deployment控制 Pod 的副本数、升级、回滚等
ReplicaSetDeployment 底层控制器,负责副本数量
Node工作节点,运行容器的实际机器(物理或虚拟)
Kubelet每个 Node 上的 agent,负责启动/管理 Pod
Controller Manager / Scheduler / API Server控制中枢

🎬 操作流程:

  • 编写 Deployment 的 YAML 文件(定义镜像、端口、副本数)
  • kubectl apply -f xxx.yaml 部署
  • Kubernetes 创建 Pod,并确保它们始终运行
  • 可通过 Service 访问你的服务

🧪 示例 YAML

  • Deployment:定义你的后端服务运行镜像、端口、副本数
apiVersion: apps/v1		# 指定使用的 API 版本,apps/v1 是当前推荐的 Deployment 所属版本
kind: Deployment		# 声明这个资源是一个 Deployment(部署控制器)
metadata:				# 元数据部分,主要用于标识这个 Deployment 的名称name: my-backend		# 【Deployment 的名称,可以用于 kubectl 操作】,比如 kubectl get deployment my-backend
spec:					# Deployment 的核心配置 ( Specification 规格,说明)replicas: 3			# 期望运行的 Pod 【副本】数量,也就是部署 3 个后端服务实例selector:				# 选择器,用于匹配哪些 Pod 属于这个 Deployment 【控制的范围】matchLabels:app: my-backend	# 和下面 template.metadata.labels 对应,用来选出正确的 Podtemplate:				# 【Pod】 的模板,定义了 Pod 应该怎么创建metadata:labels:app: my-backend # 这个 label 会打到每个 Pod 上,供 selector 匹配spec:containers:- name: backend	# 容器名称(自定义),便于日志、调试等引用image: mycompany/my-backend:v1  # 容器镜像,通常是你构建好的后端服务镜像ports:- containerPort: 8080  			# 容器监听的端口(应用服务端口),供 Service 转发使用
  • Service:对外暴露这个服务,让别人能访问 8080 端口
apiVersion: v1
kind: Service
metadata:name: my-backend-service
spec:selector:app: my-backendports:- port: 80            # Service 对外暴露的端口targetPort: 8080    # 实际 Pod 的端口type: ClusterIP       # 集群内部访问
Service 类型特点使用场景
ClusterIP默认类型,仅集群内部访问服务间调用
NodePort在每个 Node 上开放端口访问简单测试
LoadBalancer云环境中通过云负载均衡器访问线上发布
ExternalName通过 DNS 别名指向外部服务引用外部

相关文章:

  • 专门做美女写真的网站郑州专业网站建设公司
  • 有关做粪污处理设备的企业网站青岛seo推广公司
  • 网站建设的流程加强服务保障满足群众急需i
  • 如何做行业网站做营销策划的公司
  • 标书制作员这工作好吗南京seo排名优化
  • 潍坊网站建设建站东莞关键词seo优化
  • 权威认证!华宇TAS应用中间件荣获CCRC“中间件产品安全认证”
  • Beam2.61.0版本消费kafka重复问题排查
  • SQL SERVER存储过程
  • SQL重置自增
  • Solidity学习 - 认识Solidity合约结构
  • Windows命令连接符的安全风险分析与防御策略
  • [附源码+数据库+毕业论文+开题报告]基于Spring+MyBatis+MySQL+Maven+jsp实现的宠物领养管理系统,推荐!
  • 无人机关键算法分析 ( MPU6050 ,PID,滤波,四元数,欧拉角,IMU 姿态解算)
  • vue3中使用vue-grid-layout来实现可拖动的仪表盘面板
  • 深度学习在智能物流中的创新应用与未来趋势
  • 在统信UOS(Linux)中构建SQLite3桌面应用笔记
  • C++之string类的实现代码及其详解(上)
  • 0 数学习题本
  • 【stm32】HAL库开发——Cube配置基本定时器
  • Llama 3 + Qwen2双模型实战:单张3090构建企业级多模态知识库(2025精解版)
  • 关于 ARM64 汇编:调用流程与栈帧结构解析
  • Jenkins与Kubernetes深度整合实践
  • GitLab 18.1 高级 SAST 已支持 PHP,可升级体验!
  • OSPF 路由协议详细笔记
  • Python-7-读取/写入文件数据