这里记述的是学习K8S的笔记,有理解不对的地方还请大家指出
-
K8S概述
- kubernetes 简称K8S
- 使用K8S进行容器话应用的部署
- 使用K8S利于应用扩展
- k8s让部署容器化应用更加的简洁高效
-
K8S特性
- 自动装箱
- 自动部署应用容器
- 水平扩展
- 服务发现和负载均衡
- 存储编排
- 滚动更新
- 版本回退
- 自我修复
- Kubernetes 重新启动失败的容器、替换容器、杀死不响应用户定义的 运行状况检查的容器,并且在准备好服务之前不将其通告给客户端。
- 密钥与配置管理
- 类似热部署
- 自动装箱
-
K8S集群架构组件
-
mater(master node) 中控节点:
mater不做任何事情,只做节点的管理
- API Server(重点)
- 集群的统一的入口,已restful方式,交给etcd存储
- 定义一组Pod的访问规则
- Scheduler
- 节点的调度,选择node的节点应用部署
- Controllers(重点)
- 处理集群中常规后台任务,一个资源对应一个控制器
- 确保预期的Pod副本的数量
- 确保所有的node运行同一个Pod
- 支持一次性任务和定时任务
- etcd
- 存储系统,用于保存集群的相关数据
- API Server(重点)
-
node(worker node)工作节点
- Kubelet
- mater派到node节点代表,管理本机容器
- Network proxy(kube-proxy)
- 提供网络代理,实现负载均衡的操作
- Container Runtime
- 容器化操作
- 实现一般为Docker
- Pod(重点)
- K8s最小的部署单元
- 一组容器的集合
- 一个Pod是共享网络的
- 生命周期是短暂的
- Kubelet
-
流程大概为:通过API Server统一入口访问,由Controller创建Pod进行部署