容器中使用块存储场景多方面选择实施-睿云智合科技

我使用Rancher或者Kubernetes之类的容器编排软件来管理应用,每一个应用有多个微服务;每一个微服务又对应多个容器来并行对外提供服务。

    Rancher

    在Rancher里面,应用被称之为Stack,每一个stack包含一到多个service;service即微服务,微服务之间按照单一职责划分,只做一件事情。service属于逻辑的概念,真正做事的是各service对应的containers。如果希望通过为service扩容,就增加service对应的container数量;这些container无状态,可被调度到多台宿主机上,它们必须使用共享存储来保障业务的持续性。

    Kubernetes

    在Kubernetes中,业务也是由一到多个service来共同完成的,这里的service与Rancher中service的概览类似。Kubernetes的service是一个外部访问点(endpoint),通过selector指定labels的方式可以选定一组pods,service为这组pods提供访问代理和负载均衡。外部的客户端只需知道service所暴露的端口和IP就能够访问到业务。由于pod是无状态的,因此同Rancher一样,也需要将业务数据存储到共享存储上,还必须保障同一个service对应的多个pods均能共享该业务数据。

你可能感兴趣的:(容器中使用块存储场景多方面选择实施-睿云智合科技)