您现在的位置是:首页 > 文章详情

用K8S解决容器的混乱(下)

日期:2018-12-12点击:633

Kubernetes编排

Kubernetes(K8S)是一个开源容器编排系统,它使用期望状态理念来运行所有的应用程序容器。Kubernetes是由Google创建的,旨在集合工程师们在过去10年中构建自己容器编排系统(Brog)所获得的经验。Kubernetes不是这个系统的端口或转换。相反,它本意是尝鲜,开始就想避免错误并分享经验。它从与RedHat、CoreOS、IBM、Mesosphere和Microsoft的合作中受益匪浅。

Kubernetes有很多组件,下面探讨一些最为重要的。   

容器

容器是Kubernetes中的“亚原子”组件,这意味着你不会只运行一个容器,因为它们必须在一个称为pod的控制结构中运行。但是你可以用与在Docker中一样的方式,来基于Dockerfiles运行Docker映像。我经常用Makefiles在Docker中运行一个容器来进行开发,然后将它启动到Kubernetes中进行生产。

Pod

Pod是Kubernetes的“原子”单位。Kubernetes的其他组件启动一个或多个pod,或将一个或多个pod连接到网络。Pod由一个或多个容器组成。在同一个pod中运行的容器共享磁盘、本地主机、安全上下文和一些其他属性。

部署

部署是运行一个或多个pod的控制结构。Pod本身不具有期望状态的概念。部署通过创建副本来管理pod组的期望状态。例如,如果你需要三个这样的pod,总有三个pods运行。部署还管理pod的更新。

服务

服务将临时pod连接到需要长时间运行的内部或外部进程,例如API端点或MySQL主机。假设你有三个pod运行Web服务器容器,并且需要一种方法将请求从公共Internet路由到容器,你可以通过设置一个使用负载均衡器将请求从公共IP地址路由到其中一个容器的服务来实现。给pods一个“Web服务器”的标签,然后在服务定义中说:“服务使用任何标签为Web服务器的容器的端口80”。

Kubernetes将使用公共负载均衡器在所选容器之间划分流量。对于只想要暴露给Kubernetes应用程序其他部分(例如数据库服务器)的主机,也可以私下进行此操作。

总结

总而言之,要在Kubernetes上提供一个简单的Web前端,你将:

  • 配置Docker映像
  • 配置引用该映像的部署
  • 运行部署以根据该映像启动一组pod副本集
  • 配置引用pod的服务
  • 使用公共负载均衡器运行服务

Kubernetes并非解决上述问题的唯一解决方案。 Docker Swarm、Amazon Container Service和Mesosphere也是可选的方案。但值得强调的是,Kubernetes有一个活跃的开源贡献者社区、强大的架构以及在许多商业云上运行的能力,此外,它运行在裸机上。

编译:Jonathan Zhang
作者:claire jin
来源:https://opensource.com/life/16/9/containing-container-chaos-kubernetes

K8S技术社区当前有两大技术推广平台,K8S技术社区官方网站(www.k8s.cn)和K8S技术社区微信公众平台(kubernetescn),我们欢迎广大K8S技术同好们关注支持,也希望集合K8S技术极客进群交流(筒子们后台留言微信号!),有任何建议或问题都可以随时与我们取得沟通(admin@k8s.cn),感谢支持!

本文转移K8S技术社区-用K8S解决容器的混乱(下)

原文链接:https://yq.aliyun.com/articles/679137
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章