Kubernetes(K8s)入门与实践指南

Kubernetes(K8s)入门与实践指南

Kubernetes,简称 K8s,是一个开源的容器编排平台,用于自动化部署、扩缩容、负载均衡和管理容器化应用。它已经成为云原生应用的核心技术,被广泛应用于生产环境。

本文将从 核心概念工作原理实践示例,帮你快速理解 Kubernetes 的整体框架与使用方法。


1. 为什么要用 Kubernetes?

在没有 K8s 之前,容器化应用面临以下问题:

  • 容器数量多,人工运维成本高。
  • 应用升级需要停机,影响业务。
  • 突发流量无法快速扩容。
  • 容器宕机无法自动恢复。

Kubernetes 的出现解决了这些问题:

  • 自动化部署:一次配置,多次部署。
  • 自愈能力:Pod 挂掉会自动重建。
  • 弹性伸缩:支持根据负载自动扩/缩容。
  • 服务发现与负载均衡:应用间通信不再需要硬编码 IP。
  • 滚动升级与回滚:零停机部署。

2. 核心概念

Kubernetes 有一套自己的术语体系,掌握这些概念才能理解它的运作逻辑。

概念作用类比
Pod最小部署单元,一个或多个容器的集合一个应用实例
Node运行 Pod 的服务器(物理机/虚拟机)工厂车间
Cluster多个 Node 组成的整体工厂园区
Namespace逻辑隔离环境不同部门
Deployment定义 Pod 的副本数和版本生产线模板
Service为 Pod 提供访问入口前台接待
ConfigMap / Secret存储配置和敏感信息配置文件、保险柜
Ingress提供 HTTP/HTTPS 访问规则大门和路标

3. 架构与工作原理

Kubernetes 集群由两类节点组成:

控制平面(Control Plane)

  • kube-apiserver:集群的 API 网关,所有操作都通过它。
  • etcd:分布式键值数据库,存储集群状态。
  • kube-scheduler:调度 Pod 到合适的 Node。
  • kube-controller-manager:管理副本数、故障恢复等。

工作节点(Worker Node)

  • kubelet:与控制平面通信,管理本节点的 Pod。
  • kube-proxy:实现集群内部的网络转发。
  • 容器运行时:运行容器的底层引擎(Docker、containerd、CRI-O)。

4. 本地安装与体验

在本地体验 Kubernetes,有两种常见方式:

  1. Minikube(适合个人学习)
    # 安装 Minikube(Mac)
    brew install minikube
    minikube start
    

Kind(Kubernetes in Docker,轻量级)

bash
复制
编辑

安装 Kind

go install sigs.k8s.io/kind@latest
kind create cluster

5. 第一个应用:Nginx 部署

创建 Deployment
bash
复制
编辑
kubectl create deployment my-nginx --image=nginx:latest
暴露 Service
bash
复制
编辑
kubectl expose deployment my-nginx --port=80 --type=NodePort
查看 Pod 和 Service
bash
复制
编辑
kubectl get pods
kubectl get svc
访问 http://: 即可看到 Nginx 首页。

6. 滚动升级与回滚

升级:

bash
复制
编辑
kubectl set image deployment/my-nginx nginx=nginx:1.25
回滚:

bash
复制
编辑
kubectl rollout undo deployment/my-nginx

7. 实践建议

配置声明化:使用 YAML 文件管理 Deployment、Service,方便版本控制。

命名空间隔离:不同环境(dev/test/prod)用不同 Namespace。

资源限制:为 Pod 设置 requests 和 limits,防止资源抢占。

监控告警:配合 Prometheus + Grafana 监控集群健康。

自动扩缩容:使用 HorizontalPodAutoscaler 自动应对流量变化。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

evil robot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值