【51CTO.com快译】沃特迪士尼公司以“让奇迹发生”而家喻户晓,它实施的企业级跨云项目Kubernetes也不例外。
在2016年11月西雅图召开的CloudNativeCon大会上作简短发言时,迪士尼高级云工程师布莱克·怀特(Blake White)讲述了Kubernetes可以跨云工作面临的几个难题及解决办法。
怀特说:“Kubernetes可以为你处理许多繁重任务,但如果你需要考虑企业及其所有要求,你多少需要跳出Kubernetes来考虑一番。亲力亲为,别指望所有奇迹,你自己要让一些奇迹发生。”
对于规模如迪士尼这么庞大的企业来说,有许多开发团队、质量保证团队和工程团队在处理许多不同的项目,每个团队都会有各自的云环境。怀特表示,Kubernetes能很好地处理这项任务,但是需要一番调整才能让一切正常运行。如何才能实现多个云环境的管理?
首先要考虑的是连接和数据:
·这个项目需要访问代码库、工件或企业网络中的其他服务吗?
·有没有需要遵守某些隐私标准的数据?
·多大的延迟是可以忍受的?
·你需要在云帐户之间互联吗?
亚马逊和谷歌都有支持跨云帐户连接的服务,两者都可以迅速将集群搭建并运行起来,但是没有一个系统能够与Kubernetes无缝地协同运行。于是怀特建议:如果你的项目很复杂,别依赖打开即用的解决方案。
另有自动的方法可以安装Kubernetes集群。怀特提到了Kube-up.sh和kops都是出色的选择,但是就配置性而言,没有一种工具是迪士尼需要的,于是他们构建了自己的定制系统。
怀特说:“我们最后自行构建了系统,这么做的主要原因在于,我们需要自己的虚拟公共云(VPC)可以连回到我们的企业网络。”他认为,构建工作方面最棘手的部分就是安装DNS系统。
怀特解释:“我们由sky DNS改用kube DNS。此举对这个集群大有帮助,但是在AWS环境下,系统根本无法运行。基本上,我们为VPC设置的DHCP跳过了亚马逊内部系统,径直指回到我们的企业网络,这正是我们需要的,但是Kubernetes不乐意了,因为它找不到所有的附注说明(note)。我们构建了一台BIND服务器,将这台服务器指南AWS内部系统以获得内部内容,然后指回到我们的系统获取其他一切内容……一切又开始正常运行起来。”
怀特在发言快结束时谈到了日志,给出了几点提示,即把一切都发送到中央存储库,从而避免不需要的费用,因而只需为egress支付费用。他的解决办法就是,让一切资源都靠近集群,只查询所需的资源。
怀特说:“我们构建了一套ELK架构(Elasticsearch、Logstash和Kibana);你把仪表板放在哪里要慎重,否则你发送的东西比想象的要多得多,这一招非常棒。还可以在上面安装部落节点(tribe node),那样可以跨多个云来查询。这不是唯一的解决办法,但是效果很好。”
原文标题:How Disney Is Realizing the Multi-Cloud Promise of Kubernetes,作者:Ian Murphy
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】