Virtual machine 虚拟化或不虚拟化kubernetes部署的裸机服务器

Virtual machine 虚拟化或不虚拟化kubernetes部署的裸机服务器,virtual-machine,kubernetes,virtualization,cloud-bare-metal,Virtual Machine,Kubernetes,Virtualization,Cloud Bare Metal,我想在大型物理服务器(24核)上部署kubernetes,但我对很多事情都不确定 除了在裸机上运行之外,为k8s群集创建虚拟机的优缺点是什么 我有以下考虑: 创建虚拟机将允许工作负载隔离。可以创建用于实验的新虚拟机并将其分配给开发人员 另一方面,k8s在裸机上运行时,可以为每个开发人员创建一个新的名称空间进行实验,他们可以在其中运行代码。毕竟他们的代码应该在docker容器中运行 安全性: 拥有虚拟机将限制未来维护人员的访问量,从而限制可能造成的损害。而另一方面,未来维护人员的主要任务是添

我想在大型物理服务器(24核)上部署kubernetes,但我对很多事情都不确定

除了在裸机上运行之外,为k8s群集创建虚拟机的优缺点是什么

我有以下考虑:

  • 创建虚拟机将允许工作负载隔离。可以创建用于实验的新虚拟机并将其分配给开发人员
  • 另一方面,k8s在裸机上运行时,可以为每个开发人员创建一个新的名称空间进行实验,他们可以在其中运行代码。毕竟他们的代码应该在docker容器中运行
安全性:

  • 拥有虚拟机将限制未来维护人员的访问量,从而限制可能造成的损害。而另一方面,未来维护人员的主要任务是添加/删除节点,他们需要裸机访问才能做到这一点
身份验证:

  • 目前,开发人员只会在其代码通过CI管道运行并部署其正在运行的部署时接触服务器。但是查看日志呢?我们是否可以设置分层kubectl身份验证,以允许开发人员仅访问分配给他们的任何名称空间(我相信这应该可以通过k8s名称空间授权插件实现)

服务器上已存在多个虚拟机。这会成为一个问题吗?

128核和疑问。。。。对于一台服务器来说,这是很多核心

但对于kubernetes而言,这并不相关: Kubernetes可以使用不同大小的服务器,并最大限度地利用它们。但是,如果将主服务器进程和节点/工作进程组合在一台服务器上,则可能会产生不必要的资源问题。正如您已经提到的,您可以使用名称空间管理这些


我们所做的是在单个dev/qa kubernetes环境中使用与名称空间的持续集成,在该环境中,更改有自己的名称空间(因此我们运行许多名称空间),并在这些名称空间中运行完整的环境部署。使用一组shell脚本来管理这一点。这既适用于现有的大型服务器,也适用于较小(或虚拟)的服务器。虚拟化对您的好处主要在于将大型机箱拆分为小型机箱,以便您也可以将其用于其他用途,而不仅仅是kubernetes(是的,kubernetes运行的是MS Windows,没有台式机,没有用于VPN目的的内核模块等)。

128个内核和虚拟机。。。。对于一台服务器来说,这是很多核心

但对于kubernetes而言,这并不相关: Kubernetes可以使用不同大小的服务器,并最大限度地利用它们。但是,如果将主服务器进程和节点/工作进程组合在一台服务器上,则可能会产生不必要的资源问题。正如您已经提到的,您可以使用名称空间管理这些


我们所做的是在单个dev/qa kubernetes环境中使用与名称空间的持续集成,在该环境中,更改有自己的名称空间(因此我们运行许多名称空间),并在这些名称空间中运行完整的环境部署。使用一组shell脚本来管理这一点。这既适用于现有的大型服务器,也适用于较小(或虚拟)的服务器。虚拟化的好处主要在于将大型机箱拆分为小型机箱,以便您也可以将其用于其他目的,而不仅仅是kubernetes(是的,kubernetes运行的是MS Windows,没有桌面,没有用于VPN目的的内核模块等)。

我将以不同虚拟机的形式将开发和生产分开。我曾经在docker中有一个webapp,它使用了太多线程,所以主机上的docker守护进程崩溃了。它仅限于一个主机。您可以通过设置限制来保护这一点,但这是一个风险:dev中的一个错误也可能导致prod停止

我会以不同虚拟机的形式将dev和prod分开。我曾经在docker中有一个webapp,它使用了太多线程,所以主机上的docker守护进程崩溃了。它仅限于一个主机。您可以通过设置限制来保护这一点,但这是一个风险:dev中的一个错误也可能导致prod停止

我认为答案是“视情况而定!”这不是真正的答案。就我个人而言,我会使用虚拟机拆分机器并以这种方式进行部署。您可以更灵活地分配多少服务器资源,并且可以轻松创建新环境,然后轻松销毁

即使这些虚拟机真的很大,我认为如果机器上有现有的虚拟机,管理起来也更容易

也就是说,不能运行单节点服务器并不是技术原因,但在升级过程中可能会遇到停机问题(如果这是一个问题),如果服务器需要修补或重新启动,则整个集群都会停机

我将研究您的环境对HA和正常运行时间的需求,以及如何部署VM(如果您这样做的话),并决定什么最适合您

我认为答案是“视情况而定!”这不是真正的答案。就我个人而言,我会使用虚拟机拆分机器并以这种方式进行部署。您可以更灵活地分配多少服务器资源,并且可以轻松创建新环境,然后轻松销毁

即使这些虚拟机真的很大,我认为如果机器上有现有的虚拟机,管理起来也更容易

也就是说,不能运行单节点服务器并不是技术原因,但在升级过程中可能会遇到停机问题(如果这是一个问题),如果服务器需要修补或重新启动,则整个集群都会停机

我将研究您的环境对HA和正常运行时间的需求,以及如何部署VM(如果您这样做的话),并决定