IDC

通过virtual-kubelet-autoscaler将Pod自动调度到虚拟节点 - 弹性

作者:admin 2021-09-17 我要评论

本文介绍当Kubernetes集群中真实节点计算资源不足时,如何通过virtual-kubelet-autoscaler插件将Pod创建调度到虚拟节点,让您的业务享受到极致弹性的体验。 背景...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

本文介绍当Kubernetes集群中真实节点计算资源不足时,如何通过virtual-kubelet-autoscaler插件将Pod创建调度到虚拟节点,让您的业务享受到极致弹性的体验。

背景信息

virtual-kubelet-autoscaler插件将Pod创建调度到虚拟节点如下图所示。

前提条件

您已经创建了集群。具体操作,请参见创建Kubernetes集群

操作步骤

1. 登录阿里云容器服务控制台查看您的集群。

2. 安装ack-virtual-node插件

3. 安装virtual-kubelet-autoscaler插件。

a. 选择市场>应用目录,在右上角搜索virtual-kubelet-autoscaler,单击ack-virtual- kubelet-autoscaler图标。

b. 选择您要安装的集群,单击创建

4. 您可以在集群中执行以下命令确认 ack-virtual-kubelet-autoscaler 运行状况。

 kubectl get deploy -n kube-system

查看真实节点资源使用状况

登录 容器服务 Kubernetes 控制台 查看您的集群节点,可以看到下图有两台ECS做为真实节点,ECS的规格是ecs.c5.large(2 vCPU 4 GiB),规格详细信息请参见计算型实例规格族c5。此时虚拟节点(virtual-kubelet)未分配容器组(Pod)。

部署deployment

准备好您的yaml文件,以下面deployment-autoscaler.yaml文件为例,配置副本数(replicas)为10,每个副本的容器申明了2 vCPU 4 GiB的计算资源。

apiVersion: apps/v1beta2 
kind: Deployment
metadata:
  name: nginx-deployment-autoscaler
  labels:
    app: nginx
spec:
  replicas: 10
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:alpine
        ports:
        - containerPort: 80
        resources:
          requests:
            cpu: 2
            memory: 4Gi

您可以在集群中执行以下命令进行创建。

kubectl create -f deployment-autoscaler.yaml

您也可以在 容器服务 Kubernetes 控制台 选择无状态>使用模板创建

确认Pod调度情况

您可以通过以下命令确认Pod运行状况。

kubectl get pods

您也可以通过以下命令查询单个Pod的事件信息。

kubectl describe pod nginx-deployment-autoscaler-786876b6b-5qtw4

可以看到由于真实节点上计算资源不足,kube-scheduler通过virtual-kubelet-autoscaler把Pod创建二次调度到了虚拟节点上。

此时在控制台上查询集群的节点信息,可以看到虚拟节点上已经分配了10个容器组(Pod)。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 通过virtual-kubelet-autoscaler将Pod

    通过virtual-kubelet-autoscaler将Pod

  • 虚拟节点实现在线业务弹性伸缩 - 弹性

    虚拟节点实现在线业务弹性伸缩 - 弹性

  • 企业级ECI环境规划 - 弹性容器实例

    企业级ECI环境规划 - 弹性容器实例

  • Redis集群应用 - 弹性容器实例

    Redis集群应用 - 弹性容器实例

腾讯云代理商
精彩导读
海外云服务器
热门资讯
腾讯云代理商