一个怀疑论者与 Kubernetes 的首次接触

主要观点:作者多年从事系统管理等工作却未接触 Kubernetes,后决定基于事实形成对其的看法。文中介绍了 Kubernetes 的基本概念、重要部分及作者的思考。
关键信息:

  • Kubernetes 可运行任意工作负载,能指定需求和动态扩缩实例数,还能为应用选择主机、自我修复等,只需将工作负载打包为 Docker 镜像。
  • 其基本构建块包括 Pod、Node、Cluster、Service、Namespace 等,通过控制循环和 Service 实现关键功能。
  • 工作负载管理可通过 ReplicaSet、Deployment 解决手动创建 Pod 的局限性,Storage 管理有 Ephemeral Volume 和 Persistent Volume 等。
  • 作者对 Kubernetes 的一些概念持肯定态度,但仍有诸多疑问,如控制器模式为何不支持“云原生”架构等,还吐槽了 Kubernetes 中基于文本插值的工具设计。
    重要细节:
  • 控制循环通过观察特定变量,利用控制元素实现期望状态,如处理队列事件、水平扩缩等的例子。
  • Service 提供稳定身份、负载均衡和服务发现等,每个 Node 都可作为 Service 流量的负载均衡器。
  • ReplicaSet 确保正确数量的 Pod 副本运行,Deployment 可更新 Pod 运行的镜像和版本,实现滚动更新。
  • Ephemeral Volume 生命周期与 Pod 绑定,Persistent Volume 则与之解耦,StatefulSet 可定义工作负载、副本计数等。
  • Kubernetes 控制器文档中关于集群状态不稳定的观点及作者对此的疑问。
  • 以 RabbitMQ 缩放器和 NGINX 图表为例,吐槽 Kubernetes 中基于文本插值的工具设计。
阅读 15
0 条评论