快速入门阿里云aliyuncli-自动调用服务

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 本博客仅献给那些不会开发的运维,帮助他们通过命令行完成各个服务API的调用。

    在2014年刚开始使用阿里云的时候python才刚入门,当时有个需求比较急就发现了几乎万能的aliyuncli。阿里云的命令行是基于对应服务的python SDK基础上的,所以aliyuncli操作SLB的时候会需要aliyun-python-sdk-slb这个包。


1. 先安装对应服务包:

pip install aliyun-python-sdk-slb==2.1.2

pip install aliyuncli==2.1.2


2.想调用API怎么样, ecs , ess, mts, rds, slb四个服务的接口使用pip安装sdk后aliyuncli既可以使用。

其它服务使用下面方法切换对应的version即可


aliyuncli ram ConfigVersion --version v20150501


v20150501则是SDK的版本,可以从你的SDK代码结构内发现。

[root@test-node1 ~]# ls /usr/lib/python2.6/site-packages/aliyunsdkram/request/
__init__.py  __init__.pyc  v20150501



命令行帮助
[root@test-node1 ~]# aliyuncli slb --help
usage: aliyuncli <command> <operation> [options and parameters]
[slb] valid operations as follows:

AddBackendServers                        	| AddListenerWhiteListItem
AddTags                                  	| AddVServerGroupBackendServers
ConfigVersion                            	| CreateLoadBalancer
CreateLoadBalancerHTTPListener           	| CreateLoadBalancerHTTPSListener
CreateLoadBalancerTCPListener            	| CreateLoadBalancerUDPListener
CreateRules                              	| CreateVServerGroup
DeleteCACertificate                      	| DeleteLoadBalancer
DeleteLoadBalancerListener               	| DeleteRules
DeleteServerCertificate                  	| DeleteVServerGroup
DescribeCACertificates                   	| DescribeHealthStatus
DescribeListenerAccessControlAttribute   	| DescribeLoadBalancerAttribute
DescribeLoadBalancerHTTPListenerAttribute 	| DescribeLoadBalancerHTTPSListenerAttribute
DescribeLoadBalancerTCPListenerAttribute 	| DescribeLoadBalancerUDPListenerAttribute
DescribeLoadBalancers                    	| DescribeRegions
DescribeRuleAttribute                    	| DescribeRules
DescribeServerCertificates               	| DescribeTags
DescribeVServerGroupAttribute            	| DescribeVServerGroups
DescribeZones                            	| ModifyLoadBalancerInternetSpec
ModifyVServerGroupBackendServers         	| RemoveBackendServers
RemoveListenerWhiteListItem              	| RemoveTags
RemoveVServerGroupBackendServers         	| SetBackendServers
SetCACertificateName                     	| SetListenerAccessControlStatus
SetLoadBalancerHTTPListenerAttribute     	| SetLoadBalancerHTTPSListenerAttribute
SetLoadBalancerName                      	| SetLoadBalancerStatus
SetLoadBalancerTCPListenerAttribute      	| SetLoadBalancerUDPListenerAttribute
SetRule                                  	| SetServerCertificateName
SetVServerGroupAttribute                 	| ShowVersions
StartLoadBalancerListener                	| StopLoadBalancerListener
UploadCACertificate                      	| UploadServerCertificate


下面展示一个操作脚本


#!/bin/bash
#自动创建负载均衡并添加后端服务器并开启监听
#author:new.nginxs.net
#date:20170718
CTIME=$(date "+%Y-%m-%d-%H-%m")

#创建负载均衡
/usr/local/bin/aliyuncli slb CreateLoadBalancer > /tmp/create.txt
SLBID=$(grep "LoadBalancerId" /tmp/create.txt | awk -F '"' '{print $4}')
VIP=$(grep "Address" /tmp/create.txt | awk -F '"' '{print $4}')

#创建http监听,监听80端口后端也是80端口,带宽-1表示不限制,,关闭粘性session,关闭健康检查
/usr/local/bin/aliyuncli slb CreateLoadBalancerHTTPListener --LoadBalancerId "$SLBID" --ListenerPort 80 --BackendServerPort 80 --Bandwidth -1 --XForwardedFor on --StickySession off --HealthCheck off

#i-u1cv2vgd9:要添加到后端ECS ID
/usr/local/bin/aliyuncli slb AddBackendServers --LoadBalancerId "$SLBID" --BackendServers [\{\"ServerId\":\"i-udsg4vgd9\",\"Weight\":\"100\"\}]

#启动监听
/usr/local/bin/aliyuncli slb StartLoadBalancerListener --LoadBalancerId "$SLBID" --ListenerPort 80

#测试通过slb是否可以访问后端服务器
sleep 10;
STATUS1=$(curl -s --head http://"$VIP"/heath.html | grep '200 OK')
if [ -n "$STATUS1" ] ;then
	echo "=====SLB access OK====="
else	
	echo "=====SLB access error====="
	exit 1;
fi

总结:

      aliyuncli可以在阿里云的python SDK基础上进行调用。具体命令参数可以直接参考各个服务的 API的参数进行填写,所以特别好用,

适合不会开发的运维同学使用。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
人工智能 芯片
通义千问上新,可一键免费解析超万页文档、速读百份文档
通义千问上新,可一键免费解析超万页文档、速读百份文档
1806 0
|
2月前
|
运维 数据可视化 开发者
2025年 三个 Docker Compose 可视化管理器测评
本文对比了三款主流的 Docker Compose 可视化管理工具。随着 Docker 的普及,Compose 已成为多容器应用部署的标准,但 YAML 配置复杂、协作困难等问题也日益突出。三款工具各有侧重:Docker Desktop 适合个人本地开发,Portainer 适合小团队运维管理,而 Websoft9 则通过 GitOps 实现了强大的版本控制与团队协作能力。文章从可视化编辑、部署便捷性、版本管理等方面进行评测,为不同使用场景提供了推荐方案,展望了未来 Compose 管理向 GitOps 深度融合的发展趋势。
362 1
2025年 三个 Docker Compose 可视化管理器测评
|
8月前
|
JSON 安全 API
VMware Aria Operations for Logs 8.18.3 新增功能简介
VMware Aria Operations for Logs 8.18.3 - 集中式日志管理
178 15
VMware Aria Operations for Logs 8.18.3 新增功能简介
|
Kubernetes 监控 容器
Istio安装及Bookinfo环境部署
文章详细介绍了如何在Kubernetes集群上安装和配置Istio服务网格,并通过部署Bookinfo示例应用来演示Istio的核心功能,如流量管理、服务监控和故障注入等。
250 1
Istio安装及Bookinfo环境部署
|
JavaScript 前端开发 安全
轻松上手Web Worker:多线程解决方案的使用方法与实战指南
轻松上手Web Worker:多线程解决方案的使用方法与实战指南
402 0
|
JavaScript 前端开发 Java
根据地球上任意两点的经纬度计算两点间的距离
根据地球上任意两点的经纬度计算两点间的距离
779 2
|
Python
break语句
break语句
339 2
|
SQL 存储 关系型数据库
COALESCE 函数:SQL中的空值处理利器
【8月更文挑战第31天】
6955 0
|
存储 jenkins 持续交付
R语言使用ARIMA模型预测股票收益时间序列
R语言使用ARIMA模型预测股票收益时间序列