首页 > 其他分享 >如何修改Azure Kubernetes Services节点池VM Size

如何修改Azure Kubernetes Services节点池VM Size

时间:2024-01-29 18:01:21浏览次数:15  
标签:Kubernetes AKS VM 群集 -- Services Azure 节点 Size

如何修改Azure Kubernetes Services节点池大小

今天和大家聊聊Azure Kubernetes Services(AKS)修改节点池VM Size的问题。这也是很多客户在使用AKS的过程中都会遇到的一个问题。随着AKS群集使用时间的增长,很多客户都会面临扩展或修改AKS节点池VM Size的问题,具体的原因大致如下:

  • 性能优化:增加节点池中的节点大小可以提高 AKS 集群中运行的应用程序的性能。如果注意到计算资源不足导致资源限制或性能问题,这一点尤其重要
  • 成本优化:通过减少虚拟机大小或节点数量来缩小节点池规模有助于优化成本,特别是在集群始终未充分利用或资源需求减少的情况下
  • 应用程序扩展:随着应用程序工作负载的增长,可能需要通过添加更大的虚拟机或其他节点来扩展 AKS 集群,以满足增加的需求并保持性能水平。
  • 资源要求:如果应用程序的资源要求发生变化,则可能需要更改节点池大小
  • 工作负载变化:如果应用程序遇到工作负载波动,可能需要考虑使用 Kubernetes Horizontal Pod Autoscaler (HPA) 或 Azure Kubernetes Service (AKS) Cluster Autoscaler 等工具自动调整节点池的大小。这些工具根据工作负载需求自动调整节点数量,确保最佳资源分配

但其实截至到目前为止,AKS是不支持在不重建整个群集或节点池的情况下,更改默认节点池或附加节点池大小的。所以,如果我们想要修改AKS群集节点VM Size的话,可以通过添加新的系统节点池的方式进行操作。

先决条件

  • 具有管理 AKS 群集的适当权限访问 Azure 门户
  • Kubectl 工具安装在本地计算机上并可以访问 AKS 集群
  • Azure CLI 安装在本地计算机上
  • 熟悉 AKS 概念和基本命令行操作

修改方式

首先,我们通过Azure Portal来查看当前AKS群集节点的大小,可以看到,当前的群集节点是D2s_v2大小:

如何修改Azure Kubernetes Services节点池VM Size_Azure

然后我们可以使用如下CLI命令来添加一个系统节点池:

az aks nodepool add --resource-group WorkClient --cluster-name ***-AKS --name nodepool00 --node-count 1 --node-vm-size Standard_DS3_v2 --mode System --no-wait

这里需要注意的是,每个AKS群集只要要有一个包含系统节点的节点池,在我们上面的参数中,--mode参数设置为System,就是将新的节点池设置为系统节点池。因为假设群集只有一个节点池的情况下,我们就需要有一个系统节点池来替换它

如何修改Azure Kubernetes Services节点池VM Size_Azure_02

如果大家想要使用GUI界面进行添加的话,可以通过如下界面来添加新的节点池:

如何修改Azure Kubernetes Services节点池VM Size_VM Size_03

节点池添加好以后,我们可以看到,新添加的节点池vm Size为DS3_v2:

如何修改Azure Kubernetes Services节点池VM Size_Azure_04

接下来我们需要对现有的AKS节点池进行封锁。Cordoning 是一个将特定节点指定为不可调度的过程,有效防止任何其他 Pod 被调度到这些节点上

首先,我们需要使用kubectl get node命令获取想要封锁的节点名称,具体如下:

如何修改Azure Kubernetes Services节点池VM Size_VM Size_05

可以看到,当前我们有两个节点池,接下来可以使用kubectl cordon <node-names>来对指定节点进行封锁:

如何修改Azure Kubernetes Services节点池VM Size_Azure_06

执行好以后,再次使用kubectl get node,可以看到节点已经封锁:

如何修改Azure Kubernetes Services节点池VM Size_Azure_07

节点封锁以后,我们就需要对现有的节点池进行排空。可以使用kubectl rain命令来进行操作。这个动作会在节点耗尽时,它会导致在其他可调度节点上的这些节点上运行的 pod 被驱逐和重新创建。具体命令如下:

kubectl drain aks-lab01-16323815-vmss000002 --ignore-daemonsets --delete-emptydir-data –force

如何修改Azure Kubernetes Services节点池VM Size_Node Pool_08

排空操作完成后,除守护进程集控制的 Pod 之外的所有 Pod 都将在新节点池上运行

接下来,我们就可以在Azure中选中对应的节点池,然后点击删除进行删除原有的节点池啦:

如何修改Azure Kubernetes Services节点池VM Size_VM Size_09

删除以后,我们的节点池VM Size就替换完成喽

 

 

标签:Kubernetes,AKS,VM,群集,--,Services,Azure,节点,Size
From: https://blog.51cto.com/wuyvzhang/9471689

相关文章

  • vmware nat模式详解
    vmwarenat模式主机和虚拟机是怎么联系,怎么上网的?关于natnat主要解决虚拟机上外网问题,虚拟机通过nat服务将内网地址和主机的wan口地址进行转换当虚拟机需要上网的时候,nat就会将数据包nat转换,然后从主机的wan口出去,和vm8虚拟网卡无光,关闭vm8虚拟机还是可以上网,只是无法进行内网......
  • JVM(Java虚拟机) 整理
    JVM整体结构本文主要说的是HotSpot虚拟机,JVM全称是JavaVirtualMachine,中文译名:Java虚拟机简化一下:Java字节码文件Class文件本质上是一个以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑的排列在Class文件中,JVM根据其特定的规则解析该二进制数据,从而得到......
  • VMware - Windows 10 1909 Version 安装
    (注意:使用VMwareworkstation16pro安装windows10的22h2版本可能失败,需要回滚到1909Version即可)VMware虚拟机软件:我使用的VMware版本是VMwareWorkstation16Pro,官网下载试用WindowsISO:版本是cn_windows_10_consumer_editions_version_1909_updated_jan_2020_x64_dvd_4......
  • JVM对象创建与内存分配
    对象创建流程对象内存分配对象内存分配流程图对象栈上分配我们通过JVM内存分配可以知道JAVA中的对象都是在堆上进行分配,当对象没有被引用的时候,需要依靠GC进行回收内存,如果对象数量较多的时候,会给GC带来较大压力,也间接影响了应用的性能。为了减少临时对象在堆内分配的数量,JV......
  • Kubernetes 学习整理(五)
    k8s-ConfigMapConfigureaPodtoUseaConfigMapCreateaConfigMapCreateaConfigMapfromadirectory读取configmap内容并以yaml格式输出createconfigmapfromsingleonefileormorefilescreateconfigmapfromaenvfile:--from-env-file也支持多个en......
  • Vue 数据相关实例方法vm.$watch、vm.$set、vm.$delete介绍
    vm.$watch观察vue实例变化的一个表达式或计算属性函数。回调函数得到的参数为新值和旧值。表达式只接受监督的键路径。对于更复杂的表达式,用一个函数取代。//写法一:this.$watch('a.b.c',function(newVal,oldVal){})//键路径vm.$watch(function(){this.fullName=this.......
  • 虚拟机vmware安装ubuntu磁盘塞满启动爆ubuntu 开机报错 piix4_smbus : SMBus Host Con
    虚拟机vmware安装ubuntu磁盘塞满启动爆ubuntu开机报错piix4_smbus:SMBusHostControllernotenabled错误解决办法  一、vmware硬件增加磁盘空间该虚拟机名称右键[设置]-虚拟机设置-【硬盘(SCSI)】-磁盘实用工具-扩展磁盘容量-【扩展】-增大适当的容量。二、重启VMWA......
  • VMMap内存分析工具
    VMMap是一个运行在windows上的内存Profier工具。按F5刷新数据。 虚拟内存PrivateBytes:进程PrivateCommitted(不含共享库部分)的虚拟内存字节数   对应VMMap的Private、windows任务管理器中的【提交大小】,资源管理器中的【提交】Committed(VMMap):进程PrivateCommitted的......
  • VMware Workstation反虚拟机检测设置方法
    以下方法测试适合16.X,非原创方法一:1.复制以下代码添加到wmx文件isolation.tools.getPtrLocation.disable=“TRUE”isolation.tools.setPtrLocation.disable=“TRUE”isolation.tools.setVersion.disable=“TRUE”isolation.tools.getVersion.disable=“TRUE”mon......
  • Kubernetes 推荐学习资料 课程 视频
    以下是一些推荐的Kubernetes学习资料、课程和视频:学习资料:Kubernetes官方文档:https://kubernetes.io/docs/home/《Kubernetes操作指南》(KubernetesUp&Running)一书,由KelseyHightower、BrendanBurns、JoeBeda著。《KubernetesinAction》一书,由MarkoLuksa著。《Kuberne......