Azure Kubernetes服务(AKS)和主节点池

Azure Kubernetes服务(AKS)和主节点池,azure,azure-aks,Azure,Azure Aks,前言 在AKS上创建Kubernetes群集时,请指定要用于节点的虚拟机类型(--节点虚拟机大小)。我了解到,在创建Kubernetes集群之后,您无法改变这一点,这意味着无论何时添加资源,您都将垂直扩展而不是水平扩展 但是,您可以在AKS集群中创建不同的节点池,这些节点池为您的节点使用不同类型的VM。因此,我想,如果您想“更改”最初选择的VM类型,可以添加一个新的节点池并删除旧的节点池(“nodepool1”) 我通过以下步骤进行了尝试: 创建名为“stda1v2”的节点池,VM类型为“St

前言

在AKS上创建Kubernetes群集时,请指定要用于节点的虚拟机类型(
--节点虚拟机大小
)。我了解到,在创建Kubernetes集群之后,您无法改变这一点,这意味着无论何时添加资源,您都将垂直扩展而不是水平扩展

但是,您可以在AKS集群中创建不同的节点池,这些节点池为您的节点使用不同类型的VM。因此,我想,如果您想“更改”最初选择的VM类型,可以添加一个新的节点池并删除旧的节点池(“nodepool1”)

我通过以下步骤进行了尝试:

  • 创建名为“stda1v2”的节点池,VM类型为“Standard_A1_v2”
  • 删除“nodepol1”(
    az-aks-nodepol-Delete——集群名称…-g…-n nodepol1
不幸的是,我遇到了
主代理无法删除

问题

无法删除的“主代理工具”的用途是什么?当我创建AKS集群时(在真实场景中)选择什么类型的VM(非常重要)重要吗


我可以创建其他节点池并让主节点继续使用它的生命吗?如果我的节点池使用更大的虚拟机作为其节点,但主节点池仍然使用“Standard_A1_v2”,这会在将来造成麻烦吗例如?

主节点池是群集中的第一个节点池,您无法删除它,因为它当前不受支持。您可以创建和删除其他节点池,让主节点池保持原样。这不会造成任何问题

对于主节点池,我建议选择一个从长远来看更有意义的VM大小(因为您无法更改它)。B系列非常适合,因为它们价格便宜,而且CPU\mem比率对于平均工作负载来说也很好


ps.您始终可以将主节点池扩展到0个节点,封锁该节点并将其关闭。您必须重复此升级后操作,否则它将工作

主节点池是群集中的第一个节点池,您无法删除它,因为它当前不受支持。您可以创建和删除其他节点池,只需照现在的样子做吧,这不会制造任何麻烦

对于主节点池,我建议选择一个从长远来看更有意义的VM大小(因为您无法更改它)。B系列非常适合,因为它们价格便宜,而且CPU\mem比率对于平均工作负载来说也很好


另外,您始终可以将主节点池扩展到0个节点,封锁该节点并将其关闭。您必须重复此升级后操作,否则它将正常工作。

此功能似乎是在您提出问题时引入的,允许您添加新的系统节点池并删除旧的节点池,包括初始节点池。之后我自己在整理集群时遇到了相同的错误消息,我发现我必须将另一个nodepool设置为系统类型才能删除第一个

有更多关于它的信息,但简而言之,Azure NodePool被分为两种类型(“模式”),即系统和用户。当创建单个池时,它将是一种系统类型(支持系统pod调度——因此最好有一个专用的一个或两个节点池供系统使用,然后有第二个用户节点池供实际的应用程序pod使用)


因此,如果您希望删除您唯一的系统池,您需要首先创建另一个节点池,将--mode开关设置为'system'(使用您首选的VM大小等),然后您将能够删除第一个节点池(并且节点池模式在创建后不能更改).

这项功能似乎是在您提出问题时引入的,允许您添加新的系统nodepool并删除旧的系统nodepool,包括初始nodepool。在尝试整理群集时遇到相同的错误消息后,我发现我必须将另一个nodepool设置为系统类型,以便删除e首先

有更多关于它的信息,但简而言之,Azure NodePool被分为两种类型(“模式”),即系统和用户。当创建单个池时,它将是一种系统类型(支持系统pod调度——因此最好有一个专用的一个或两个节点池供系统使用,然后有第二个用户节点池供实际的应用程序pod使用)

因此,如果您希望删除您唯一的系统池,您需要首先创建另一个节点池,将--mode开关设置为'system'(使用您首选的VM大小等),然后您将能够删除第一个节点池(并且节点池模式在创建后不能更改)