Author Topic: devstack ติดตั้ง 1 controller 4 compute  (Read 8174 times)

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2145
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
devstack ติดตั้ง 1 controller 4 compute
« on: มกราคม 20, 2018, 09:57:20 PM »
วันนี้มีโจทย์คือ ติดตั้ง openstack ผ่านตัว devstack ติดตั้ง 1 controller 4 compute
โดย มีทั้งหมด 4 physical server ลง ubuntu 16.06 64Bit
1 physical : 1 controller + 1 compute node [ip: 103.246.99.16]
3 physical : 3 compute node [ ip: 103.246.99.17-19]

##### Start install devstack on controller node
useradd -s /bin/bash -d /opt/stack -m stack
echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

###logout from root
exit
login to stack user

###git clone for devstack from git
git clone https://git.openstack.org/openstack-dev/devstack
cd devstack       

#cp sample/local.conf .
#vi local.conf
[[local|localrc]]
HOST_IP=103.246.99.16
PUBLIC_INTERFACE=eno1      ###Use for this map with your physical lan name (public-ip)
PROVIDER_NETWORK_TYPE=flat   ###Use for flat
FIXED_RANGE="10.0.0.0/24"
PUBLIC_NETWORK_GATEWAY=103.246.99.254
#FIXED_NETWORK_SIZE=4096
FLOATING_RANGE=103.246.99.8/25
Q_FLOATING_ALLOCATION_POOL=start=103.246.99.10,end=103.246.99.15
MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=abcdef
DATABASE_PASSWORD=abcdef
RABBIT_PASSWORD=abcdef
SERVICE_PASSWORD=abcdef
##OVS
Q_USE_PROVIDERNET_FOR_PUBLIC=True
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex

##แนะนำว่าทำรันผ่าน tmux หรือ screen ไว้นะครับ
$./stack.sh

รอประมาณ 15-20 นาที จนเสร็จครับ

ส่วนต่อมาก็ทำการ ลง compute node ทั้งสามตัว
##### Start install devstack on controller node
useradd -s /bin/bash -d /opt/stack -m stack
echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

###logout from root
exit
login to stack user

###git clone for devstack from git
git clone https://git.openstack.org/openstack-dev/devstack
cd devstack       

#cp sample/local.conf .
#vi local.conf
[[local|localrc]]
HOST_IP=103.246.99.17 # change this per compute node
PUBLIC_INTERFACE=eno1
FIXED_RANGE="10.0.0.0/24"
PUBLIC_NETWORK_GATEWAY=103.246.99.254
#FIXED_NETWORK_SIZE=4096
FLOATING_RANGE=103.246.99.8/25
MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=abcdef
DATABASE_PASSWORD=abcdef
RABBIT_PASSWORD=abcdef
SERVICE_PASSWORD=abcdef
DATABASE_TYPE=mysql
SERVICE_HOST=103.246.99.16
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
ENABLED_SERVICES=n-cpu,q-agt,n-api-meta,c-vol,placement-client
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
#### For Compute node ####

แนะนำว่าทำรันผ่าน tmux หรือ screen ไว้นะครับ
$./stack.sh

เสร็จแล้วการ map cell_v2 ที่เครื่อง controller node เพื่อให้เรียกใช้งานสร้าง instance บน node ต่างๆ ได้ครับ
$source admin-openrc.sh
$nova-manage cell_v2 map_cell0 --database_connection \
  mysql+pymysql://root:abcdef@103.246.99.16/nova_cell0?charset=utf8

$nova-manage cell_v2 create_cell --verbose --name cell1 \
  --database_connection  mysql+pymysql://root:abcdef@127.0.0.1/nova_cell0?charset=utf8 \
  --transport-url rabbit://stackrabbit:abcdef@103.246.99.16:5672/

$nova-manage api_db sync
$nova-manage cell_v2 discover_hosts

#### Check list_hosts on node-01 (controller)
$ nova-manage cell_v2 list_hosts
+-----------+--------------------------------------+------------------+
| Cell Name |              Cell UUID               |     Hostname     |
+-----------+--------------------------------------+------------------+
|   cell1   | 990aaaab-9999-404e-bfa0-b1597fc84fa0 | node-01.packetlove.com |
|   cell1   | 990aaaab-9999-404e-bfa0-b1597fc84fa0 | node-02.packetlove.com |
|   cell1   | 990aaaab-9999-404e-bfa0-b1597fc84fa0 | node-03.packetlove.com |
|   cell1   | 990aaaab-9999-404e-bfa0-b1597fc84fa0 | node-04.packetlove.com |
+-----------+--------------------------------------+------------------+

เท่านี้ก็ถือว่าเรียบร้อยละครับ ส่วนถ้าท่านไหนอยากจะเพิ่มเติม configure ไรเพิ่ม
ก็ลองเล่นๆต่อไปดูนะครับผม : )
ทีมงาน Packetlove.com
« Last Edit: มกราคม 20, 2018, 10:01:14 PM by golfreeze »

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2145
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: devstack ติดตั้ง 1 controller 4 compute
« Reply #1 on: มกราคม 31, 2018, 10:55:00 AM »
ในกรณีติดตั้ง devstack เสร็จ แล้วเราเลือกสร้าง instance ขึ้นมาใหม่
ให้ลองดูในส่วนของ security group ด้วยนะครับ ถ้าเป็นตัว group = default
จะไม่อนุญาตให้ ping หรือ ssh จาก internet เข้ามาได้ ดังนั้นควรจะสร้าง security group ใหม่ เพื่ออนุญาต instance เป็นบางตัว ให้สามารถ connect จาก internet เข้ามาได้

Most OpenStack environments will have a "default" security group that attaches to all newly created instances. The "default" security group does not allow ping or SSH connectivity but you can add it either through the Horizon dashboard, or with NovaCLI, as demonstrated below.

This will allow ping access to an instance from anywhere:

#nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0

This will allow SSH access from anywhere:
nova secgroup-add-rule default tcp 22 22 0.0.0.0/0

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2145
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: devstack ติดตั้ง 1 controller 4 compute
« Reply #2 on: มกราคม 31, 2018, 11:17:08 AM »
ทำการ restart devstack cinder service
$source project-openrc.sh
$systemctl restart  devstack@c-*

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2145
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
Re: devstack ติดตั้ง 1 controller 4 compute
« Reply #3 on: มกราคม 31, 2018, 12:35:28 PM »
###https://docs.openstack.org/devstack/latest/systemd.html
systemctl restart devstack@n-*