Kubernetes(k8s)的基本简介是什么?

文章导读
Kubernetes 是一个开源的容器编排平台,适合需要管理大规模容器化应用的场景,目前由云原生计算基金会(CNCF)托管。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 参考来源
A A

Kubernetes 是一个开源的容器编排平台,适合需要管理大规模容器化应用的场景,目前由云原生计算基金会(CNCF)托管。

先说结论:它是生产环境管理容器集群的标准工具,核心是解决单机 Docker 难以规模化运维的问题。

  • 适合:多主机集群环境、需要自动扩缩容和高可用的业务。
  • 重点看:Pod 是最小部署单元,理解它与容器的关系是关键。
  • 建议:初学者先从单节点环境入手,熟悉核心组件后再上集群。

命令速用版

如果是刚搭建好环境,可以用以下基础命令确认集群状态:

# 查看集群版本信息
kubectl version

# 查看节点状态,确保都是 Ready
kubectl get nodes

# 查看默认命名空间下的 Pod 运行状态
kubectl get pods

如果节点状态不是 Ready,通常意味着网络插件或 kubelet 服务未正常启动。

为什么会这样

Kubernetes 简称 K8s,这个名字源于希腊语,意为“舵手”或“飞行员”,缩写是因为 K 和 s 之间有 8 个字符。它最早由 Google 基于内部 Borg 系统开发,并于 2014 年开源,旨在自动化部署、扩展和管理容器化应用程序。

Kubernetes(k8s)的基本简介是什么?

单机运行 Docker 在面对多主机、高可用需求时会显得吃力,而 K8s 通过控制平面(Master)和工作节点(Node)的协同,实现了服务发现、负载均衡及集群资源管理。其中,Pod 是 K8s 里面能够被运行的最小逻辑单元,一个 Pod 里面可以运行多个容器,它们共享网络和存储资源。

分步处理

理解 K8s 架构有助于后续的配置和排查,建议按以下逻辑顺序熟悉:

1. 理解控制平面组件
控制平面负责集群的调度、管理和运维,主要包括 kube-apiserver(接口服务)、etcd(分布式存储)、kube-controller-manager(控制器管理)和 kube-scheduler(资源调度)。

2. 理解工作节点组件
工作节点负责运行容器,主要包括 kubelet(节点代理,维护容器生命周期)和 kube-proxy(网络代理,实现服务发现和负载均衡)。

Kubernetes(k8s)的基本简介是什么?

3. 选择工作负载类型
根据业务需求选择 Pod 控制器,例如无状态服务常用 Deployment,守护进程常用 DaemonSet,有状态服务常用 StatefulSet,一次性任务常用 Job。

怎么验证是否生效

部署应用后,通过以下迹象确认集群工作正常:

1. 资源状态检查
使用kubectl get pods查看 Pod 状态是否为Running,如果处于Pending可能资源不足,CrashLoopBackOff则应用启动失败。

2. 服务连通性
通过 Service 暴露应用后,在集群内部尝试访问 ClusterIP,确认服务发现和负载均衡功能正常。

Kubernetes(k8s)的基本简介是什么?

3. 日志查看
使用kubectl logs <pod-name>查看容器日志,确认业务逻辑无报错。

常见坑

1. 网络插件选择
K8s 本身不提供具体的网络实现,需要安装 CNI 插件(如 Calico、Flannel),不同插件对网络策略支持不同,选型不当可能导致 Pod 间无法通信。

2. 存储持久化
容器重启后数据会丢失,有状态服务必须配置持久化存储(PersistentVolume),否则数据会随 Pod 销毁而丢失。

3. 资源限制缺失
如果不给容器设置 CPU 和内存限制(Limits/Requests),单个应用可能耗尽节点资源,导致其他核心组件(如 kubelet)异常。

参考来源

  • Kubernetes 官方文档,官网::https://kubernetes.io/
  • 【K8S 系列】k8s 学习一,Kubernetes 基本介绍及核心组件
  • Kubernetes 全面概述
  • k8s 的概念与架构介绍
  • 容器编排引擎 Kubernetes 01——一文带你认识 K8S