目录
- kubernetes(k8s)在企业中的应用场景?
- 服务部署模式变迁&以及服务部署模式变化的问题思考?
- 云架构&云原生?
- kubernets架构原理
一、kubernetes(k8s)在企业中的应用场景?
1、自动化运维平台
(1)中小型企业,使用k8s构建一套自动化运维平台(降本增效
(2)大型互联网公司更要使用
2、充分利用服务器资源
3、服务无缝迁移(开发、测试、生产)
二、服务部署模式变迁&以及服务部署模式变化的问题思考?
1、服务部署模式是如何变迁的?
- 物理部署(就是直接把服务部署在物理机上)
- 虚拟化(虚拟机)方式--就是(把服务部署在虚拟机中,虚拟机分割物理资源----充分利用服务器资源)
- 容器化方式进行部署--更轻量级,运行效率更快
2、服务部署模式变化,带来哪些问题?
SOA架构,微服务架构模式下,服务拆分越来越多,部署维护的服务越来越多,如此多的服务如何去管理?
- 虚拟机服务部署方式(openstack管理虚拟化机器,提供可视化的方式)
- 容器化部署模式(k8s)--管理容器,可以看做一个虚拟机
3、面临问题:
SOA架构,微服务架构模式下,服务拆分越来越多,部署维护的服务越来越多,面临什么样问题?
- 如何对服务进行横向扩展
- 容器宕机如何解决?数据怎么恢复?
- 程序或软建重新发布新的版本,如何更新?且更新后,不影响业务---k8s可以滚动更新
- 如何监控容器
- 容器如何调度创建呢?
- 数据安全性如何保证?
解决方案:使用k8s管理容器,以上问题可以完美解决
三、云架构&云原生?
1、云和k8s的关系
云就是使用容器来构建的一套服务集群网络,云中有很多的大量的容器构成。
k8s是用来管理云中的容器。
2、云架构的概念
- iaas----------基础设施服务
- 用户:租用(购买|分配权限)云主机(容器),用户不需要考虑网络,dns,存储,硬件环境方面的问题。
- 运营商:公司平台、阿里云、网易云-提供网络、存储、DNS,此服务即为基础设施服务
- paas----------平台即服务
- mysql\ES\MQ\......
- saas------------软件即服务
- 钉钉\财务管理软件
- serverless----无服务,即不需要服务器
- 用户角度考虑问题,用户只需要使用云服务器即可,在云服务器所有的基础环境,软件环境都都不需要用户自己维护、安装
- 未来:服务开发都是serverless,企业都构建了自己的私有云环境,或者是使用公有云环境。
3、云原生
- 为了让应用服务/程序(程序、软件)都运行在云上的解决方案,就叫做云原生。
- 特点:
- (1)容器化——所有服务都必须部署在容器中
- (2)微服务——web服务架构是微服务架构
- (3)CI/CD——
- (4)DevOps——开发、运维密不可分
4、kubernetes架构原理
(1)google使用go语言开发。borg系统为原来的服务器管理系统,云平台管理系统。战略武器
(2)容器模式出现后,wswam是docker自己的容器管理系统,阿里使用的swam
(3)google 参照borg系统架构,开发了kubernetes系统,编排管理docker系统
5、架构:
master节点:
(1)api server ——k8s网关,所有的指令请求都必须经过api server
(2)Scheduler——调度器,使用调度算法,把请求资源调度到某一个node节点
(3)controller——控制器,维护k8s资源对象(c r u d)
(4)etcd—————存储资源对象(服务注册、发现)
node节点:
(1)docker——运行容器的基础环境,容器引擎
(2)kubelet——在每一个node节点存在一份,在node节点上的资源操作指令,由kuberlet执行
(3)kub-proxy——代理服务,做负载均衡
(4)fluentd———日志手机服务
(5)pod—————k8s管理的基本单元(最小单元),pod内部是容器。k8s不直接管理容器,而是管理pod
一个master节点对应一群node节点
四、作业及答案:
文章评论