docker - Kubernetes 架构/设计/?
问题描述
我试图找出并学习将我为应用程序拥有的一堆 Docker 容器移动到 Kubernetes 中的模式和最佳实践。诸如 pod 设计、服务、部署等。例如,我可以创建一个包含单个 Web 和应用程序容器的 Pod,但这不是一个好的设计。
用 Kubernetes 搜索架构和设计之类的东西似乎只是产生了关于产品架构或如何实现 Kubernetes 集群的主题,而不是设计 pod、服务等的覆盖面。
社区在 Kubernetes 世界中通常指的是这个应用程序的后期设计,有人可以向我推荐关于这个主题的 101 吗?
谢谢。
解决方案
这个问题的答案可能相当复杂,这就是为什么软件/平台架构师理解 K8s 很重要。
大多数情况下,您会找到一个答案,它告诉您“将每个应用程序组件放在一个 pod 中”。基本上这是正确的,因为 K8s 的主要原因是高可用性、基础设施的容错性等等。这导致我们发现,如果您将每个组件放到一个 pod 中,并使用高于 2 的副本来制作它,那么它将达到连击可用性。
但是你也需要知道你为什么要去 K8s。目前,它是一个热门话题。但是,如果您不想操作集群并且实际上不需要 HA 左右,为什么不在 AWS ECS、Digital Ocean droplets 之类的东西上运行呢?
您目前能找到的最佳答案都是围绕如何设计和切割微服务,因为每个微服务都可以在一个 pod 中表示。此外,一个很好的起点是基于容器的应用程序设计 或InfoQ的 RedHat原则。
推荐阅读
- matlab - 计算有条件的列的平均值
- php - 如何在 PHP 中仅将句点添加到 TIME (02:00:00)
- c# - 如何在 C# 中的一个语句中复制、过滤和排序列表
- javascript - 以控制器的方法作为参数调用辅助方法
- css-selectors - Less 没有找到第一个子选择器
- java - 在 Grobid 中使用 Gradle 时出现如下错误
- android - 将房间和改造与 Dagger2 结合起来
- java - Vertx NetServer 控制读取流
- spring - 如何验证 @RequestQuery 的值
- jenkins - 更新的 Jenkinsfile 无法重新运行蓝海