Coursera 笔记

Module 02 · Kubernetes Basics

Introduction to KubernetesKubernetes 简介课程笔记

Coursera ↗

学习目标

观看完本视频后,你将能够:

  • 定义 Kubernetes 💡
  • 说明 Kubernetes 不是什么 🚫
  • 理解 Kubernetes 的核心概念 🧩
  • 描述 Kubernetes 的主要功能 ⚙️
  • 概览 Kubernetes 生态系统 🌍

一、Kubernetes 是什么?

官方文档定义:
Kubernetes 是一个开源系统,用于自动化容器化应用程序的部署、扩展和管理。

  • 由 Google 开发,现由 Cloud Native Computing Foundation(CNCF) 维护。
  • 具有高度的可移植性,可跨云(公有云、私有云)及本地环境运行。
  • 已成为容器编排的 事实标准(de facto standard)。
  • 拥有快速增长的生态系统,被视为“容器编排的首选方案”。
  • Kubernetes as a Service(KaaS)作为“容器即服务(CaaS)”的延伸发展而来。

🌀 Kubernetes 的核心特征:

  • 采用声明式管理方式(Declarative Management);
  • 自动执行达到目标状态所需的所有操作;
  • 实现自动部署、扩缩容与生命周期管理。

二、Kubernetes 不是什么

❌ 误区 ✅ 事实
不是传统的 PaaS(平台即服务) 它是一个灵活的模型,支持多种类型工作负载
不是僵化或带有固定模式的系统 可运行无状态、有状态及数据处理类应用
不提供 CI/CD 流水线 不负责源码构建或持续部署
不规定日志、监控和告警方案 可自由选择第三方或开源工具
不内置中间件、数据库等服务 用户可自行整合所需组件

✨ 总结:Kubernetes 更像是一个可扩展的框架,而非“一站式平台”。


三、Kubernetes 核心概念

1. Pods(容器组)

  • 最小的可部署计算单元。
  • 每个 Pod 拥有唯一 IP 地址。
  • 多个 Pod 可共享同一个 DNS 名称。

2. Services(服务)

  • 用于暴露运行在多个 Pod 上的应用。
  • 提供稳定的网络访问方式。

3. Storage(存储)

  • 支持 持久性存储(Persistent)与 临时性存储(Ephemeral)。

4. Configuration(配置)

  • 资源配置方式,用于定义 Pod 的行为与依赖。

5. Security(安全性)

  • 为云原生工作负载提供安全机制;
  • 控制 Pod 与 API 的访问权限。

6. Policies(策略)

  • 定义资源组的规则;
  • 确保 Pod 能正确匹配节点并由 kubelet 运行。

7. Scheduling & Eviction(调度与驱逐)

  • 调度器将 Pod 分配到合适节点;
  • 资源不足时主动终止部分 Pod。

8. Preemption(抢占)

  • 实现优先级控制;
  • 允许高优先级 Pod 抢占低优先级 Pod 的资源。

9. Cluster Administration(集群管理)

  • 提供创建与维护集群所需的所有配置与操作指令。

四、Kubernetes 功能与能力

1. 自动化部署与回滚

  • 自动执行应用或配置的变更;
  • 支持健康监测与回滚。

2. 存储编排

  • 可自动挂载本地存储、网络存储或公有云存储。

3. 水平扩展(Horizontal Scaling)

  • 根据指标或命令自动扩缩容工作负载。

4. 自动化装箱(Bin Packing)

  • 自动放置容器以提高资源利用率与成本节约;
  • 在保证高可用的前提下,混合运行关键任务与普通任务。

5. 机密与配置管理

  • 管理敏感信息(如密码、OAuth Token、SSH Key);
  • 可在不重建镜像的情况下更新机密与配置。

6. 双栈网络支持

  • 同时支持 IPv4 与 IPv6 地址。

7. 自愈(Self-Healing)

  • 自动替换失败的容器;
  • 恢复无响应的 Pod。

8. 服务发现与负载均衡

  • 通过 IP 地址或 DNS 名称发现 Pod;
  • 实现流量负载均衡与高可用。

9. 可扩展性

  • 可在不修改源代码的前提下,为集群添加新特性。

五、Kubernetes 生态系统

Kubernetes 拥有庞大且不断扩展的生态系统,涵盖服务、工具与支持体系:

类型 代表厂商/工具
公有云提供商 Prisma、IBM、Google、AWS
开源框架提供商 Red Hat、VMware、SUSE、Mesosphere、Docker、Cloud Foundry
管理平台提供商 DigitalOcean、Loodse、SUPERGIANT、CloudSoft、Turbonomic、Techtonic、Weaveworks
工具提供商 JFrog、Univa、Aspen Mesh、Bitnami、Cloud 66
监控与日志提供商 SumoLogic、Datadog、New Relic、Iguazio、Grafana、SignalFX、Sysdig、Dynatrace
安全提供商 Guardicore、BlackDuck、Yubico、Cilium、Aqua、Twistlock、Alcide
负载均衡提供商 AVI Networks、VMware、NGINX

🔄 这些组件共同构成 Kubernetes 运行所需的完整生态体系,从镜像构建、镜像仓库、监控告警到 CI/CD 全流程。


六、总结

✅ Kubernetes 是:

  • 一个 高可移植性、水平可扩展 的开源容器编排系统;
  • 拥有自动化部署与简化管理能力;
  • 具备丰富的核心概念与功能模块(Pods、Services、Scheduling、Security 等);
  • 支持自动回滚、扩缩容、自愈与双栈网络等高级特性;
  • 建立了庞大的生态系统,涵盖云厂商、工具链、监控、安全与负载均衡等领域。

🎶 Kubernetes——现代云原生架构的中枢引擎。 🚀