关于 linode-cli
用于通过官方 Linode CLI 在终端管理 Akamai 云资源的技能,涵盖资源命令、输出格式、身份验证和基础设施操作脚本。
主要功能
- 01管理计算实例
- 02操作 Kubernetes 集群
- 03配置 DNS 和网络
- 04管理块存储卷
- 05以表格或 JSON 格式输出
- 06支持 Shell 自动化
适用场景
- 01从终端配置云基础设施
- 02在脚本或 CI/CD 中自动化 Linode 操作
- 03检查资源并排查 CLI 访问问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rawveg/ skillsforge-marketplace --skill linode-cli安装后在 Claude Code 中输入/linode-cli确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
plugin.jsonreferences/index.mdother.md详细介绍
Linode CLI 技能
用于 Linode/Akamai 云基础设施的官方命令行界面。可直接在终端访问 Linode API 端点,轻松管理计算实例、Kubernetes 集群、卷、网络、DNS 等。
何时使用此技能
在以下情况下应使用此技能:
- 管理 Linode 计算实例(创建、列出、更新、删除 Linode)
- **使用 Linode Kubernetes Engine(LKE)**集群和节点池
- 通过 Linode 的 DNS Manager 配置 DNS 域名和记录
- 管理块存储卷及卷附件
- 设置 NodeBalancers 和网络基础设施
- 在脚本或 CI/CD 流水线中自动化 Linode 操作
- 了解 Linode CLI 命令和 API 交互
- 调试 Linode CLI 问题或身份验证问题
- 设置 CLI 输出格式(JSON、表格、自定义字段)
核心概念
CLI 架构
- 根据 OpenAPI 自动生成:CLI 根据 Linode 的 OpenAPI 规范自动生成,可直接访问所有 API 端点
- 基于 Python:使用 Python 3.10+ 构建,通过 pip 安装
- 命令结构:
linode-cli <resource> <action> [options] - 身份验证:使用存储在配置或环境变量中的 API 令牌
核心资源
- linodes:计算实例(虚拟机)
- lke:Linode Kubernetes Engine 集群
- domains:DNS 域名管理
- volumes:块存储卷
- nodebalancers:负载均衡器
- regions:可用的数据中心位置
- images:操作系统映像和自定义映像
输出格式
- 默认:以条理清晰的表格显示关键信息
- --json:用于脚本处理的原始 JSON 输出
- --pretty:带缩进的格式化 JSON
- --format:自定义字段选择
- --all:显示所有可用字段
快速参考
安装和设置
# Install via pip
pip3 install linode-cli
# First-time configuration (interactive)
linode-cli configure
# Set API token via environment
export LINODE_CLI_TOKEN=your_api_token_here
获取帮助
# View all available commands
linode-cli --help
# View help for specific resource
linode-cli linodes --help
# View help for specific action
linode-cli linodes create --help
# List all available regions
linode-cli regions list
# List all available images
linode-cli images list
列出资源
# List all Linodes on your account
linode-cli linodes list
# List domains
linode-cli domains list
# List volumes
linode-cli volumes list
# List Kubernetes clusters
linode-cli lke clusters-list
# Format output with custom fields
linode-cli linodes list --format "id,label,status,region"
# Output as JSON
linode-cli linodes list --json
# Output all available fields
linode-cli linodes list --all
创建计算实例
# Create a basic Linode (uses defaults from config)
linode-cli linodes create \
--type g6-standard-2 \
--region us-east \
--image linode/debian11 \
--label my-server \
--root_pass "SecurePassword123!"
# Create with specific configuration
linode-cli linodes create \
--type g6-standard-4 \
--region us-central \
--image linode/ubuntu22.04 \
--label production-web \
--root_pass "MySecurePass!" \
--group webservers
# Create with authorized SSH keys
linode-cli linodes create \
--type g6-standard-2 \
--region us-west \
--image linode/debian11 \
--label secure-server \
--root_pass "Password123!" \
--authorized_keys "ssh-rsa AAAAB3Nz..."
管理 Kubernetes(LKE)
# Create a Kubernetes cluster with multiple node pools
linode-cli lke cluster-create \
--label my-k8s-cluster \
--region us-central \
--k8s_version 1.28 \
--node_pools.type g6-standard-4 --node_pools.count 3 \
--node_pools.type g6-standard-8 --node_pools.count 2 \
--tags production
# List all clusters
linode-cli lke clusters-list
# Update cluster configuration
linode-cli lke cluster-update $CLUSTER_ID \
--label renamed-cluster \
--tags production \
--tags monitoring \
--tags backup
# Update node pool size
linode-cli lke pool-update $CLUSTER_ID $POOL_ID \
--count 5
# Delete a cluster
linode-cli lke cluster-delete $CLUSTER_ID
DNS 管理
# Create a domain
linode-cli domains create \
--type master \
--domain example.com \
--soa_email [email protected]
# List domains
linode-cli domains list
# Create DNS record
linode-cli domains records-create $DOMAIN_ID \
--type A \
--name www \
--target 192.0.2.1
# Delete a domain
linode-cli domains delete $DOMAIN_ID
卷管理
# Create a Block Storage volume
linode-cli volumes create \
--label my-volume \
--size 100 \
--region us-east
# List volumes
linode-cli volumes list
# Attach volume to Linode
linode-cli volumes attach $VOLUME_ID \
--linode_id $LINODE_ID
# Detach volume
linode-cli volumes detach $VOLUME_ID
高级用法
# Filtering output with jq (requires jq installed)
linode-cli linodes list --json | jq '.[] | select(.status=="running")'
# Using variables in scripts
LINODE_ID=$(linode-cli linodes list --json | jq -r '.[0].id')
echo "First Linode ID: $LINODE_ID"
# Bulk operations example
for region in us-east us-west eu-central; do
linode-cli linodes create \
--type g6-nanode-1 \
--region $region \
--image linode/alpine3.18 \
--label "test-$region" \
--root_pass "TempPassword123!"
done
参考文件
此技能在 references/ 中包含完整文档:
- other.md - 指向 GitHub 上 Linode CLI 官方 Wiki 的链接,其中包含其他文档、指南和社区资源
需要详细信息时,使用 view 阅读特定参考文件。
使用此技能
初学者
- 从安装开始:运行
pip3 install linode-cli,并使用linode-cli configure进行配置 - 了解基础知识:多使用
--help标志来查找可用命令 - 练习列出资源:从简单的列表命令开始,例如
linode-cli linodes list - 在安全模式下测试:使用小型、低成本的实例类型(g6-nanode-1)进行测试
- 阅读输出:默认表格输出旨在便于阅读
中级用户
- 掌握输出格式:学习用于脚本处理的
--json、--format和--all标志 - 自动化常见任务:为重复操作创建 bash 脚本
- 与 jq 结合使用:使用 jq 强大的 JSON 筛选和处理功能
- 管理多个资源:使用 shell 脚本以代码形式创建基础设施
- 使用环境变量:设置
LINODE_CLI_TOKEN,以便进行非交互式自动化
高级用户
- 集成 CI/CD:将 linode-cli 纳入部署流水线
- 基础设施自动化:构建完整的基础设施配置脚本
- 探索 API:使用 CLI 了解 Linode 的 API 结构
- 自定义工具:将 linode-cli 封装到自己的管理工具中
- 访问 OpenAPI:为新功能贡献 OpenAPI 规范
导航提示
- 发现资源:使用
linode-cli --help查看所有可用的资源类型 - 发现操作:每种资源都有不同的操作(list、create、update、delete 等)
- 参数帮助:对任何操作使用
--help,查看必需和可选参数 - 检查 JSON:使用
--json查看任何资源的所有可用字段 - 规划区域:创建资源前,运行
linode-cli regions list
常见模式
身份验证设置
# Method 1: Interactive configuration
linode-cli configure
# Method 2: Environment variable
export LINODE_CLI_TOKEN=your_token_here
# Method 3: Config file (~/.config/linode-cli)
[DEFAULT]
token = your_token_here
region = us-east
type = g6-standard-2
image = linode/ubuntu22.04
实例生命周期
# Create → Boot (automatic) → Use → Power off → Delete
linode-cli linodes create --label test --type g6-nanode-1 --region us-east --image linode/alpine3.18 --root_pass "Test123!"
# Get ID from output or list
LINODE_ID=$(linode-cli linodes list --json | jq -r '.[] | select(.label=="test") | .id')
# Shutdown
linode-cli linodes shutdown $LINODE_ID
# Delete
linode-cli linodes delete $LINODE_ID
脚本模式
#!/bin/bash
set -e # Exit on error
# Configuration
REGION="us-central"
TYPE="g6-standard-2"
IMAGE="linode/debian11"
# Create instance
echo "Creating Linode..."
RESULT=$(linode-cli linodes create \
--type "$TYPE" \
--region "$REGION" \
--image "$IMAGE" \
--label "auto-server-$(date +%s)" \
--root_pass "$(openssl rand -base64 32)" \
--json)
# Extract ID
LINODE_ID=$(echo "$RESULT" | jq -r '.[0].id')
echo "Created Linode ID: $LINODE_ID"
# Wait for running status
while true; do
STATUS=$(linode-cli linodes view $LINODE_ID --json | jq -r '.[0].status')
echo "Status: $STATUS"
[[ "$STATUS" == "running" ]] && break
sleep 5
done
echo "Linode is ready!"
资源
官方文档
- GitHub 仓库:https://github.com/linode/linode-cli
- Akamai TechDocs:https://techdocs.akamai.com/cloud-computing/docs/cli
- API 文档:https://www.linode.com/docs/api/
- 入门指南:https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli
主要功能
- 自动补全:提供 Bash 补全,便于发现命令
- 由 OpenAPI 驱动:始终与最新 API 功能保持同步
- 跨平台:适用于 Linux、macOS 和 Windows(通过 WSL)
- 可编写脚本:非常适合自动化和基础设施即代码
- 全面:可访问所有 Linode API 端点
社区
- 贡献者:49 位活跃贡献者
- 许可证:BSD-3-Clause
- 语言:Python(98.8%)
- 安装:PyPI 软件包(可通过 pip 安装)
提示和最佳实践
安全
- 保护令牌:切勿将 API 令牌提交到版本控制系统
- 使用环境变量:将令牌存储在
.env文件中(已被 git 忽略) - 定期轮换:定期生成新令牌
- 限制权限:使用权限范围受限且仅包含必需权限的令牌
- 设置强密码:始终为实例设置强 root 密码
成本管理
- 从小规模开始:使用 nanode 实例(g6-nanode-1)进行测试
- 删除未使用的资源:移除测试实例,避免不必要的费用
- 监控使用情况:定期检查账户中的活动资源
- 使用标签:使用标签整理资源,便于管理
调试
- 详细输出:添加
--debug标志,获取详细的错误信息 - 检查 JSON:使用
--json --pretty查看完整的 API 响应 - 检查状态:使用
view命令检查资源详情 - API 参考:查阅 API 文档,了解端点详情
故障排除
身份验证问题
# Verify token is set
echo $LINODE_CLI_TOKEN
# Test authentication
linode-cli account view
# Reconfigure CLI
linode-cli configure
常见错误
- 401 未授权:API 令牌无效或已过期
- 404 未找到:资源 ID 不存在或区域不正确
- 422 无法处理:缺少必需参数或发生验证错误
- 429 请求过多:请求过多,请实施退避策略
获取帮助
# Check CLI version
linode-cli --version
# View debug information
linode-cli linodes list --debug
# Check configuration
cat ~/.config/linode-cli
备注
- 此技能根据 Linode CLI 官方文档生成
- CLI 根据 Linode 的 OpenAPI 规范自动生成
- 所有命令和示例均基于官方 Linode API v4
- 命令语法和可用选项可能随 API 更新而变化
- 请始终参考
--help,获取最新的命令文档
更新
要保持 Linode CLI 为最新版本:
# Update via pip
pip3 install --upgrade linode-cli
# Check for new features
linode-cli --help
# Review changelog
pip3 show linode-cli
CLI 会定期更新,以反映 Linode API 的变化。请查看 GitHub 仓库中的发行说明和重大变更。
评论
支持 Markdown