我是微服务和Kubernetes的新手。我正在做一个附带项目(用于学习目的),其中我有5个微服务。其中3个微服务仅使用DB存储TXN数据。但这些数据可能是巨大的。剩下的2个与DB对话以进行CRUD操作。我有以下疑问。有人能帮帮我吗?
1.在工作节点上,我可以同时部署Application和DB Pod吗?我的意思是,这种方法是否可扩展?
1.我读到我们不应该将DB容器和Application容器放在一个pod中,因为它会产生紧密耦合。是这样吗?
1.如果我在单独的节点上创建了一个数据库集群,那么我的缓存pod应该放在哪里?它将是应用程序pod中的容器,还是作为工作节点上的单独pod,还是其他一些方法?我的微服务可以在地理上分布。
1条答案
按热度按时间jm81lzqq1#
在过去的6个月里,我一直在学习Docker和K8s,并参与了K8s项目。根据我的经验,在一个工作节点中部署应用程序和DB pod是不可伸缩的。因为部署在不同的节点将有助于独立的可扩展性和灵活性。但是您可以在一个节点中部署,就像使用Minikube进行开发一样。
关于该高速缓存pod的问题,您可以使用像Redis这样的sidecar容器沿着应用程序pod。通过遵循这种方法,高速缓存可以被放置在靠近应用的位置,这给出了对高速缓存数据的相对快速的访问。
你可以在这里查看我们的应用部署和Redis缓存实现的架构:https://github.com/wso2/apk
边车集装箱图案说明:https://medium.com/bb-tutorials-and-thoughts/kubernetes-learn-sidecar-container-pattern-6d8c21f873d