Installing OpenStack on Multi-node in CentOS 7, Red Hat

Installing OpenStack on Multi-node in CentOS 7, Red Hat

Controller Node

ชื่อโฮสต์ : controller.example.com
ที่อยู่ IP  : 192.168.1.30
ระบบปฏิบัติการ         : CentOS 7
DNS  : 192.168.1.11
คอมโพเนนต์ OpenStack ต่อไปนี้จะติดตั้งบนโหนดควบคุม:
  1. Keystone
  2. Glance
  3. swift
  4. Cinder
  5. Horizon
  6. Neutron
  7. Nova novncproxy
  8. Novnc
  9. Nova api
  10. Nova Scheduler
  11. Nova-conductor

Compute Node:

ชื่อโฮสต์ : compute.example.com
ที่อยู่ IP  : 192.168.1.31
ระบบปฏิบัติการ : CentOS 7
DNS  : 192.168.1.11
คอมโพเนนต์ OpenStack ต่อไปนี้จะติดตั้งบนโหนดการคำนวณ:
  1. โนวาคำนวณ
  2. นิวตรอน – ตัวแทน Openvswitch

Network Node:

ชื่อโฮสต์ : network.example.com
ที่อยู่ IP  : 192.168.1.32
ระบบปฏิบัติการ : CentOS 7
DNS  : 192.168.1.11
คอมโพเนนต์ OpenStack ต่อไปนี้จะติดตั้งบนโหนดเครือข่าย:
  1. เซิร์ฟเวอร์นิวตรอน
  2. เอเจนต์ Neturon DHCP
  3. นิวตรอน – Openswitch ตัวแทน
  4. ตัวแทนนิวตรอน L3

ขั้นตอนที่ 1   การอัปเดตทั้งสามโหนด

ดำเนินการคำสั่งต่อไปนี้บนทั้งสามโหนดเพื่ออัพเดตแพ็กเกจที่ติดตั้งทั้งหมด
 yum -y update ; reboot

ขั้นตอนที่ 2  อัปเดตไฟล์ / etc / hosts

ตั้งค่าชื่อโฮสต์บนทั้งสามโหนดโดยดำเนินการคำสั่งต่อไปนี้หากยังไม่ได้ตั้งค่า
# hostnamectl set-hostname controller
# hostnamectl set-hostname compute
# hostnamectl set-hostname network
อัปเดตไฟล์ / etc / hosts ดังที่แสดงด้านล่างหากคุณไม่ได้กำหนดค่า DNS ในเครื่องของคุณ
192.168.1.30 controller.example.com controller
192.168.1.31 compute.example.com    compute
192.168.1.32 network.example.com    network

ขั้นตอนที่ 3   ปิดใช้งาน SELinux และตัวจัดการเครือข่ายในทั้งสามโหนด

ดำเนินการคำสั่งต่อไปนี้เพื่อปิดใช้งาน SELinux บนทั้งสามโหนดทีละหนึ่ง
# setenforce 0
แก้ไข ‘ SELINUX = disabled’  ในไฟล์ ‘ / etc / sysconfig / selinux ‘ เพื่อปิดการใช้งานอย่างถาวร
ดำเนินการคำสั่งต่อไปนี้เพื่อปิดการใช้งาน Network Manager บนทั้งสามโหนดทีละหนึ่ง
# systemctl stop NetworkManager
# systemctl disable NetworkManager
# reboot

ขั้นตอนที่ 4  การกำหนดค่าการรับรองความถูกต้องแบบไม่ใช้รหัสผ่านจากโหนดคอนโทรลเลอร์เป็น Compute และ Network Node

ดำเนินการคำสั่งต่อไปนี้จากโหนดคอนโทรลเลอร์เท่านั้น
[root @ controller ~] # ssh-keygen
[root @ controller ~] # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.31
[root @ controller ~] # ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.1.32
ให้ตรวจสอบการตั้งค่ารหัสผ่านโดยการเข้าถึงการคำนวณและโหนดเครือข่ายจากคอนโทรลเลอร์โหนดและไม่ควรถามรหัสผ่าน:
[root@controller ~]# ssh compute 
Last login: Sun Apr 3 00:03:44 2016 from controller.example.com
[root@compute ~]# hostname
compute.example.com
[root@compute ~]#

[root@controller ~]# ssh network
Last login: Sun Apr 3 00:04:20 2016 from controller.example.com
[root@network ~]# hostname
network.example.com
[root@network ~]#

ขั้นตอนที่ 5  เปิดใช้งานพื้นที่เก็บข้อมูล RDO และติดตั้ง packstack

ดำเนินการคำสั่งต่อไปนี้เพื่อเปิดใช้งานที่เก็บ RDO และติดตั้ง packstack บนโหนดควบคุมเท่านั้น
[root @ controller ~] # yum ติดตั้ง -y https://www.rdoproject.org/repos/rdo-release.rpm
[root @ controller ~] # yum ติดตั้ง -y openstack-packstack

ขั้นตอนที่ 6 -สร้างและปรับแต่งไฟล์คำตอบ

ดำเนินการคำสั่งต่อไปนี้เพื่อสร้างไฟล์คำตอบ
[root @ controller ~] # packstack --gen-answer-file = / root / answer.txt
[root @ controller ~] #
แก้ไขไฟล์คำตอบและระบุที่อยู่ IP ของคอนโทรลเลอร์การคำนวณและโหนดเครือข่าย ให้รหัสผ่านของบริการต่าง ๆ และปิดใช้งานส่วนประกอบเช่นรุ่นสาธิตและ Ceilometer ดังที่แสดงด้านล่าง
[root@controller ~]# vi /root/answer.txt
........................................
CONFIG_CONTROLLER_HOST=192.168.1.30
CONFIG_COMPUTE_HOSTS=192.168.1.31
CONFIG_NETWORK_HOSTS=192.168.1.32
CONFIG_PROVISION_DEMO=n
CONFIG_CEILOMETER_INSTALL=n
CONFIG_HORIZON_SSL=y
CONFIG_NTP_SERVERS=
CONFIG_KEYSTONE_ADMIN_PW=
..........................................
หมายเหตุ:  หากคุณไม่มีเซิร์ฟเวอร์ NTP ในสภาพแวดล้อมของคุณคุณสามารถปล่อยพารามิเตอร์ NTP ไว้ได้ แต่แนะนำให้ใช้เซิร์ฟเวอร์ ntp สำหรับการซิงโครไนซ์เวลาและคุณเข้าใจถึงความสำคัญของมัน

ขั้นตอนที่ 7  การติดตั้ง OpenStack

ตอนนี้เริ่มต้นการติดตั้ง openstack โดยรันคำสั่ง packstack บนโหนดController
[root @ controller ~] # packstack --answer-file = / root / answer.txt
เมื่อการติดตั้งเสร็จสมบูรณ์คุณจะได้รับข้อมูลต่อไปนี้
ระหว่างการติดตั้งอินเทอร์เฟซใหม่ ‘ br-ex ‘ ได้ถูกสร้างขึ้นในโหนดเครือข่าย คุณสามารถดูได้โดยดำเนินการคำสั่ง ifconfig -a ดังที่แสดงด้านล่าง
ตอนนี้เพิ่มเน็ตเวิร์กอินเตอร์เฟส (enp0s3 หรือ eth0 หรืออาจเป็นชื่ออื่น ๆ บนโหนดของคุณ) ไปยัง  สะพาน Open vSwitch ‘br-ex’  เป็นพอร์ตและกำหนดที่อยู่ IP ของ ‘enp0s3’ เป็น ‘br-ex’ ดังที่แสดงด้านล่าง
[root@network ~]# cd /etc/sysconfig/network-scripts/
[root@network network-scripts]# cp ifcfg-enp0s3 ifcfg-br-ex
[root@network network-scripts]# vi ifcfg-enp0s3
DEVICE=enp0s3
HWADDR=08:00:27:37:4C:EF
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
ONBOOT=yes

[root@network network-scripts]# vi ifcfg-br-ex
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=192.168.1.32
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.11
ONBOOT=yes
เริ่มบริการเครือข่ายโดยดำเนินการคำสั่งต่อไปนี้
[root@network network-scripts]# systemctl restart network
[root@network network-scripts]#

ตอนนี้ตรวจสอบการตั้งค่าเครือข่ายของคุณบนโหนดเครือข่ายโดยดำเนินการคำสั่ง ifconfig

ขั้นตอนที่ 8  การเข้าถึงแผงควบคุมอินเตอร์เฟสของเว็บ Openstack

เปิดเบราว์เซอร์ที่คุณชื่นชอบและเข้าถึง url และล็อกอินต่อไปนี้โดยใช้ ‘ ผู้ดูแลระบบ ‘ และรหัสผ่านที่คุณระบุในไฟล์ answer.txt

ใช่ ….. openstack ของคุณได้รับการติดตั้งเรียบร้อยแล้ว

 

หมายเหตุ : ในกรณีที่คุณได้รับ ‘ข้อผิดพลาด: ไม่สามารถดึงข้อมูลขีด จำกัด ปริมาณ’  ในแดชบอร์ดคุณสามารถแก้ไขได้โดยเพิ่มสิ่งต่อไปนี้ใน  ไฟล์ cinder.confบนโหนดคอนโทรลเลอร์
[root@controller ~]# vi /etc/cinder/cinder.conf
....................................
[keystone_authtoken]
auth_uri = http://:5000
auth_url = http://:35357
auth_plugin = password
project_domain_id = default 
user_domain_id = default 
project_name = services 
username = cinder 
password =  {Search CONFIG_CINDER_KS_PW in answer file}
.....................................
เริ่มบริการ Cinder ใหม่
[root@controller ~]# systemctl restart  openstack-cinder-api.service
[root@controller ~]# systemctl restart  openstack-cinder-backup.service
[root@controller ~]# systemctl restart  openstack-cinder-scheduler.service
[root@controller ~]# systemctl restart  openstack-cinder-volume.service
เนื่องจากขณะนี้เราสามารถเข้าสู่ระบบในแผงควบคุม OpenStack ได้ดังนั้นจึงปลอดภัยที่จะกล่าวว่าส่วนการติดตั้งเสร็จสมบูรณ์แล้ว ตอนนี้เราต้องเปิดตัวอินสแตนซ์และเราจะทำตามขั้นตอนต่อไปนี้
  • สร้างโครงการและผู้ใช้
  • มอบหมายผู้ใช้ให้กับโครงการ
  • สร้างภาพและรสชาติ
  • กำหนดเครือข่ายภายในและภายนอก
  • สร้างเราเตอร์
  • สร้างกฎความปลอดภัยสำหรับเครื่องเสมือนหรืออินสแตนซ์

ขั้นตอนที่ 9  สร้างโครงการและเพิ่มสมาชิกในโครงการ

เข้าสู่ระบบแดชบอร์ดโดยใช้ข้อมูลประจำตัวของผู้ดูแลระบบและนำทางไปยัง  เอกลักษณ์ Tab> โครงการและคลิกที่สร้างโครงการ
คลิกที่ “สร้างโครงการ”
เพื่อสร้างผู้ใช้  ไปที่ แท็บระบุ> ผู้ใช้> คลิกที่ ‘สร้างผู้ใช้’
ให้ข้อมูลตามสภาพแวดล้อมของคุณ

สร้างรสชาติและรูปภาพ:

ในการสร้างการเข้าสู่ระบบรสชาติในแผงควบคุมโดยใช้ข้อมูลประจำตัวของผู้ดูแลระบบให้ไปที่แท็บผู้ดูแลระบบ> รสชาติ> คลิกที่สร้างรสชาติ

ระบุชื่อรส (fedora.small), VCPU, รูทดิสก์, ดิสก์ชั่วคราว & ดิสก์สลับ
เพื่อสร้างภาพ  , ไปที่ผู้ดูแลระบบแท็บ> รูปภาพ> คลิกที่สร้างภาพ

ระบุชื่อภาพ, คำอธิบาย, ภาพ Soure (ในกรณีของฉันฉันใช้ไฟล์ภาพเป็นฉันได้ดาวน์โหลดภาพเมฆ 23 Fedora 23 ), รูปแบบ QCOW2

สร้างเครือข่ายและเราเตอร์สำหรับโครงการนวัตกรรม

ในการสร้างเครือข่ายและเราเตอร์สำหรับโครงการนวัตกรรมลงชื่อออกจากผู้ใช้ผู้ดูแลระบบและเข้าสู่ระบบด้วยผู้ใช้ใหม่ที่คุณสร้างขึ้นในแผงควบคุมไปที่  แท็บเครือข่าย> คลิกที่เครือข่าย> จากนั้นคลิกที่สร้างเครือข่ายระบุชื่อเครือข่ายเป็น Internal
คลิกที่ต่อไป ..

ระบุชื่อ Subnet (sub-internal) และ Network Address (10.10.0.0/24)

คลิกที่ต่อไป
VM จะรับ ip ภายในจากเซิร์ฟเวอร์ DHCP เพราะเราเปิดใช้งานตัวเลือก DHCP สำหรับเครือข่ายภายใน
ตอนนี้สร้าง เครือข่ายภายนอก คลิกที่ ” สร้างเครือข่าย ” อีกครั้งระบุชื่อเครือข่ายเป็น ” ภายนอก “
คลิกที่ต่อไป
ระบุชื่อเครือข่ายย่อยเป็น“ sub-external ” และที่อยู่เครือข่ายเป็น“ 192.168.1.0/24 ”
คลิกที่ต่อไป

ยกเลิกการเลือกตัวเลือก“ เปิดใช้งาน DHCP” แล้วระบุกลุ่มที่อยู่ ip สำหรับเครือข่ายภายนอก

คลิกที่สร้าง
ได้เวลาสร้างเราเตอร์แล้ว

ไปที่แท็บเครือข่าย> เราเตอร์> คลิกที่ ‘+ สร้างเราเตอร์’

ตอนนี้ทำเครื่องหมายเครือข่ายภายนอกเป็น “ภายนอก” งานนี้สามารถดำเนินการได้จากผู้ใช้ที่เป็นผู้ดูแลระบบเท่านั้นดังนั้นการออกจากระบบจากผู้ใช้ปกติและเข้าสู่ระบบในฐานะผู้ดูแลระบบ

ไปที่แท็บผู้ดูแลระบบ> เครือข่าย> คลิกที่แก้ไขเครือข่ายสำหรับ“ ภายนอก”

คลิกที่บันทึกการเปลี่ยนแปลง
ตอนนี้ออกจากระบบจากผู้ใช้ของผู้ดูแลระบบและเข้าสู่ระบบในฐานะผู้ใช้ปกติของคุณได้สร้างไว้ก่อนหน้า

ไปที่แท็บเครือข่าย> เราเตอร์> สำหรับเราเตอร์ 1 คลิกที่“ ตั้งค่าเกตเวย์”

คลิกที่“ ตั้งค่าเกตเวย์ ” ซึ่งจะเพิ่มอินเทอร์เฟซบนเราเตอร์และจะกำหนด ip แรกของเครือข่ายย่อยภายนอก (192.168.1.0/24)

เพิ่มอินเทอร์เฟซภายในกับเราเตอร์เช่นกันคลิกที่“ เราเตอร์ 1″ และเลือกที่“ อินเทอร์เฟซ” จากนั้นคลิกที่“ เพิ่มอินเตอร์เฟซ”

คลิกที่เพิ่มอินเตอร์เฟซ

ส่วนเครือข่ายเสร็จสมบูรณ์ ตอนนี้เราสามารถดู Network Topology จากแท็บ“ Network Topology”

ตอนนี้สร้างคู่กุญแจที่จะใช้สำหรับการเข้าถึง VM และกำหนดกฎไฟร์วอลล์ความปลอดภัย
สำหรับการสร้างคู่กุญแจ

ไปที่แท็บ’ การเข้าถึงและความปลอดภัย’> คลิกที่คู่กุญแจ> จากนั้นคลิกที่ ‘สร้างคู่คีย์’

มันจะสร้างคู่คีย์ที่มีชื่อ“ myssh-keys.pem ”

เพิ่มกลุ่มความปลอดภัยใหม่ที่มีชื่อ ‘ fedora-rules’ จากแท็บการเข้าถึงและความปลอดภัย อนุญาต 22 และ ICMP จากอินเทอร์เน็ต (0.0.0.0)

เมื่อสร้าง ‘กฎของ fedora’ ของกลุ่มความปลอดภัยแล้วให้คลิกที่จัดการกฎและอนุญาตการ ping 22 & ICMP
คลิกที่เพิ่มเพิ่มกฎสำหรับ ICMP ในทำนองเดียวกัน

ขั้นตอนที่ 10  การเปิดตัวอินสแตนซ์

ไปที่ Compute Tab> คลิกที่อินสแตนซ์> จากนั้นคลิกที่ ‘เรียกใช้อินสแตนซ์’

ระบุชื่ออินสแตนซ์รสที่เราสร้างขึ้นในขั้นตอนข้างต้นและ ‘ Boot จากภาพ’  จากอินสแตนซ์ Boot แหล่งที่มาของตัวเลือกและเลือกรูปภาพชื่อ ‘ ฟางภาพ’

คลิกที่ ‘ การเข้าถึงและความปลอดภัย’ และเลือกกลุ่มการรักษาความปลอดภัย ‘ fedora-rules’ & คู่ที่สำคัญ”myssh-keys ‘

ตอนนี้เลือก  ‘ระบบเครือข่าย’  และเพิ่มเครือข่าย ‘ภายใน’ และคลิกที่เริ่มต้น
เมื่อเปิดตัว VM เชื่อมโยง ip ลอยเพื่อให้เราสามารถเข้าถึง VM
คลิกที่ ‘ เชื่อมโยง IP ลอยตัว ‘
คลิกที่จัดสรร IP
คลิกที่รอง
ตอนนี้พยายามเข้าถึง VM ด้วย IP แบบลอย (192.168.1.20) โดยใช้คีย์
          ดังที่คุณเห็นด้านบนว่าเราสามารถเข้าถึง VM โดยใช้คีย์ ภารกิจในการเปิดตัว VM จากแดชบอร์ดของเราเสร็จสมบูรณ์แล้ว หวังว่าคู่มือนี้มีประโยชน์ในการติดตั้ง openstack บนมัลติโหนดในสภาพแวดล้อมของคุณ