在开始创建之前,请确保你已满足以下条件:
1、拥有有效的 OpenStack 账户和密码:包括你的项目名称、用户名和密码。
2、拥有访问权限:
Dashboard 地址用于网页登录。
API 凭证如果你打算使用命令行,需要下载一个RC
文件(openrc.sh
或project-openrc.sh
),它包含了环境变量。
3、必要的资源可用:
镜像云主机的操作系统模板,如 CentOS、Ubuntu、Windows 等。
规格定义云主机的 CPU、内存和磁盘大小。
网络至少有一个可用的网络,云主机会连接到这个网络以获取 IP 地址。
安全组定义允许访问云主机的网络规则(如 SSH、HTTP、HTTPS 端口)。
密钥对(强烈推荐用于 Linux)用于安全地通过 SSH 登录到云主机。
方法一:通过 Dashboard(Horizon)网页控制台创建
这是最直观的方式,适合新手和日常管理。
1、登录 Dashboard
* 在浏览器中打开你的 OpenStack Dashboard 地址。
* 输入你的用户名和密码,选择正确的项目/域,然后登录。
2、导航到“实例”页面
* 在左侧导航栏中,找到Compute 部分,点击Instances。
3、启动实例
* 点击页面右上角的Launch Instance 按钮。
4、填写实例详情
这会打开一个多步骤的对话框。
Details 标签页
Instance Name为你的云主机起一个名字,例如my-webserver
。
Description(可选)添加描述。
Availability Zone通常保持默认nova
。
Source 标签页选择启动源(镜像)
* 在Select Boot Source 下,通常选择Image
。
* 点击No
旁边的向上箭头,从可用镜像列表中选择一个(如Ubuntu 20.04
或CentOS 8
)。
* 根据需要调整Size (GB)。
Flavor 标签页选择硬件规格
* 从列表中选择一个合适的规格(如m1.small
,c1.medium
),规格定义了 vCPU、内存和根磁盘的大小。
Networks 标签页连接网络
* 在可用网络列表中,选择你想要连接的网络,然后点击其旁边的向上箭头 图标,将其移到 “Selected” 栏。
Network Ports通常不需要修改,使用自动分配即可。
Security Groups 标签页配置防火墙规则
* 默认会选中default
安全组,确保这个安全组允许 SSH(端口 22)或 RDP(端口 3389)的访问,否则你将无法远程登录。
* 你可以点击Manage Rules 来编辑安全组规则。
Key Pair 标签页(关键!用于 Linux)
* 如果你还没有密钥对,点击Create Key Pair,输入一个名字(如my-key
),然后点击创建,浏览器会自动下载一个.pem
文件。请妥善保管此文件!
* 如果你已有密钥对,直接从下拉列表中选择它。
Configuration 和Server Groups 标签页通常可以保持默认。
5、创建实例
* 检查所有配置无误后,点击对话框底部的Launch Instance 按钮。
6、等待并获取IP地址
* 回到 Instances 页面,你会看到新实例的状态从Build
变为Active
,表示创建成功。
* 在实例的IP Address 列,你会看到分配到的 IP 地址,使用这个 IP 和你的密钥文件即可 SSH 登录。
方法二:通过命令行客户端(OpenStack Client)创建
这种方式适合自动化脚本和高级用户。
1、安装并配置 OpenStack Client
安装客户端pip install python-openstackclient
配置环境变量
* 从 Dashboard 下载RC
文件。
在终端中执行source /path/to/your/project-openrc.sh
* 输入你的密码。
2、创建步骤(命令示例)
以下命令演示了创建一个名为cli-vm
的 Ubuntu 云主机的完整流程。
1. 列出可用的镜像,找到 Ubuntu 镜像的 Name 或 ID openstack image list 2. 列出可用的规格 openstack flavor list 3. 列出可用的网络 openstack network list 4. 列出可用的安全组 openstack security group list 5. 列出可用的密钥对 openstack keypair list 6. 启动实例! 将下面的 <image_name>, <flavor_name>, <network_name>, <keypair_name> 替换为实际值 openstack server create \ --image "Ubuntu 20.04" \ --flavor "m1.small" \ --network "private-network" \ --security-group "default" \ --key-name "my-key" \ cli-vm
3、检查状态和连接
查看实例状态openstack server list
查看实例的详细信息,包括 IP 地址openstack server show cli-vm
使用 SSH 登录(假设 IP 是192.168.1.10
)
ssh -i /path/to/your/my-key.pem ubuntu@192.168.1.10
无法 SSH 登录?
* 检查安全组规则是否放行了端口22
(SSH)。
* 检查密钥对是否正确关联,并且使用了正确的私钥文件(.pem
)。
对于 Linux,默认用户通常是
* Ubuntu:ubuntu
* CentOS:centos
* Debian:debian
* Fedora:fedora
* 确保你使用的是私有密钥,而不是公钥。
没有公网IP?
* 你可能需要创建一个浮动 IP 并将其关联到你的云主机。
Dashboard 操作在 Instances 页面,对目标实例点击下拉菜单,选择Associate Floating IP。
命令行操作
# 分配一个浮动IP openstack floating ip create public # 关联浮动IP到实例 openstack server add floating ip cli-vm <floating-ip-address>
使用云初始化(Cloud-Init)
* 在 Launch Instance 对话框的Configuration 标签页中,你可以直接输入#cloud-config
脚本,用于在首次启动时自动化配置主机(如设置密码、安装软件、运行脚本等)。
选择适合你的方法开始创建你的第一台 OpenStack 云主机吧!Dashboard 更适合入门和可视化操作,而命令行则在自动化和批量操作中更强大。
文章摘自:https://idc.huochengrm.cn/zj/17347.html
评论