sme*_*eeb 3 architecture docker kubernetes
所以我试图围绕一个典型的Kubernetes pod看起来像什么.根据他们的文档,一个pod:
" 一个pod(如在一群鲸鱼或豌豆荚中)对应于一个以共享上下文运行的共同应用程序组. "
后来在同一篇文章中:
" Pod可用于托管垂直集成的应用程序堆栈,但它们的主要动机是支持共存...... "
好的,您可以将单个窗格组织为整个垂直堆栈(从数据库到Web应用程序).但显然这通常不是它的组织方式,所以我认为通常一个" 横向 "组织是首选的(为什么??).
但对我来说,水平分层/分层意味着你在一个pod中只有一个容器,因为通常在每个服务层(web,app,cache,db等)中你都有一种类型的组件.
我们举一个具体的例子.假设我们有以下垂直堆栈:
这些是应用程序堆栈中相当典型的组件.如果我们反对Kubernetes自己的建议,并创建"垂直对齐"的pod,每个pod将由每层的一种类型的容器(web/app服务器,每个微服务,每个DB等)组成.
但是如何组织水平对齐的吊舱呢?什么容器会进入哪个容器?
Pod是Kubernetes的基本调度单元.通常情况下,pod只有一个容器在其中运行,因为大多数容器可以独立调度(即它们不需要共同位于同一台机器上).
关于您的示例,您可以将大多数容器放在单个pod中,并使用Replication Controller根据需要水平扩展每个Pod(以及容器)的副本数.与复制控制器一起,您还需要服务在副本之间进行负载平衡.可以使用pod /复制控制器/服务上的标签来组织垂直层,例如tier=message_broker
.
编辑:
将整个堆栈放在一个pod中并不是一个好主意的原因是它限制了你的灵活性:
归档时间: |
|
查看次数: |
782 次 |
最近记录: |