暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用阿里云CLI设置负载均衡CLB权重数值

运维笔谈 2025-02-21
118

 使用阿里云Cli命令 aliyun slb SetBackendServers <参数>来处理。



弹性云主机需要调整下阿里云CLB(原来的SLB)权重,比如某个时间段权重为100,其他时间段权重为0(不调度流量)。翻阅了阿里云帮助文档发现可以使用阿里云CLI,也就是aliyun 这个命令来处理。





01


安装阿里云CLI:aliyun




我们可以从Github(如下)或者阿里云官方地址下载阿里云CLI安装包。


    https://github.com/aliyun/aliyun-cli


    示例:从阿里云官方地址wget下载tar包。


      cd $HOME/aliyun
      wget https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-amd64.tgz
      tar xzvf aliyun-cli-linux-latest-amd64.tgz
      sudo cp aliyun usr/local/bin
      # 验证安装
      aliyun --version




      02


      配置aliyun



      我们使用aliyun命令管理我们的云资源是需要配置权限的,比如我们设置一个RAM用户来管理SLB,我们这个用户是需要有AliyunSLBFullAccess(用于负载均衡)。用户创建好之后,我们需要创建AccessKey。


      然后记录生成的 AccessKey ID 和 AccessKey Secret,这些信息将在后续配置中使用。


      1、aliyun configure 命令配置身份凭证和默认区域,此命令为交互式,最终生成的文件在当前用户home目录的.aliyun。


        aliyun configure


        按照提示输入以下信息:


        • AccessKey ID:在创建RAM用户时生成的 AccessKey ID。

        • AccessKey Secret:在创建RAM用户时生成的 AccessKey Secret。

        • Default Region Id:希望使用的默认区域ID,例如 cn-shanghai。

        • Default Output Format:输出格式,默认为 json。


        验证配置,输入如下命令会查询当前云资源中SLB信息。

          aliyun slb DescribeLoadBalancers



          02


          使用aliyun slb SetBackendServers 命令



          我们先来查看下aliyun slb子命令有很多,我们可以使用aliyun slb --help,这里就不一一展示了,我们主要使用aliyun slb SetBackendServers,我们来查看下help,帮助说明非常详细,还有具体的配置示例参考,这一点非常赞


            aliyun slb SetBackendServers --help
            阿里云CLI命令行工具 3.0.253


            Product: Slb (负载均衡)


            Parameters:
              --LoadBalancerId String  Required


              传统型负载均衡实例ID。


              --BackendServers String  Optional


              要修改的后端服务器列表。


              取值:是一个Json string,其结构是一个JsonList。一次请求中,列表最多支持20个元素。


              * **ServerId**:String类型,必选,后端服务器的实例ID。


              * **Port**:Integer类型,后端服务器使用的端口,取值范围:**1**~**65535**。


              * **Weight**:Integer类型,后端服务器的权重,取值范围:**0**~**100**。


              * **Description **:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。


              * **Type**:String类型,表示后端服务器的实例类型,取值:


                * **ecs**(默认):ECS实例。


                * **eni**:弹性网卡实例。只有性能保障型实例支持添加eni类型的后端服务器。


              *  **ServerIp**:ECS或者ENI的实例IP。


              示例说明如下:


              * 挂载ECS示例:


               `[{ "ServerId": "ecs-******FmYAXG""Weight""100""Type""ecs",  "Port":"80","Description":"test-112" }]`


              * 挂载ENI:


                `[{ "ServerId""eni-xxxxxxxxx""Weight""100""Type""eni""ServerIp""192.168.**.**""Port":"80","Description":"test-112" }]`


              *  挂载ENI多IP:


                `[{ "ServerId""eni-xxxxxxxxx""Weight""100""Type""eni""ServerIp""192.168.**.**""Port":"80","Description":"test-112" },{ "ServerId""eni-xxxxxxxxx""Weight""100""Type""eni""ServerIp""172.166.**.**""Port":"80","Description":"test-113" }]`


              > * 只有运行中的后端服务器才能被加入负载均衡实例,每次调用最多可添加20个后端服务器。


              --RegionId String  Optional


              传统型负载均衡实例的地域ID。
            最终调整CLB下节点权重命令如下:
              aliyun slb SetBackendServers --RegionId cn-shanghai \
                                           --LoadBalancerId lb-*****xxxxxx*** \
                                           --BackendServers '[{"ServerId""i-u****""Weight": 0, "Port": 80}]'
              登录控制台验证可行。

              文章转载自运维笔谈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论