### 当运维碰到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功能的健全更须要咱们一块儿实践探索,准备好了吗?玩起来...