第一章 认识kubernetes架构及应用场景

第1节 kubernetes-为什么要学习k8s

K8S 在企业中应用场景?

1) 自动化运维平台

* 中小型企业, 使用K8S构建一套自动化运维平台(降本增效)

* 大型互联网公司更要使用

2) 充分利用服务器资源

3) 服务无缝迁移

第2节 kubernetes-服务部署模式

服务部署模式变迁&以及服务部署模式变化的问题思考?

1) 服务部署模式是如何变迁的?

* 物理机部署 (就是直接把服务部署在物理机上面)

* 虚拟化(虚拟机)方式 (就是把服务部署在虚拟机中, 虚拟机分隔物理资源—充分利用服务器资源)

* 容器化方式进行部署

2) 服务部署模式变化, 带来哪些问题?

前提条件: SOA架构, 微服务架构模式下, 服务拆分越来越多, 部署维护的服务越来越多, 如此多的服务如何去管理?

* 虚拟机服务部署方式 (openstack)

* 容器化部署模式 (K8S — 管理容器)

面临问题: SOA架构, 微服务架构模式下, 服务拆分越来越多, 部署维护的服务越来越多, 面临什么样问题?

* 如何对服务进行横向扩展

* 容器宕机怎么办? 数据怎么恢复

* 重新发布新的版本如何更新, 更新后, 不影响业务

* 如何监控容器

* 容器如何调度创建呢?

* 数据安全性如何保证

解决方案: 使用K8S管理容器, 以上的问题, K8S都可以完美的解决.

第3节 kubernetes-云架构&云原生

1) 云 和 K8S 是什么关系呢?

* 云 就是使用容器构建的一套服务集群网络, 云由很多的大量构成

* K8S 就是用来管理云中的容器

2) 云架构

* iaas 基础设施即服务

* 用户: 租用(购买|分配权限) 云主机, 用户就不需要考虑网络, DNS, 存储, 硬件环境方面的问题

* 运营商: 提供网络, 存储, DNS, 这样服务就叫基础设施服务

* paas 平台即服务                                    MYSQL \ ES \ MQ \ …….

* saas 软件即服务                                    钉钉                                    财务管理

* serverless

* server 服务 less 无 — 无服务 — 不需要服务器

站在用户的角度考虑问题, 用户只需要使用云服务器即可, 在云服务器所有的基础环境, 软件环境都不需要用用户自己考虑

未来: 服务开发都serverless, 企业都构建了自动的私有云环境, 或者是使用公有云服务

3) 云原生

* 就是为了让应用程序 (项目, 服务软件) 都运行在云上的解决方案, 这样方案叫云原生

特点:

(1) 容器化 — 所有的服务都必须部署在容器中

(2) 微服务 — web服务架构师微服务架构

(3) CI/CD

(4) DevOps

第4节 kubernetes-k8s架构基本原理

1) kubernetes 是google公司使用go语言开发. borg系统

2) kubernetes 架构

* master节点

* api server k8s网关, 所有的指令请求都必须要经过api server

* scheduler 调用器, 使用调度算法, 把请求资源高度某一个node节点

* controller 控制器, 维护k8s资源对象

* etcd 存储资源对象

* node节点

* docker 运营容器的基础环境, 容器引擎

* kubelet 在每一个node节点都存在一份, 在node节点上的资源操作指令由kubelet来执行

* kube-proxy 代理服务, 负载均衡

* fluented 日志收集服务

* pod 是K8S管理的基本单元(最小单元), pod内部是容器. K8S不直接管理容器, 而是管理pod.

关系: 一个Master对应一群node节点.

123

滚动至顶部