openstack 创建cirros虚拟机(小节7)


highlight: a11y-dark

theme: github

@TOC

controller1

导入环境变量 [root@controller1 ~]# source scripts/admin_stein.sh 创建网络 [root@controller1 ~]# openstack network create --share --external \ --provider-physical-network external \ <--此处名称必须与'/etc/neutron/plugins/ml2/linuxbridge_agent.ini'中的'physical_interface_mappings = external:eth0'相等 --provider-network-type flat external-net +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Field | Value | +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | admin_state_up | UP | | availability_zone_hints | | | availability_zones | | | created_at | 2022-09-23T01:25:22Z | | description | | | dns_domain | None | | id | 8da22e8c-e478-460e-818b-7ea2805e137f | | ipv4_address_scope | None | | ipv6_address_scope | None | | is_default | None | | is_vlan_transparent | None | | location | Munch({'project': Munch({'domain_name': 'Default', 'domain_id': None, 'name': 'admin', 'id': u'c26c5975bb5a4519a7894f3191b0b425'}), 'cloud': '', 'region_name': '', 'zone': None}) | | mtu | 1500 | | name | external-net | | port_security_enabled | True | | project_id | c26c5975bb5a4519a7894f3191b0b425 | | provider:network_type | flat | | provider:physical_network | external | | provider:segmentation_id | None | | qos_policy_id | None | | revision_number | 1 | | router:external | External | | segments | None | | shared | True | | status | ACTIVE | | subnets | | | tags | | | updated_at | 2022-09-23T01:25:22Z | +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 查看网络是否创建 [root@controller1 ~]# openstack network list +--------------------------------------+--------------+---------+ | ID | Name | Subnets | +--------------------------------------+--------------+---------+ | 8da22e8c-e478-460e-818b-7ea2805e137f | external-net | | +--------------------------------------+--------------+---------+ 创建子网 ``` [root@controller1 ~]# openstack subnet create --network external-net \

--allocation-pool start=192.168.37.180,end=192.168.37.230 \ --dns-nameserver 223.5.5.5 --gateway 192.168.37.2 \ --subnet-range 192.168.37.0/21 external-sub +-------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Field | Value | +-------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | allocationpools | 192.168.37.180-192.168.37.230 | | cidr | 192.168.32.0/21 | | createdat | 2022-09-23T04:04:28Z | | description | | | dnsnameservers | 223.5.5.5 | | enabledhcp | True | | gatewayip | 192.168.37.2 | | hostroutes | | | id | 7c81426c-7147-44cf-88d7-e794a4a30d08 | | ipversion | 4 | | ipv6addressmode | None | | ipv6ramode | None | | location | Munch({'project': Munch({'domainname': 'Default', 'domainid': None, 'name': 'admin', 'id': u'c26c5975bb5a4519a7894f3191b0b425'}), 'cloud': '', 'regionname': '', 'zone': None}) | | name | external-sub1 | | networkid | 8da22e8c-e478-460e-818b-7ea2805e137f | | prefixlength | None | | projectid | c26c5975bb5a4519a7894f3191b0b425 | | revisionnumber | 0 | | segmentid | None | | servicetypes | | | subnetpoolid | None | | tags | | | updatedat | 2022-09-23T04:04:28Z | +-------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ```

[root@controller1 ~]# openstack subnet list +--------------------------------------+---------------+--------------------------------------+-----------------+ | ID | Name | Network | Subnet | +--------------------------------------+---------------+--------------------------------------+-----------------+ | 7c81426c-7147-44cf-88d7-e794a4a30d08 | external-sub1 | 8da22e8c-e478-460e-818b-7ea2805e137f | 192.168.32.0/21 | +--------------------------------------+---------------+--------------------------------------+-----------------+ 在虚拟网络上创建新的实例 ``` [root@controller1 ~]# openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano +----------------------------+---------+ | Field | Value | +----------------------------+---------+ | OS-FLV-DISABLED:disabled | False | | OS-FLV-EXT-DATA:ephemeral | 0 | | disk | 1 | | id | 0 | | name | m1.nano | | os-flavor-access:ispublic | True | | properties | | | ram | 64 | | rxtxfactor | 1.0 | | swap | | | vcpus | 1 | +----------------------------+---------+

[root@controller1 ~]# openstack flavor create --id 1 --vcpus 2 --ram 2048 --disk 20 2C-2G-20G +----------------------------+-----------+ | Field | Value | +----------------------------+-----------+ | OS-FLV-DISABLED:disabled | False | | OS-FLV-EXT-DATA:ephemeral | 0 | | disk | 20 | | id | 1 | | name | 2C-2G-20G | | os-flavor-access:ispublic | True | | properties | | | ram | 2048 | | rxtxfactor | 1.0 | | swap | | | vcpus | 2 | +----------------------------+-----------+ 查看openstack的flavor表 [root@controller1 ~]# openstack flavor list +----+-----------+------+------+-----------+-------+-----------+ | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | +----+-----------+------+------+-----------+-------+-----------+ | 0 | m1.nano | 64 | 1 | 0 | 1 | True | | 1 | 2C-2G-20G | 2048 | 20 | 0 | 2 | True | <--更改自己创建的 +----+-----------+------+------+-----------+-------+-----------+ 导入'demo用户'环境变量 [root@controller1 ~]# source scripts/demostein.sh 生成密钥对 [root@controller1 ~]# ssh-keygen -q -N "" Enter file in which to save the key (/root/.ssh/idrsa): <--回车 创建密钥对 [root@controller1 ~]# openstack keypair create --public-key ~/.ssh/idrsa.pub mykey +-------------+-------------------------------------------------+ | Field | Value | +-------------+-------------------------------------------------+ | fingerprint | 40:bc:18:6b:2a:23:ee:42:3f:24:05:30:b4:9e:cb:a4 | | name | mykey | | userid | 0f584dfa1d2e47599ac6c4235dfeb80d | +-------------+-------------------------------------------------+ 验证密钥对是否创建成功 [root@controller1 ~]# openstack keypair list +-------+-------------------------------------------------+ | Name | Fingerprint | +-------+-------------------------------------------------+ | mykey | 40:bc:18:6b:2a:23:ee:42:3f:24:05:30:b4:9e:cb:a4 | +-------+-------------------------------------------------+ ``` 添加安全组规则

允许ICMP(ping) [root@controller1 ~]# openstack security group rule create --proto icmp default +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Field | Value | +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | created_at | 2022-09-23T04:35:52Z | | description | | | direction | ingress | | ether_type | IPv4 | | id | 56c11d94-e5fb-497a-87a4-f76c91efb442 | | location | Munch({'project': Munch({'domain_name': 'Default', 'domain_id': None, 'name': 'demo', 'id': u'9ae23bbf84374725894dc57c4a040ea9'}), 'cloud': '', 'region_name': '', 'zone': None}) | | name | None | | port_range_max | None | | port_range_min | None | | project_id | 9ae23bbf84374725894dc57c4a040ea9 | | protocol | icmp | | remote_group_id | None | | remote_ip_prefix | 0.0.0.0/0 | | revision_number | 0 | | security_group_id | 834dbd5f-c2fc-462e-ad9f-2ebcf5f62c4a | | tags | [] | | updated_at | 2022-09-23T04:35:52Z | +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 允许安全shell(SSH)访问 [root@controller1 ~]# openstack security group rule create --proto tcp --dst-port 22 default +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Field | Value | +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | created_at | 2022-09-23T04:36:43Z | | description | | | direction | ingress | | ether_type | IPv4 | | id | 66fc3718-8a64-46a6-a26a-f3f9bdc8c095 | | location | Munch({'project': Munch({'domain_name': 'Default', 'domain_id': None, 'name': 'demo', 'id': u'9ae23bbf84374725894dc57c4a040ea9'}), 'cloud': '', 'region_name': '', 'zone': None}) | | name | None | | port_range_max | 22 | | port_range_min | 22 | | project_id | 9ae23bbf84374725894dc57c4a040ea9 | | protocol | tcp | | remote_group_id | None | | remote_ip_prefix | 0.0.0.0/0 | | revision_number | 0 | | security_group_id | 834dbd5f-c2fc-462e-ad9f-2ebcf5f62c4a | | tags | [] | | updated_at | 2022-09-23T04:36:43Z | +-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 列出可用的flavors [root@controller1 ~]# openstack flavor list +----+-----------+------+------+-----------+-------+-----------+ | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | +----+-----------+------+------+-----------+-------+-----------+ | 0 | m1.nano | 64 | 1 | 0 | 1 | True | | 1 | 2C-2G-20G | 2048 | 20 | 0 | 2 | True | +----+-----------+------+------+-----------+-------+-----------+ 验证镜像 [root@controller1 ~]# openstack image list +--------------------------------------+--------------+--------+ | ID | Name | Status | +--------------------------------------+--------------+--------+ | a36cbc0c-1813-46e7-9698-deef028a2a71 | cirros-0.4.0 | active | +--------------------------------------+--------------+--------+ 列出可用网络 [root@controller1 ~]# openstack network list +--------------------------------------+--------------+--------------------------------------+ | ID | Name | Subnets | +--------------------------------------+--------------+--------------------------------------+ | 8da22e8c-e478-460e-818b-7ea2805e137f | external-net | 7c81426c-7147-44cf-88d7-e794a4a30d08 | +--------------------------------------+--------------+--------------------------------------+ 列出安全组 [root@controller1 ~]# openstack security group list +--------------------------------------+---------+------------------------+----------------------------------+------+ | ID | Name | Description | Project | Tags | +--------------------------------------+---------+------------------------+----------------------------------+------+ | 834dbd5f-c2fc-462e-ad9f-2ebcf5f62c4a | default | Default security group | 9ae23bbf84374725894dc57c4a040ea9 | [] | +--------------------------------------+---------+------------------------+----------------------------------+------+ 启动实例 [root@controller1 ~]# openstack server create --flavor m1.nano --image cirros-0.4.0 \ <--类型'--flavor m1.nano'在'openstack flavor list'中查看、镜像名称'--image cirros-0.4.0'在'openstack image list'中查看 --nic net-id=8da22e8c-e478-460e-818b-7ea2805e137f --security-group default \ <--网络'net-id'在'openstack network list'中查看 --key-name mykey linux-vm1 +-----------------------------+-----------------------------------------------------+ | Field | Value | +-----------------------------+-----------------------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-AZ:availability_zone | | | OS-EXT-STS:power_state | NOSTATE | | OS-EXT-STS:task_state | scheduling | | OS-EXT-STS:vm_state | building | | OS-SRV-USG:launched_at | None | | OS-SRV-USG:terminated_at | None | | accessIPv4 | | | accessIPv6 | | | addresses | | | adminPass | s56ae5ZwHtFF | | config_drive | | | created | 2022-09-23T05:32:59Z | | flavor | m1.nano (0) | | hostId | | | id | 8c473aa3-0b38-4817-95f0-78a6d089eda2 | | image | cirros-0.4.0 (a36cbc0c-1813-46e7-9698-deef028a2a71) | | key_name | mykey | | name | linux-vm1 | | progress | 0 | | project_id | 9ae23bbf84374725894dc57c4a040ea9 | | properties | | | security_groups | name='834dbd5f-c2fc-462e-ad9f-2ebcf5f62c4a' | | status | BUILD | | updated | 2022-09-23T05:33:03Z | | user_id | 0f584dfa1d2e47599ac6c4235dfeb80d | | volumes_attached | | +-----------------------------+-----------------------------------------------------+ openstack服务器列表('Status'中一定要是'ACTIVE'、并且分配的IP地址'192.168.37.229') [root@controller1 ~]# openstack server list +--------------------------------------+-----------+--------+-----------------------------+--------------+---------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+-----------+--------+-----------------------------+--------------+---------+ | 8c473aa3-0b38-4817-95f0-78a6d089eda2 | linux-vm1 | ACTIVE | external-net=192.168.37.229 | cirros-0.4.0 | m1.nano | +--------------------------------------+-----------+--------+-----------------------------+--------------+---------+ 使用虚拟控制台访问实例 ```

更改hosts文件后、可用浏览器打开(http://openstack.123.net:6080/vnc_auto.html?path=%3Ftoken%3D69108f1f-61dd-48e3-ac17-fb637b244cca)

[root@controller1 ~]# openstack console url show linux-vm1 +-------+--------------------------------------------------------------------------------------------------+ | Field | Value | +-------+--------------------------------------------------------------------------------------------------+ | type | novnc | | url | http://openstack.123.net:6080/vnc_auto.html?path=%3Ftoken%3D69108f1f-61dd-48e3-ac17-fb637b244cca | +-------+--------------------------------------------------------------------------------------------------+ ``` Windows

更改hosts文件

图片.png

浏览器

图片.png

node1(103) ```

查询网桥信息

[root@node1 ~]# brctl show bridge name bridge id STP enabled interfaces brq8da22e8c-e4 8000.000c29dd648a no eth0 tap7865f65a-6b

列出虚拟机信息

[root@node1 ~]# virsh list

Id Name State

1 instance-00000001 running ```

node2(104)

安装包 ``` [root@node2 ~]# yum install centos-release-openstack-stein -y

[root@node2 ~]# yum install python-openstackclient openstack-selinux openstack-nova-compute openstack-neutron-linuxbridge ebtables ipset -y 在内核中添加两个参数 [root@node2 ~]# vim /etc/sysctl.conf

net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 ```

DNS解析 ``` [root@node2 ~]# vim /etc/hosts

192.168.37.101 openstack.123.net <-- 启动并设置开机启动 [root@node2 ~]# systemctl start openstack-nova-compute.service neutron-linuxbridge-agent.service

[root@node2 ~]# systemctl enable openstack-nova-compute.service neutron-linuxbridge-agent.service ```

使变量生效 [root@node2 ~]# sysctl -p node1

打包'nova'和'neutron' ``` [root@node1 ~]# cd /etc/nova/ [root@node1 nova]# ll total 396 -rw-r----- 1 root nova 2923 Nov 9 2020 api-paste.ini -rw-r----- 1 root nova 388363 Sep 23 02:05 nova.conf -rw-r----- 1 root nova 4 Nov 9 2020 policy.json -rw-r--r-- 1 root root 64 Nov 9 2020 release -rw-r----- 1 root nova 966 Nov 9 2020 rootwrap.conf [root@node1 nova]# tar czvf nova-compute.tar.gz ./* ./api-paste.ini ./nova.conf ./policy.json ./release ./rootwrap.conf

[root@node1 nova]# cd /etc/neutron/ [root@node1 neutron]# ll total 44 drwxr-xr-x 4 root root 64 Sep 23 01:43 conf.d -rw-r----- 1 root neutron 39391 Sep 23 01:49 neutron.conf drwxr-xr-x 3 root root 16 Sep 23 01:43 plugins -rw-r--r-- 1 root root 1298 Nov 27 2020 rootwrap.conf [root@node1 neutron]# tar czvf neutron-compute.tar.gz ./* ./conf.d/ ./conf.d/README ./conf.d/common/ ./conf.d/neutron-linuxbridge-agent/ ./neutron.conf ./plugins/ ./plugins/ml2/ ./plugins/ml2/linuxbridge_agent.ini ./rootwrap.conf 将文件拷贝到node2 [root@node1 neutron]# scp /etc/nova/nova-compute.tar.gz 192.168.37.104:/etc/nova/

[root@node1 neutron]# scp /etc/neutron/neutron-compute.tar.gz 192.168.37.104:/etc/neutron/

[root@node1 neutron]# scp /root/scripts/n* 192.168.37.104:/root/ ``` node2

解压缩 ``` [root@node2 ~]# cd /etc/nova/ [root@node2 nova]# ll total 496 -rw-r----- 1 root nova 2923 Nov 9 2020 api-paste.ini -rw-r--r-- 1 root root 100465 Sep 24 10:04 nova-compute.tar.gz -rw-r----- 1 root nova 387263 Nov 9 2020 nova.conf -rw-r----- 1 root nova 4 Nov 9 2020 policy.json -rw-r--r-- 1 root root 64 Nov 9 2020 release -rw-r----- 1 root nova 966 Nov 9 2020 rootwrap.conf [root@node2 nova]# tar xvf nova-compute.tar.gz

[root@node2 nova]# cd /etc/neutron/ [root@node2 neutron]# ll total 60 drwxr-xr-x 4 root root 64 Sep 24 09:52 conf.d -rw-r--r-- 1 root root 14679 Sep 24 10:05 neutron-compute.tar.gz -rw-r----- 1 root neutron 38991 Nov 27 2020 neutron.conf drwxr-xr-x 3 root root 16 Sep 24 09:52 plugins -rw-r--r-- 1 root root 1298 Nov 27 2020 rootwrap.conf [root@node2 neutron]# tar xvf neutron-compute.tar.gz ```

修改'nova.conf' ``` [root@node2 neutron]# vim /etc/nova/nova.conf

[vnc] serverproxyclientaddress = 192.168.37.104 <--改成自己本机的IP 重启'neutron'服务 [root@node2 neutron]# cd [root@node2 ~]# bash neutron-restart_agent.sh 重启 [root@node2 ~]# reboot ``` controller1

导入环境变量 [root@controller1 ~]# source scripts/admin_stein.sh nova服务列表(是否有node2) [root@controller1 ~]# nova service-list +--------------------------------------+------------------+-------------+----------+---------+-------+----------------------------+-----------------+-------------+ | Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason | Forced down | +--------------------------------------+------------------+-------------+----------+---------+-------+----------------------------+-----------------+-------------+ | f468a4e0-3f1b-4f1b-abb5-726fb146c75c | nova-consoleauth | controller1 | internal | enabled | up | 2022-09-23T18:08:44.000000 | - | False | | 7e997d79-dc48-47c7-bc9b-9f47b50c798d | nova-scheduler | controller1 | internal | enabled | up | 2022-09-23T18:08:36.000000 | - | False | | f0cf6785-041d-4469-8636-5354493636b2 | nova-conductor | controller1 | internal | enabled | up | 2022-09-23T18:08:42.000000 | - | False | | db3927d9-9748-4781-9778-dab1d87efb89 | nova-compute | node1 | nova | enabled | up | 2022-09-23T18:08:45.000000 | - | False | | 977b6bca-0cf0-4f4b-b228-6914af686cf8 | nova-console | controller1 | internal | enabled | down | 2022-09-22T10:35:39.000000 | - | False | | b7665572-c7d7-45e7-9999-81794a940736 | nova-compute | node2 | nova | enabled | down | 2022-09-23T17:55:14.000000 | - | False | +--------------------------------------+------------------+-------------+----------+---------+-------+----------------------------+-----------------+-------------+ 查看到所有的agent列表(是否有node2) [root@controller1 ~]# neutron agent-list neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead. +--------------------------------------+--------------------+-------------+-------------------+-------+----------------+---------------------------+ | id | agent_type | host | availability_zone | alive | admin_state_up | binary | +--------------------------------------+--------------------+-------------+-------------------+-------+----------------+---------------------------+ | 4a2a0ff2-2dcc-4fd1-8d30-55c3b89d7e92 | Linux bridge agent | node1 | | :-) | True | neutron-linuxbridge-agent | | ace303e8-bcc2-42fe-a348-207c34f7032f | Linux bridge agent | controller1 | | :-) | True | neutron-linuxbridge-agent | | b146298d-7dd4-4624-8d9e-d25b481bb7c3 | DHCP agent | controller1 | nova | :-) | True | neutron-dhcp-agent | | ca704fc1-f8f7-450b-9652-b08d4aed5f62 | Metadata agent | controller1 | | :-) | True | neutron-metadata-agent | | d300f6c1-5eac-4950-a662-d1f4f082ed48 | Linux bridge agent | node2 | | :-) | True | neutron-linuxbridge-agent | +--------------------------------------+--------------------+-------------+-------------------+-------+----------------+---------------------------+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值