生产中 Ubuntu 上的最小 Kubernetes 集群
Minimal Kubernetes Cluster on Ubuntu in production
我在 Ubuntu 18.04 机器上有一个工作生产环境,带有应用程序 运行 docker-compose(专用 8gb RAM 和 Intel i7-4790)。作为迁移到云端的中间步骤,我正在使用 Kompose 将其迁移到 Kubernetes。对于开发环境,我使用的是不用于生产的 minikube。
通过阅读Out of the Clouds onto the Ground: How to Make Kubernetes Production Grade Anywhere我看到了一些推荐的生产级标准,但我可以在开始时牺牲 Kubernetes 的一些分布式优势,因为这个应用程序可用性并不关键。
我想在生产中使用 minikube 之前先行一步,以便进一步进行云部署,但我只有这台机器可以开始。在我的情况下你会推荐什么?
从 Minikube 或 microk8s 迁移到 On Premises Kubernetes 是一个巨大的飞跃。
根据 Dan Lorenc(帮助创建 Minikube)的说法,您不在生产中使用 Minikube 是正确的:
Anything that you need reliability for, like anything you're going to use in production, you should not use Minikube for. You should use something that has at least two or three nodes so, if something crashes, you don't lose all of your data.
如果可能的话,我会建议在一些大型云提供商 AWS、Azure、GCP、DigitalOcean 等上管理 kubernetes。这样你就跳过了 Kuberenetes 的设置,而你是由内置云提供商 Load Balancer 提供的。
如果您可以选择在本地开始使用 Kubernetes,我将从 Kelsey Hightower 提供的 material 开始,例如 this link 上的 material。
Rancher 实验室开源了 k3s 项目,以便在 k8s 集群学博士不可行的情况下轻松安装 kubernetes。检查他们的 project on github.
如果你考虑 bootstrap 裸机平台上的 Kubernetes 集群,那么我会看一下 kubeadm。它最适合支持多节点的 Kubernetes 集群,并提供大量功能和定制选项。
- 基础设施供应 - Cluster API
- 第三方网络CNI插件支持
- 用于监控、日志记录和可视化的插件。
- 特定的云提供商集成(负载平衡器、存储
类, 等等)
然而,将 Kubernetes 迁移到云环境可以为管理 Kubernetes 集群带来更有效的方式。由于大多数云提供商原生提供 Kubernetes 引擎(GKE, EKS, AKS,等等)。
我在 Ubuntu 18.04 机器上有一个工作生产环境,带有应用程序 运行 docker-compose(专用 8gb RAM 和 Intel i7-4790)。作为迁移到云端的中间步骤,我正在使用 Kompose 将其迁移到 Kubernetes。对于开发环境,我使用的是不用于生产的 minikube。
通过阅读Out of the Clouds onto the Ground: How to Make Kubernetes Production Grade Anywhere我看到了一些推荐的生产级标准,但我可以在开始时牺牲 Kubernetes 的一些分布式优势,因为这个应用程序可用性并不关键。
我想在生产中使用 minikube 之前先行一步,以便进一步进行云部署,但我只有这台机器可以开始。在我的情况下你会推荐什么?
从 Minikube 或 microk8s 迁移到 On Premises Kubernetes 是一个巨大的飞跃。
根据 Dan Lorenc(帮助创建 Minikube)的说法,您不在生产中使用 Minikube 是正确的:
Anything that you need reliability for, like anything you're going to use in production, you should not use Minikube for. You should use something that has at least two or three nodes so, if something crashes, you don't lose all of your data.
如果可能的话,我会建议在一些大型云提供商 AWS、Azure、GCP、DigitalOcean 等上管理 kubernetes。这样你就跳过了 Kuberenetes 的设置,而你是由内置云提供商 Load Balancer 提供的。
如果您可以选择在本地开始使用 Kubernetes,我将从 Kelsey Hightower 提供的 material 开始,例如 this link 上的 material。
Rancher 实验室开源了 k3s 项目,以便在 k8s 集群学博士不可行的情况下轻松安装 kubernetes。检查他们的 project on github.
如果你考虑 bootstrap 裸机平台上的 Kubernetes 集群,那么我会看一下 kubeadm。它最适合支持多节点的 Kubernetes 集群,并提供大量功能和定制选项。
- 基础设施供应 - Cluster API
- 第三方网络CNI插件支持
- 用于监控、日志记录和可视化的插件。
- 特定的云提供商集成(负载平衡器、存储 类, 等等)
然而,将 Kubernetes 迁移到云环境可以为管理 Kubernetes 集群带来更有效的方式。由于大多数云提供商原生提供 Kubernetes 引擎(GKE, EKS, AKS,等等)。