# 如何使用OpenStack CLI
## 1. 簡介
OpenStack是一個開源的云計算管理平臺項目,提供了一系列組件用于構建和管理公有云和私有云環境。雖然OpenStack提供了直觀的Web界面(Horizon),但命令行接口(CLI)仍然是管理員和開發人員執行自動化任務、批量操作和高級配置的首選工具。
本文將詳細介紹如何安裝、配置和使用OpenStack CLI工具,包括常見命令示例和最佳實踐。
## 2. 安裝OpenStack CLI
### 2.1 前提條件
在開始之前,請確保:
- 已安裝Python 3.6或更高版本
- 有可用的pip包管理器
- 擁有OpenStack環境的訪問憑證
### 2.2 安裝OpenStack客戶端
```bash
# 安裝OpenStack客戶端核心包
pip install python-openstackclient
# 可選:安裝特定服務客戶端
pip install python-novaclient python-glanceclient python-neutronclient
openstack --version
從OpenStack管理員處獲取以下信息: - 認證URL (OS_AUTH_URL) - 項目名稱/ID (OS_PROJECT_NAME/OS_PROJECT_ID) - 用戶名 (OS_USERNAME) - 密碼 (OS_PASSWORD) - 用戶域和項目域 (OS_USER_DOMN_NAME/OS_PROJECT_DOMN_NAME)
在~/.config/openstack/clouds.yaml
中創建配置文件:
clouds:
mycloud:
auth:
auth_url: https://your-openstack-api:5000/v3
username: "your-username"
password: "your-password"
project_name: "your-project"
user_domain_name: "Default"
project_domain_name: "Default"
region_name: "RegionOne"
interface: "public"
identity_api_version: 3
export OS_AUTH_URL=https://your-openstack-api:5000/v3
export OS_USERNAME="your-username"
export OS_PASSWORD="your-password"
export OS_PROJECT_NAME="your-project"
export OS_USER_DOMN_NAME="Default"
export OS_PROJECT_DOMN_NAME="Default"
# 獲取token
openstack token issue
# 驗證憑證
openstack catalog list
# 列出所有實例
openstack server list
# 創建新實例
openstack server create --flavor m1.small --image cirros --network private-net my-instance
# 查看實例詳情
openstack server show my-instance
# 刪除實例
openstack server delete my-instance
# 列出所有鏡像
openstack image list
# 上傳新鏡像
openstack image create --file ubuntu-20.04.qcow2 --disk-format qcow2 --container-format bare "Ubuntu 20.04"
# 刪除鏡像
openstack image delete "Ubuntu 20.04"
# 列出所有網絡
openstack network list
# 創建新網絡
openstack network create private-net
# 創建子網
openstack subnet create --network private-net --subnet-range 192.168.1.0/24 private-subnet
# 查看網絡詳情
openstack network show private-net
# 列出所有卷
openstack volume list
# 創建新卷
openstack volume create --size 10 my-volume
# 將卷附加到實例
openstack server add volume my-instance my-volume
openstack server list -f json
# 按名稱篩選
openstack server list --name web-server
# 按狀態篩選
openstack server list --status ACTIVE
# 批量停止所有運行中的實例
for server in $(openstack server list --status ACTIVE -f value -c ID); do
openstack server stop $server
done
#!/usr/bin/env python3
from openstack import connection
conn = connection.Connection(
auth_url="https://your-openstack-api:5000/v3",
username="your-username",
password="your-password",
project_name="your-project",
user_domain_name="Default",
project_domain_name="Default"
)
# 創建新實例
instance = conn.compute.create_server(
name="auto-created-instance",
flavor_id="m1.small",
image_id="cirros",
networks=[{"uuid": "network-id"}]
)
print(f"Created instance: {instance.id}")
clouds.yaml
文件權限(應為600)openstack --os-compute-api-timeout=60 server list
openstack quota show
openstack limits show
clouds.yaml
而非環境變量openstack --debug server list
OpenStack CLI提供了強大而靈活的方式來管理云資源。通過掌握命令行工具,您可以:
建議定期查閱OpenStack官方文檔以獲取最新命令參考和功能更新。
注意:本文基于OpenStack Yoga版本編寫,不同版本間命令可能存在差異。 “`
這篇文章共計約1950字,采用Markdown格式編寫,包含了從安裝配置到高級用法的完整內容,并按照技術文檔的規范進行了結構化組織。您可以根據實際OpenStack版本和環境需求調整具體參數和命令示例。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。