当运维遇上了...

4769633036926976.jpeg

当运维碰到docker时有什么想法?

  1. 使用Docker,不会再需要为了一个开发项目而准备多个测试和生产环境,从根本上解决了环境配置的难题;
  2. 缓解了使用虚拟机造成的资源占用多,操作冗余步骤多,启动慢的问题,而相对的Docker容器则是资源占用少,一次配置,启动时间短,运行体积小;
  3. 对于多实例多环境的配置,需要多次安装步骤,而使用Docker则是写一次Dockerfile即可一直使用,达到configure as a code
  4. 环境隔离更便捷,比如可以针对某个服务进行CPU,memory限制;
  5. ...更多的优点,我想当你使用上Docker以后,至少能减少一半重复劳动的时间

当运维碰到kubernetes时有什么想法?

  1. 如果某一台服务器突然宕机了,那么上面运行的服务是不是就不可以正常访问了? 如果使用kubernetes的deployment,就能保证我们的服务实例永远运行在我期望的状态;
  2. 不管传统的服务升级还是使用Docker容器发布的服务,在进行服务发布的时候,是不是确实存在某一个时刻服务有短暂的不可访问?503? 如果使用kubernetes的deployment来进行滚动升级,就能实现服务zero-downtime;
  3. 当服务的负载很高的时候,你是如何发现服务的负载大的,发现之后要扩容?还是增加服务实例?到完成扩容完整需要多久的时间? 那么使用kubernetes的HPA在服务负载较高时就可以自动伸缩实例的数量,不需要人为干预;
  4. 当需要服务区域高可用的时候会怎么部署服务呢?使用kubernetes解决了跨地区,跨机器之间的部署难题;
  5. 使用kuberenetes简化了使用不同类型存储介质的安装配置,其本身有广泛的volume支持;
  6. 内置负载均衡服务发现功能的service,减少代理的手动干预;
  7. 包含多种授权认证方式,以及认证插件来加强多节点之间通信的安全;
  8. 如果处在传统运维的公司有500台机器的话,你觉得需要多少运维或者devops人员? 如果处于在传统到容器过度之间的公司有500台机器的话,你觉得需要多少运维或者devops人员?如果公司上了kubernetes集群的话,运维或者devops人员又会是多少?

引入一个新的技术其实是很难的,但是当引入或者学习一个新的技术,一定要知道这个技术能为你带来哪些帮助

  1. 提高了多少工作效率;
  2. 解决了哪些技术难题;
  3. 服务的稳定性提高了多少;
  4. 服务的可用性提高了多少;
  5. 人力成本减少了多少;

我想如果这些自己的心里都有点概念的话,如果你觉得k8s能给你带来较多的好处,那么不要犹豫,直接盘它吧!

kubernetes不可不知的背景

Google 的 公有云 PaaS 产品 AppEngine 虽有很强的托管性(自动部署、运维),但灵活性较差(只支持固定语言和中间件);而 IaaS 产品 Compute Engine 虽然灵活性高(近似裸机的可配置性),但管理性很低(用户自行进行应用安装、维护、配置),为了解决这些问题,就是通过推出开源的容器编排管理系统 “Project 7”,利用开源社区迅速圈粉、打造生态、“shape people’s mind”,进行市场颠覆。同时,这一开源系统既提供了底层的容器、网络、存储等配置项,又提供了丰富的管理功能,从而打破了上述 PaaS 与 IaaS 产品在灵活性与托管性之间的矛盾。而在问世之后,“Project 7”也很快更名为“Kubernetes”。下面是kubernetes近些年的发展:

  • 2014 年 6 月 6 号,在这一个吉利的日子里,Kubernetes founder 之一 Joe Beta 在 GitHub 上合并了第一个 GitHub commit
  • 2015 年 7 月 21 日,Kubernetes 宣布发布正式 1.0 版本,达到生产可用
  • 2009 年问世的 Apache Mesos 项目也在 Docker 问世后通过与 Docker 的整合焕发了第二春,并定位为基于容器的数据中心操作系统(Data Center Operating System, 即 DCOS),在一定程度上与容器集群管理平台 Kubernetes 发生了定位上的重叠
  • Docker 公司也随后意识到容器自身只是一个轻薄的、底层的运行载体,很难大规模盈利并推动企业在复杂生产环境下使用;因此也开始研发自带的集群管理工具 Docker Swarm
  • Docker 公司推出的 Swarmkit,更是将其进军集群管理领域的雄心壮志昭示于天下
  • 2015 年 5 月,当 Kubernetes 宣布支持除了 Docker 以外的新的容器运行时 AppC 和 rkt
  • 2015 年 4 月 22 日,Kubernetes 官方博客专门报道了 Mesosphere 将 Kubernetes 集成进 DCOS 的消息
  • 2016 年西雅图 KubeCon 的多个主题演讲中直白地宣示着 Kubernetes 的领导者地位、到 Kubernetes 社区放大对 container runtime、network plugin 等抽象接口的投入
  • 2016 年 Q2-Q3: 以 Mirantis 为首的 OpenStack 厂商积极推动与 Kubernetes 的整合,避免站在 Kubernetes 的对立面,成为被 Kubernetes 推翻的“老一代技术”。
  • 2016 年 11 月,CNCF 与 Linux Foundation 联手,正式推出 Kubernetes 认证服务,进一步推动 Kubernetes 的商业化落地和普及。
  • 2016 年 11 月,在西雅图召开的 KubeCon 会议上,包括 Pearson、Box 等数十家 Kubernetes 终端用户向世人展示了 Kubernetes 在其生产环境中的成功应用。
  • 2016 年 12 月,伴随着 Kubernetes 1.5 的发布,Windows Server 和 Windows 容器可以正式支持 Kubernetes,微软生态完美融入。
  • 2017 年 2 月,Kubernetes 官方微博报道了中国京东用 Kubernetes 替代了 OpenStack 中的大量服务和组件,实现全容器化私有云和公有云的建设,中国的 Kubernetes 用户案例首次登上国际舞台。
  • 2017 年 6 月,在北京召开的 LinuxCon 上,中国公司报道了 Kubernetes 在中国金融、电力、互联网行业的成功案例,标志着 Kubernetes 的终端用户群体走向国际化。
  • 2 岁生日之际,Kubernetes 的用户涵盖了诸如金融(摩根斯坦利、高盛)、互联网(eBay、Box、GitHub)、传媒(Pearson、New York Times) 、通信(三星、华为)等行业的龙头企业。
  • 从 2015 年 7 月到 2017 年 7 月两年时间,Kubernetes 的主要代码仓库(github.com/kubernetes/kubernetes)从 1.0 版本时的 10000+ commits 变成了如今的近 50000+ commits,增长近五倍
  • 发展至今,Kubernetes 已经从一个单体的庞大代码库(github.com/kubernetes/kubernetes)向一个生态型多个代码库演进;除了主体代码库之外,还有约 40 个其他的插件代码库和超过 20 的孵化项目
  • 截止今日,Kubernetes 生态社区总共有 2505 个开发者,来自于 789 个参与公司
  • 有意思的是,“大象现象”同样存在于社区贡献者中,前 10 的贡献者贡献了超过 26% 的代码。
  • Kubernetes 的主要代码仓库已经获得了近 25000 个 GitHub Stars,遥遥领先于早期的竞争者(Swarm 和 Mesos 均不到 5000 颗星)。
  • CNCF 在全球召开了超过 200 场线下 meetups,仅在中国就有过十场。
  • Kubernetes 的 GitHub 活跃度已经超过了 99.99% 的项目!
  • ...

在k8s的不断发展中,我们也在不断的学习和进步,k8s功能的健全更需要我们一起实践探索,准备好了吗?玩起来...1.jpg

猜你喜欢

转载自blog.51cto.com/bkmaster/2473623
今日推荐