OpenStack 命令化管理详解

本贴最后更新于 2282 天前,其中的信息可能已经时移世异

OpenStack 命令化管理详解

说明 :
Kolla 安装成功 OpenStack 后,可使用 Horizon(Dashboard)后台管理界面操作维护云计算集群,作者在工作使用过程中发现使用 Horizon 界面操作过于繁琐和难以理解,而使用 OpenStack 客户端命令行操作更为简洁明了,于是整理了较为完善的命令行操作说明。

1、公网、内网、路由

删除执行 /usr/share/kolla-ansible/init-runonce 初始化配置的默认网络

openstack router delete 'demo-router'
openstack network delete 'demo-net'
openstack network delete 'public1'

创建 flat 类型公网,物理网络设备名见:less /etc/kolla/neutron-openvswitch-agent/ml2_conf.ini

openstack network create --provider-network-type flat \
  --provider-physical-network physnet1 \
  --external --share '公网'

创建公网子网

openstack subnet create \
  --subnet-range 10.0.20.0/24 --gateway 10.0.20.1 \
  --allocation-pool start=10.0.20.99,end=10.0.20.149 \
  --dns-nameserver 223.5.5.5 --dns-nameserver 8.8.8.8 \
  --network '公网' '公网子网'

创建 vxlan 类型内网

openstack network create --provider-network-type vxlan '内网'

创建内网子网

openstack subnet create \
  --subnet-range 10.0.0.0/24 --gateway 10.0.0.1 \
  --allocation-pool start=10.0.0.99,end=10.0.0.149 \
  --dns-nameserver 223.5.5.5 --dns-nameserver 8.8.8.8 \
  --network '内网' '内网子网'

创建路由,绑定到公网

openstack router create '路由器'
openstack router set --enable-snat --external-gateway '公网' \
  --fixed-ip subnet=公网子网,ip-address=10.0.20.98 '路由器'

创建内网网关接口,并绑定到路由

openstack port create --fixed-ip subnet=内网子网,ip-address=10.0.0.1 \
  --network '内网' '内网网关接口'
openstack router add port '路由器' '内网网关接口'

删除路由、内网、公网

openstack router remove subnet '路由器' '内网子网'
openstack router remove subnet '路由器' '公网子网'
openstack router delete '路由器'
openstack network delete '内网'
openstack network delete '公网'

2、实例类型

查看实例类型列表

openstack flavor list

删除初始化的实例类型

openstack flavor delete '1'

创建一个实例类型

openstack flavor create --id 1 \
    --vcpus 2 --ram 1024 --disk 1 \
    --public 'm.small'

3、系统镜像

查看镜像列表

openstack image list

删除镜像

openstack image delete 'CentOS 7.5 64位'

上传镜像到集群:CentOS 7.5 64 位

openstack image create --disk-format qcow2 \
  --min-disk 4 --min-ram 1024 \
  --file /root/cloud-images/CentOS-7-x86_64-GenericCloud-1805.qcow2c \
  --public 'CentOS 7.5 64位'

4、虚拟机实例

创建一个私钥

mkdir -p ~/openstack/cloud-keypairs
ssh-keygen -t rsa -b 2048 -f '~/openstack/cloud-keypairs/s100-keypair' -P ''

删除密钥对

openstack keypair delete 's100-keypair"

创建密钥对

openstack keypair create --public-key ~/cloud-keypairs/s100-keypair.pub 's100-keypair'

删除公网浮动 IP

openstack floating ip delete '10.0.20.100'

删除私网 IP 接口

openstack port delete 's100-port'

删除已有实例

openstack server delete --wait 's100'

创建私网 IP 接口

openstack port create --device-owner compute:nova \
  --fixed-ip subnet=内网子网,ip-address=10.0.10.100 \
  --network '内网' 's100-port'

创建公网浮动 IP,并绑定到私网

openstack floating ip create --subnet '公网子网' \
  --floating-ip-address 10.0.20.100 \
  --port 's100-port' \
  '公网'

生成 cloud-init 配置文件,注意 CoreOS、CentOS、Ubuntu 的 cloud-init 文件各有不同

mkdir -p ~/openstack/cloud-configs
tee ~/openstack/cloud-configs/s100-cloudinit.yml <<EOF
#cloud-config
chpasswd:
  list: |
    root:openstack
  expire: false
disable_root: false
ssh_pwauth: yes
timezone: Asia/Shanghai
EOF

创建实例并绑定私网 IP 接口和浮动 IP

openstack server create --image 'CentOS 7.5 64位' --flavor 'm.small' \
  --key-name 's100-keypair' --availability-zone 'nova' --port 's100-port' \
  --user-data ~/openstack/cloud-configs/s100-cloudinit.yml --wait 's100'
  • kolla
    2 引用
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...