K8s入门

1. k8s是什么?

k8s是一个全新的基于容器技术的分布式架构领先方案。

如果系统设计遵循了k8s的设计思想,那么传统系统架构中的那引起和业务没多大关系的底层代码或功能模块都 可以从我们的视线中消失。

  • 减少30%的开发成本
  • 不再需要专注于服务监控和故障处理
  • 强大的自动化机制 降低运维难度 和成本

k8s是一个开放平台, 不局限于任何语言。
k8s是一个完备的分布式系统支撑平台。

  • 多层次的安全防护和准入机制
  • 多租户应用支撑能力
  • 透明的服务注册和服务发现机制
  • 内建的智能负zai均衡器
  • 强大的故障发现和自我修复能力
  • 服务滚动升级和在线扩容能力
  • 可扩展的资源自动调度机制
  • 多粒度的资源配额管理能力

2. 为什么用k8s?

Doker容器化 单机走向集群。

  1. 轻装上阵 开发复杂系统

只需要一个k8s的运维和一批业务代码程序员就可以

  1. 全面拥抱微服务架构
  2. 可以随时随地将系统整体搬迁到公有云上
  3. 服务弹性扩容机制可以轻松应对突发流量
  4. 超强的横向扩容能力 (能克隆出无数个集群)

Master/Node/Pod/Label

Master是整个k8s集群中的首脑,必须部署在一个独立的服务器(高可用建议3台)
如果master宕机,集群内窗口应用的管理都将失效

除master外的集群中其他机器为Node, node可以是物理机也可以虚拟机。
第个node都会被master分配一个负载(docker容器)
某个node宕机,其上的工作会被 master自动转移到其他节点

Pod是k8s操作容器的基本单元 ,是被k8s统一调用的,pos一般是一组联系紧密的容器。
每个Pod都有一个特殊的被称为“根容器”的Pause容器 和 一个或多个紧密相关的用户业务容器。

Label是key=value的键值对