Kubernates(k8s) 自学 (一)
Kubernates1. Kubernates在企业中的应用场景1.1 服务器部署模式的变迁1.2 Docker & Kubernates2. Kubernates集群架构及组件3. Pod4. Service1. Kubernates在企业中的应用场景官方文档自动化运维工具 - 使用k8s构建自动化运维平台(降本增效)充分利用服务器资源服务器无缝迁移1.1 服务器部署模式的变迁物理机部署
·
Kubernates
1. Kubernates在企业中的应用场景
- 自动化运维工具 - 使用k8s构建自动化运维平台(降本增效)
- 充分利用服务器资源
- 服务器无缝迁移
1.1 服务器部署模式的变迁
- 物理机部署
- 虚拟机部署
- 容器部署
1.2 Docker & Kubernates
为了提高业务高并发和高可用,系统会使用多台服务器集群,那么会有以下一些问题:
- 多容器跨主机提供服务
- 多容器分布节点部署
- 多容器升级
- 高效管理容器
基础设施层(Infrastructure as a Service):
平台即服务(Platform as a service):
2. Kubernates集群架构及组件
Master组件
- Kube-apiserver
Kubernetes API,集群的统一入口,各组件协调者,以RESTful API提供接口服务,所有对象资源的增删改查和监听操作都交给API Server处理后再交给Etcd存储 - Kube-controller-manager
处理集群中常规后台任务,一个资源对应一个控制器,而ControllerManager就是负责管理这些控制器的,例如deployment,Service - Kube-scheduler
根据调度算法为新创建的Pod选择一个Node节点,可以任意部署,可以部署在同一个节点上,也可以部署在不同的节点上。 - etcd
分布式键值存储系统,用户保存集群状态数据,如Pod,Service等对象信息
Node组件
- Kubelet
Kubelet是Master在Node节点上的Agent,管理本机运行容器的生命周期,比如创建容器,Pod挂载数据卷,下载secret,获取容器和节点状态等工作。kubelet将每个Pod转换成一组容器。 - Kube-proxy
在Node节点上实现Pod网络代理,维护网络规则和四层负载均衡工作。 - 第三方容器引擎
比如docker,containerd等容器引擎。
3. Pod
Pod是一个逻辑抽象概念,Kubernetes创建和管理的最小单元,一个Pod由一个容器或者多个容器组成。
Pod特点:
- 一个Pod可以理解为是一个应用实例,提供服务
- Pod中容器始终部署在一个Node上
- Pod中容器共享网络,存储资源
Pod主要用法:
- 运行单个容器:
- 运行多个容器:属于边车模式(Sidecar),通过在Pod中定义专门容器,来执行业务容器需要的辅助工作,将辅助功能同主业务容器解耦。
例如: 日志收集,应用监控
4. Service
Service引入主要解决Pod的动态变化,提供统一访问入口:
- 防止Pod失联,专门找到提供同一个服务的Pod(服务发现)
- 定义一组Pod的访问策略(负载均衡)
- Service通过标签关联Pod
- Service为一组Pod提供负载均衡能力
更多推荐
已为社区贡献1条内容
所有评论(0)