进阶
核心原理
API/CLI
阿里云为服务器提供一套功能强大、完整的 API 以及 CLI 操作方式,为自动化提供了坚实的基础。
阿里云官方有两套CLI,分别是Python版和GO语言版,官方推荐使用Go语言版本。
配置
通过 aliyun help 查询参数值,下面范例中有两个配置,分别代表阿里云和AlibabaCloud,current 表示默认配置
{
"current": "default",
"profiles": [
{
"name": "default",
"mode": "AK",
"access_key_id": "LTAIxudddf",
"access_key_secret": "boeIdddqRNumc",
"sts_token": "",
"ram_role_name": "",
"ram_role_arn": "",
"ram_session_name": "",
"private_key": "",
"key_pair_name": "",
"expired_seconds": 0,
"verified": "",
"region_id": "cn-hongkong",
"output_format": "json",
"language": "zh",
"site": "china",
"retry_timeout": 0,
"connect_timeout": 0,
"retry_count": 0
},
{
"name": "global",
"mode": "AK",
"access_key_id": "LTdddxg",
"access_key_secret": "xyNo3Oddd4LEOB",
"sts_token": "",
"ram_role_name": "",
"ram_role_arn": "",
"ram_session_name": "",
"private_key": "",
"key_pair_name": "",
"expired_seconds": 0,
"verified": "",
"region_id": "cn-hongkong",
"output_format": "json",
"language": "zh",
"site": "",
"retry_timeout": 0,
"connect_timeout": 0,
"retry_count": 0
}
],
"meta_path": ""
}
常用命令
#交互式配置凭证
aliyun configure
#多个凭证下,指定一个凭证集
aliyun --profile
#查询所有镜像
aliyun ecs DescribeImages --Architecture x86_64 --ImageOwnerAlias system --PageSize 100 --output cols=OSName,ImageId,CreationTime rows=Images.Image[]
导出云市场商品
-
打开 API 调试器
-
SearchTerm 填写“长沙网久软件有限公司。筛选项:key=productType, vaule=MIRROR;
-
导出数据:复制 Json 内容到 Jason转Excel 工具中导出
[
{ 第一个商品 },
{ 第二个商品 },
{ 第n个商品 },
{ 最后一个商品}
]
导入私有镜像
阿里云导入镜像流程 已经描述非常详 细,下面只列出概要以及注意事项:
- 本地 VMWare 导入 ISO 原生镜像
- 虚拟机上安装 cloud-init 、安骑士和云助手,关闭防火墙和Selinux
- 使用 VMWare 导出虚拟机为 OVF 镜像,然后通过转换镜像格式 转换为 VDH 格式
- 将 VDH 文件上传至阿里云 OSS,然后导入私有镜像
镜像导入成功过后,可能仍然存在下面的常见问题:
虚拟机没有网络?
vim /etc/sysconfig/network-scripts/ifcfg-ens33,将ONBOOT=no改为yes,重启后生效
阿里云版本的 cloud-init 安装不上?
尝试安装 cloud-init 社区原版
系统盘无法自动扩展?
这个问题比较复杂,但主要考虑两个方向:
- 创建虚拟机时磁盘分区尽量简单化,比如说:只设置 1 个分区
- 系统中安装磁盘自动扩容的插件