您好,登錄后才能下訂單哦!
環境:
openstack版本 | pike |
控制節點主機 | openstack-controller(ubuntu 16.04.5) 172.27.34.37 |
計算節點主機 | openstack-computer(ubuntu 16.04.5) 172.27.34.38 |
vlan100 | centos01(172.27.100.17)、centos02(172.27.100.11) |
ubuntu安裝詳見:Ubuntu16.04.5以lvm方式安裝全記錄
openstack安裝詳見:OpenStack實踐(一):Ubuntu16.04下DevStack方式搭建p版OpenStack
拓撲圖:
目標:
外網pc訪問Load Balancers ip 172.27.34.11,會輪詢訪問后端web服務器
本文目錄:
一、新建vlan
二、新建實例centos01
三、配置安全組
四、配置float ip
五、新建實例centos02
六、配置lbaas
一、新建vlan
1.配置ml2_conf.ini
主備機同時配置ml2_conf.ini
stack@openstack-controller:~$ view /etc/neutron/plugins/ml2/ml2_conf.ini [ml2] tenant_network_types = vlan extension_drivers = port_security mechanism_drivers = openvswitch,linuxbridge type_drivers = local,flat,vlan,gre,vxlan,geneve [ml2_type_vlan] network_vlan_ranges = vlan:3001:4000 [linux_bridge] physical_interface_mappings = vlan:ens192
2.重啟neutron
stack@openstack-controller:~$ sudo systemctl restart devstack@q*
3.創建vlan100
stack@openstack-controller:/tmp$ openstack network create --provider-physical-network vlan --provider-network-type vlan --project admin vlan100
4.創建子網
創建子網subnet172.27.100.0
stack@openstack-controller:/tmp$ openstack subnet create --network vlan100 --subnet-range 172.27.100.0/24 --gateway 172.27.100.1 subnet172.27.100.0
5.查看創建的網絡
二、創建實例centos01
1.上傳介質
上傳介質CentOS-7-x86_64-GenericCloud-1503.qcow2c至/tmp目錄,下載地址:http://cloud.centos.org/centos/7/images/
2.制作鏡像
root@openstack-controller:~# su - stack stack@openstack-controller:~$ source devstack/openrc admin admin stack@openstack-controller:/tmp$ openstack image create "centos7" --file CentOS-7-x86_64-GenericCloud-1503.qcow2c --disk-format qcow2 --container-format bare --public
3.新建秘鑰centos
使用stack用戶分別新建秘鑰對centos
stack@openstack-controller:~/key$ ssh-keygen -t rsa -f centos.key stack@openstack-controller:~/key$ more centos.pub
4.導入秘鑰
將公鑰導入
創建實例后,使用私鑰來登錄實例
5.查看實例類型
stack@openstack-controller:~$ nova flavor-list
實例類型選擇m1.small
6.查看鏡像
stack@openstack-controller:~$ glance image-list
選擇centos7
7.查看主機名和zone
stack@openstack-controller:~$ nova service-list
本文選擇控制節點luanch實例
8.查看網絡
stack@openstack-controller:~$ openstack network list
選擇新建的vlan100
9.查看密鑰對
stack@openstack-controller:~/key$ nova keypair-list
新建的實例centos01使用秘鑰centos
10.新建實例centos01
stack@openstack-controller:~/key$ nova boot --flavor m1.small --image centos7 --availability-zone nova:openstack-controller --nic net-name=vlan100 --key-name centos centos01
11.查看新建實例
三、新建安全組
1.編輯默認安全組
2.新增規則
新增規則允許ping、ssh和80端口訪問
四、配置float ip
外網訪問配置
1.配置ml2_conf.ini
控制節點配置ml2_conf.ini
stack@openstack-controller:~$ view /etc/neutron/plugins/ml2/ml2_conf.ini [ml2_type_flat] flat_networks = externaltt [ml2_type_vlan] network_vlan_ranges = vlan:3001:4000 [linux_bridge] physical_interface_mappings = vlan:ens192,externaltt:ens224
2.重啟網絡
stack@openstack-controller:~$ sudo systemctl restart devstack@q*
由于本文外網環境為flat網絡(物理機的網卡接在交換機的access口),此處外網配置選擇flat,對應網卡ens224,虛擬機內網為vlan,對應網卡ens192。
3.創建ext_net_flat
4.創建子網
5.不勾選dhcp
6.查看創建的外網
172.27.34.0該網段需能訪問外網。
新建路由
1.新建路由router100
外部網絡選擇ext_net_flat,將外網連接至虛擬路由器
此時會新增接口,ip為172.27.34.6
2.新增接口
創建floating ip
1.分配浮動ip
floating ip提供靜態NAT功能,配置在router提供網關的外網interface上。
2.關聯實例
創建浮動ip172.27.34.4,并分別與實例centos01關聯
五、新建實例centos02
實例centos02以centos01快照方式啟動
配置實例centos01
1.登陸centos01
登陸實例并修改密碼
stack@openstack-controller:~/key$ sudo ssh -i centos.key centos@172.27.34.4
2.修改配置文件sshd_config
[root@centos01 ~]# view /etc/ssh/sshd_config PermitRootLogin yes PasswordAuthentication yes
3.重啟sshd
[root@centos01 ~]# service sshd restart Redirecting to /bin/systemctl restart sshd.service
此時可以遠程訪問實例了
4.關閉selinux
[root@centos01 ~]# setenforce 0 [root@centos01 ~]# sed -i 's/^ *SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
重啟后永久生效
5.配置源
[root@centos01 ~]# yum -y install wget [root@centos01 ~]# cd /etc/yum.repos.d/ [root@centos01 yum.repos.d]# mkdir repo_bak && mv *.repo repo_bak/ [root@centos01 yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo
6.安裝apache服務并配置
[root@centos01 ~]# yum -y install httpd [root@centos01 ~]# systemctl start httpd [root@centos01 ~]# systemctl enable httpd [root@centos01 ~]# echo web01-172.27.100.17 >/var/www/html/index.html
7.訪問centos01
訪問http://172.27.34.4/
創建實例centos02
1.創建快照
根據實例centos01創建快照centos
2.由鏡像啟動實例
由鏡像centos啟動實例centos02
網絡、實例類型等和centos01保持一致
3.配置centos02
參照centos01配置,關聯vip,連接centos02進行相關配置
4.訪問centos02
訪問http://172.27.34.5/
六、配置lbaas
查看Octavia服務
本文以Octavia方式實現lbaas,從Pike版本開始,Octavia就可以作為獨立的Keystone服務而不再是Neutron的一個service plugin。
stack@openstack-controller:~$ openstack service list
Load Balancers配置
1.創建Load Balancers
新建Load Balancer 4,子網選擇內網subnet172.27.100.0
2.配置Listener
Listener的協議選擇HTTP,端口默認為80
3.配置Pool
Pool的方法為round_robin
4.加入pool members
將centos01和centos02加入pool
5.新建monitor
6.分配浮動ip
將浮動ip172.27.34.11分配給load balance做vip
7.查看新建的Load Balancers
查看vip
查看實例
8.訪問測試
在計算節點訪問vip
root@openstack-computer:~# for i in {1..10};do sleep 5; curl http://172.27.34.11; done
訪問vip,發現以輪詢方式分別訪問后端的web服務器,結果符合預期。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。