创建一个实例
配置网络
[root@controller ~]# openstack network create --share --external \
> --provider-physical-network provider \
> --provider-network-type flat provider ##创建一个新网络
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | UP |
| availability_zone_hints | |
| availability_zones | |
| created_at | 2020-04-06T11:42:48Z |
| description | |
| dns_domain | None |
| id | c2c0ac66-6b03-4608-96e9-d21810e4a986 |
| ipv4_address_scope | None |
| ipv6_address_scope | None |
| is_default | None |
| is_vlan_transparent | None |
| mtu | 1500 |
| name | provider |
| port_security_enabled | True |
| project_id | 066f4557a52a4a1f94a3813f3a4ba5dc |
| provider:network_type | flat |
| provider:physical_network | provider |
| provider:segmentation_id | None |
| qos_policy_id | None |
| revision_number | 4 |
| router:external | External |
| segments | None |
| shared | True |
| status | ACTIVE |
| subnets | |
| tags | |
| updated_at | 2020-04-06T11:42:49Z |
+---------------------------+--------------------------------------+
创建一个子网
[root@controller ~]# openstack subnet create --network provider \
> --allocation-pool start=192.168.223.20,end=192.168.223.120 \
> --dns-nameserver 114.114.114.114 --gateway 192.168.223.131 \
> --subnet-range 192.168.223.0/24 provider
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| allocation_pools | 192.168.223.20-192.168.223.120 |
| cidr | 192.168.223.0/24 |
| created_at | 2020-04-06T11:48:16Z |
| description | |
| dns_nameservers | 114.114.114.114 |
| enable_dhcp | True |
| gateway_ip | 192.168.223.131 |
| host_routes | |
| id | 8147ff1c-a795-49cc-8c93-e027dac83fcf |
| ip_version | 4 |
| ipv6_address_mode | None |
| ipv6_ra_mode | None |
| name | provider |
| network_id | c2c0ac66-6b03-4608-96e9-d21810e4a986 |
| prefix_length | None |
| project_id | 066f4557a52a4a1f94a3813f3a4ba5dc |
| revision_number | 0 |
| segment_id | None |
| service_types | |
| subnetpool_id | None |
| tags | |
| updated_at | 2020-04-06T11:48:16Z |
+-------------------+--------------------------------------+
创建一个m1的主机
[root@controller ~]# 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:is_public | True |
| properties | |
| ram | 64 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 1 |
+----------------------------+---------+
网络创建完成切换用户生成密钥
[root@controller ~]# source demo-openrc
[root@controller ~]# ssh-keygen -q -N ""
[root@controller ~]# openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
##将密钥上传达成免密
+-------------+-------------------------------------------------+
| Field | Value |
+-------------+-------------------------------------------------+
| fingerprint | 1c:7a:cb:0b:12:da:84:24:d4:e7:c0:87:05:06:5f:f7 |
| name | mykey |
| user_id | a9452ab645084952a8543c1ab45757e3 |
+-------------+-------------------------------------------------+
查看是否上传成功
[root@controller ~]# openstack keypair list
+-------+-------------------------------------------------+
| Name | Fingerprint |
+-------+-------------------------------------------------+
| mykey | 1c:7a:cb:0b:12:da:84:24:d4:e7:c0:87:05:06:5f:f7 |
+-------+-------------------------------------------------+
增加安全组规则
添加规则到 default 安全组。
[root@controller ~]# openstack security group rule create --proto icmp default
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| created_at | 2020-04-06T13:15:06Z |
| description | |
| direction | ingress |
| ether_type | IPv4 |
| id | 71cd23ad-db00-4700-9a63-006b1bee1479 |
| name | None |
| port_range_max | None |
| port_range_min | None |
| project_id | 2938e7d1a06545c6986973bb89129ff1 |
| protocol | icmp |
| remote_group_id | None |
| remote_ip_prefix | 0.0.0.0/0 |
| revision_number | 0 |
| security_group_id | 6352b80e-be1b-45af-b9a7-cadd2a572300 |
| updated_at | 2020-04-06T13:15:06Z |
+-------------------+--------------------------------------+
允许安全 shell (SSH) 的访问:
[root@controller ~]# openstack security group rule create --proto tcp --dst-port 22 default
+-------------------+--------------------------------------+
| Field | Value |
+-------------------+--------------------------------------+
| created_at | 2020-04-06T13:15:30Z |
| description | |
| direction | ingress |
| ether_type | IPv4 |
| id | 3c0510ae-825b-49be-98ef-ee1020ba25a1 |
| name | None |
| port_range_max | 22 |
| port_range_min | 22 |
| project_id | 2938e7d1a06545c6986973bb89129ff1 |
| protocol | tcp |
| remote_group_id | None |
| remote_ip_prefix | 0.0.0.0/0 |
| revision_number | 0 |
| security_group_id | 6352b80e-be1b-45af-b9a7-cadd2a572300 |
| updated_at | 2020-04-06T13:15:30Z |
+-------------------+--------------------------------------+
在共有网络创建实例
使用demo用户并检查资源分配情况
[root@controller ~]# . demo-openrc
[root@controller ~]# openstack flavor list ##列出可用类型
+----+---------+-----+------+-----------+-------+-----------+
| ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public |
+----+---------+-----+------+-----------+-------+-----------+
| 0 | m1.nano | 64 | 1 | 0 | 1 | True |
+----+---------+-----+------+-----------+-------+-----------+
[root@controller ~]# openstack image list ##检查镜像
+--------------------------------------+--------+--------+
| ID | Name | Status |
+--------------------------------------+--------+--------+
| a2c6edde-71f3-4171-a366-cf2bf26d1131 | cirros | active |
+--------------------------------------+--------+--------+
[root@controller ~]# openstack network list ##可用网络
+--------------------------------------+----------+--------------------------------------+
| ID | Name | Subnets |
+--------------------------------------+----------+--------------------------------------+
| c2c0ac66-6b03-4608-96e9-d21810e4a986 | provider | 8147ff1c-a795-49cc-8c93-e027dac83fcf |
+--------------------------------------+----------+--------------------------------------+
[root@controller ~]# openstack security group list ##列出安全组
+--------------------------------------+---------+-------------+----------------------------------+
| ID | Name | Description | Project |
+--------------------------------------+---------+-------------+----------------------------------+
| 6352b80e-be1b-45af-b9a7-cadd2a572300 | default | 缺省安全组 | 2938e7d1a06545c6986973bb89129ff1 |
+--------------------------------------+---------+-------------+----------------------------------+
创建一个实例
[root@controller ~]# openstack server create --flavor m1.nano --image cirros \
> --nic net-id=c2c0ac66-6b03-4608-96e9-d21810e4a986 --security-group default \
> --key-name mykey provider-instance
+-----------------------------+-----------------------------------------------+
| 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 | E8niF5hFCa6Z |
| config_drive | |
| created | 2020-04-06T13:24:16Z |
| flavor | m1.nano (0) |
| hostId | |
| id | a23ae7ec-293c-4718-a8ae-d68635d334ef |
| image | cirros (a2c6edde-71f3-4171-a366-cf2bf26d1131) |
| key_name | mykey |
| name | provider-instance |
| progress | 0 |
| project_id | 2938e7d1a06545c6986973bb89129ff1 |
| properties | |
| security_groups | name='6352b80e-be1b-45af-b9a7-cadd2a572300' |
| status | BUILD |
| updated | 2020-04-06T13:24:16Z |
| user_id | a9452ab645084952a8543c1ab45757e3 |
| volumes_attached | |
+-----------------------------+-----------------------------------------------+
[root@controller ~]# openstack server list ##这个状态一定要是ACTIVE 不然查看所有日志排错
+--------------------------------------+-------------------+--------+-------------------------+--------+---------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+-------------------+--------+-------------------------+--------+---------+
| 4a474eac-17e6-4060-90fa-6987eeda97a1 | provider-instance | ACTIVE | provider=192.168.223.25 | cirros | m1.nano |
+--------------------------------------+-------------------+--------+-------------------------+--------+---------+
使用虚拟控制台访问实例
云主机实际上就是在计算节点跑的一个虚拟机,如何进入呢?
[root@controller ~]# openstack console url show provider-instance
+-------+---------------------------------------------------------------------------------+
| Field | Value |
+-------+---------------------------------------------------------------------------------+
| type | novnc |
| url | http://controller:6080/vnc_auto.html?token=428a9092-cc4f-4d6c-9e53-3cca051f83bd |
+-------+---------------------------------------------------------------------------------+
使用里面的url可以从浏览器进入虚拟机
同时我们也做了免密所以也可以从终端进入
[root@controller ~]# ssh cirros@192.168.223.25
The authenticity of host '192.168.223.25 (192.168.223.25)' can't be established.
RSA key fingerprint is SHA256:bHf5k+T7Lcp4owtTxgXrZorGemGXjPON/e4Hozvr2ds.
RSA key fingerprint is MD5:6d:64:b9:67:4a:b7:b4:e4:ee:30:89:db:cc:8b:fd:4b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.223.25' (RSA) to the list of known hosts.
$
创建dashboard图形化界面
[root@controller ~]# vim /etc/openstack-dashboard/local_settings
OPENSTACK_HOST = "controller" ##用户
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST ##版本
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user" ##允许哪些用户操作
ALLOWED_HOSTS = ['*', ] ##允许所有人访问仪表盘
##配置 memcached 会话存储服务
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': 'controller:11211',
}
}
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True ##对域支持
##api版本
OPENSTACK_API_VERSIONS = {
"identity": 3,
"image": 2,
"volume": 2,
}
##通过仪表盘创建用户时的默认域配置为 default
OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'Default'
##选择网络参数1,禁用支持3层网络服务
OPENSTACK_NEUTRON_NETWORK = {
...
'enable_router': False,
'enable_quotas': False,
'enable_distributed_router': False,
'enable_ha_router': False,
'enable_lb': False,
'enable_firewall': False,
'enable_vpn': False,
'enable_fip_topology_check': False,
}
TIME_ZONE = "Asia/Shanghai" ##时区
如果没有WSGIApplicationGroup %{GLOBAL}
则将这个添加到
/etc/httpd/conf.d/openstack-dashboard.conf
文件中
[root@controller ~]# systemctl restart httpd.service memcached.service##重启服务
服务重启完成可以访问ip下的dashboard进入图形化界面
http://192.168.223.11/dashboard
登陆的时候
default ##域
demo ##用户和密码
demo
登陆之后可以查看日志和控制台的操作
网络拓扑
图形界面再创建云主机
正在创建中