#啓動實例文檔:https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/launch-instance.html#html
#建立網絡提供者文檔:https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/launch-instance-networks-provider.htmllinux
#(提供者)橋接網絡示意圖:web
#橋接網絡IP劃分,要求虛擬機與物理機必須在同一個相同子網的網絡內。shell
一、在控制節點上,加載 admin
憑證來獲取管理員能執行的命令訪問權限:瀏覽器
. admin.sh
二、建立橋接網絡安全
openstack network create --share --external \ --provider-physical-network external \ --provider-network-type flat external-net
三、在網絡上建立一個子網,當分的子網用完時,咱們能夠再進行分配一段地址池,解決IP地址不夠用的狀況。bash
openstack subnet create --network external-net \ --allocation-pool start=192.168.200.201,end=192.168.200.220 \ #規劃的地址池 --dns-nameserver 192.168.1.1 --gateway 192.168.1.1 \ #本地的dns和網關 --subnet-range PROVIDER_NETWORK_CIDR extarnal-sub
一、默認的最小規格的主機須要512 MB內存。對於環境中計算節點內存不足4 GB的,咱們推薦建立只須要64 MB的``m1.nano``規格的主機。若單純爲了測試的目的,請使用``m1.nano``規格的主機來加載CirrOS鏡像服務器
. admin-openrc #須要管理員的權限建立 openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano
一、導入``demo``項目憑證網絡
$ . demo-openrc
二、大部分雲鏡像支持 :term:`public key authentication`而不是傳統的密碼登錄。在啓動實例前,你必須添加一個公共密鑰到計算服務。ssh
$ ssh-keygen -q -N "" $ openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey +-------------+-------------------------------------------------+ | Field | Value | +-------------+-------------------------------------------------+ | fingerprint | ee:3d:2e:97:d4:e2:6a:54:6d:0d:ce:43:39:2c:ba:4d | | name | mykey | | user_id | 58126687cbcc4888bfa9ab73a2256f27 | +-------------+-------------------------------------------------+
三、驗證公鑰的添加:
$ openstack keypair list +-------+-------------------------------------------------+ | Name | Fingerprint | +-------+-------------------------------------------------+ | mykey | ee:3d:2e:97:d4:e2:6a:54:6d:0d:ce:43:39:2c:ba:4d | +-------+-------------------------------------------------+
默認狀況下, ``default``安全組適用於全部實例而且包括拒絕遠程訪問實例的防火牆規則。對諸如CirrOS這樣的Linux鏡像,咱們推薦至少容許ICMP (ping) 和安全shell(SSH)規則。
一、添加規則到 default
安全組,建立完安全組以後,後面在openstack控制端須要受權,比較麻煩,後面會在計算節點服務器上將其關閉。
openstack security group rule create --proto icmp default
二、容許安全 shell (SSH) 的訪問:
$ openstack security group rule create --proto tcp --dst-port 22 default
官方文檔:https://docs.openstack.org/ocata/zh_CN/install-guide-rdo/launch-instance-provider.html
一、在控制節點上,得到 admin
憑證來獲取只有管理員能執行的命令的訪問權限:
$ . demo-openrc
二、一個實例指定了虛擬機資源的大體分配,包括處理器、內存和存儲。
列出可用類型:
$ openstack flavor list +----+---------+-----+------+-----------+-------+-----------+ | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | +----+---------+-----+------+-----------+-------+-----------+ | 0 | m1.nano | 64 | 1 | 0 | 1 | True | +----+---------+-----+------+-----------+-------+-----------+
三、列出可用鏡像:
$ openstack image list +--------------------------------------+--------+--------+ | ID | Name | Status | +--------------------------------------+--------+--------+ | 390eb5f7-8d49-41ec-95b7-68c0d5d54b34 | cirros | active | +--------------------------------------+--------+--------+
這個實例使用``cirros``鏡像。
四、列出可用網絡:
$ openstack network list +--------------------------------------+--------------+--------------------------------------+ | ID | Name | Subnets | +--------------------------------------+--------------+--------------------------------------+ | 4716ddfe-6e60-40e7-b2a8-42e57bf3c31c | selfservice | 2112d5eb-f9d6-45fd-906e-7cabd38b7c7c | | b5b6993c-ddf9-40e7-91d0-86806a42edb8 | provider | 310911f6-acf0-4a47-824e-3032916582ff | +--------------------------------------+--------------+--------------------------------------+
這個實例使用 ``provider``公有網絡。 你必須使用ID而不是名稱纔可使用這個網絡。
五、列出可用的安全組:
$ openstack security group list +--------------------------------------+---------+------------------------+----------------------------------+ | ID | Name | Description | Project | +--------------------------------------+---------+------------------------+----------------------------------+ | dd2b614c-3dad-48ed-958b-b155a3b38515 | default | Default security group | a516b957032844328896baa01e0f906c | +--------------------------------------+---------+------------------------+----------------------------------+
一、在控制節點上,得到 admin
憑證來獲取只有管理員能執行的命令的訪問權限:
$ . demo-openrc
啓動實例:
二、使用``provider``公有網絡的ID替換``PUBLIC_NET_ID``
$ openstack server create --flavor m1.nano --image cirros-0.3.4 \ #cirros-0.3.4是鏡像版本號 --nic net-id=PROVIDER_NET_ID --security-group default \ #用openstack network list查看ID號,而後將ID號複製到此。 --key-name mykey linux36-vm1 #命名爲linux36-vm1
三、檢查實例的狀態:
$ openstack server list +--------------------------------------+-------------------+--------+------------------------+------------+ | ID | Name | Status | Networks | Image Name | +--------------------------------------+-------------------+--------+------------------------+------------+ | 181c52ba-aebc-4c32-a97d-2e8e82e4eaaf | provider-instance | ACTIVE | provider=203.0.113.103 | cirros | +--------------------------------------+-------------------+--------+------------------------+------------+
一、獲取你實例的 Virtual Network Computing (VNC) 會話URL並從web瀏覽器訪問它:
$ openstack console url show linux36-vm1 #打開鏡像的URL +-------+---------------------------------------------------------------------------------+ | Field | Value | +-------+---------------------------------------------------------------------------------+ | type | novnc | | url | http://controller:6080/vnc_auto.html?token=5eeccb47-525c-4918-ac2a-3ad1e9f1f493 | +-------+---------------------------------------------------------------------------------+
二、驗證可否ping通公有網絡的網關,因爲安裝了防火牆機制,須要在web界面將安全機制打開,讓外部能夠ping通本機:
$ ping -c 4 203.0.113.1 PING 203.0.113.1 (203.0.113.1) 56(84) bytes of data. 64 bytes from 203.0.113.1: icmp_req=1 ttl=64 time=0.357 ms 64 bytes from 203.0.113.1: icmp_req=2 ttl=64 time=0.473 ms 64 bytes from 203.0.113.1: icmp_req=3 ttl=64 time=0.504 ms 64 bytes from 203.0.113.1: icmp_req=4 ttl=64 time=0.470 ms --- 203.0.113.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2998ms rtt min/avg/max/mdev = 0.357/0.451/0.504/0.055 ms
三、在控制節點或其餘公有網絡上的主機使用 SSH遠程訪問實例,因爲配置了防火牆機制,須要在web網頁打開ssh機制,才能以cirros用戶進行鏈接:
$ ssh cirros@203.0.113.103 The authenticity of host '203.0.113.102 (203.0.113.102)' can't be established. RSA key fingerprint is ed:05:e9:e7:52:a0:ff:83:68:94:c7:d1:f2:f8:e2:e9. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '203.0.113.102' (RSA) to the list of known hosts.
一、用管理員的帳號進行建立
# . admin.sh
二、控制端建立網絡
# neutron net-create --shared --provider:physical_network internal --provider:network_type flat internal-net
三、建立子網
neutron subnet-create --name external-subnet --allocation-pool \ start=192.168.0.201,end=192.168.0.220 --dns nameserver 192.168.0.1 external-net 192.168.0.0/24
四、驗證子網建立完成:
[root@linuxhost1 ~]# neutron net-list