Skip to content
0
/ FullStack/kubernetes
6/1/2026
2.3m
AI 摘要

Kubernetes(K8S)概念与 kubectl 安装,常用 Ingress/Service/Deployment 资源与 Pod 调度基础。

Kubernetes
​

Kebernetes 简称 K8S,它抽象了硬件资源,将 N 台物理机或云主机抽象成一个资源池,可以很轻易的进行容器的调度。

安装 ​

根据官方文档安装 kubectl

kubectl 是 K8S 提供的命令行工具,使得用户可以在本地对 K8S 集群发送指令

相关概念 ​

K8S 的基本调度单位为 pod,一个 pod 表示一个或者多个容器

之所以没有使用容器作为调度单位,是因为单一的容器没有构成服务的概念;例如 Web 应用做了前后端分例,需要一个 NodeJS 与 Tomcat 才能组成一个完整的服务,这样就需要部署两个容器来实现一个完整的服务,虽然也可以把他们都放到一个容器里,但这显然违反了一个容器即一个进程的核心思想 --《Service Mesh实战 - 用 istio软负载实现服务网格》

kubernetes 资源 ​

介绍最常用的三种 kubernetes 资源

Ingress(入口) ​

L7 层负载均衡配置,可以根据不同的域名或者路径,转发到不同的 Service 上,Ingress 和 Nginx 很像,在 K8S 中,就可以将 Ingress 当作 Nginx 来用。Ingress 相对于 Nginx 来说,不需要手动写 nginx.confg,也不需要手动重启 Nginx 服务

Service(服务) ​

由于 pod 是不稳定的,进场停止和重启,所以 pod 暴露的 IP 也是不稳定的,经常发生变化,所以需要一种抽象的资源 Service 来表示 pod 的位置。它是 K8S 内部的服务发现机制,会将 Service 名称写入内部 DNS 记录中。

Deployment ​

副本控制器,用来维护 pod 的一种机制。通过 Deployment 来指定副本数量,发布策略,记录发布日志并且支持回滚。

在前端的优势 ​

轻量 ​

用 K8S 部署一个小型 Nodejs 应用,内存仅占 40M 左右,将节省大量的资源

监控 ​

由于容器是一个进程,所以对容器的监控可以看作对 Nodejs 进程的监控,可以进行日志收集,性能监控等工作。非侵入性地收集 网络IO、磁盘IO、CPU、MEM 信息等

微服务架构 ​

使用 Docker 让我们在复杂架构中抽象服务的最小单元,K8S 给自动维护大规模集群提供了可能。可以说微服务架构天然适合使用 K8S

Released under the MIT License.