OpenStack Mimarisi ve Gereksinimleri – Bölüm 2

tarafından 13 Mayıs 2016 tarihinde Openstack kategorisine yazıldı.

Merhaba,

Bir önceki bölümde OpenStack servisleri ile ilgili detaylı bilgi vermiştim. Bu yazımda ise OpenStack’in mimarisi ile ilgili bilgi vereceğim. Yine bir önceki bölümde belirtmiş olduğum servislerin nerelerde nasıl kullanıldığını detaylı olarak görebileceksiniz.

Ben bu makale serisine Kilo kurulumunu yapacağım. Ondan dolayı bundan sonraki örnek mimariler bu sürüme göre olacaktır.

Openstack’deki mimariyi kavramsal (Conceptual) ve mantıksal (Logical) olmak üzere 2 şekilde göstereceğim.

Conceptual architecture:

openstack_kilo_conceptual_arch

Logical architecture:

openstack-arch-kilo-logical-v1

Design, deployment ve OpenStack’i yapılandırmak için kurulumu yapacak olan Adminstrator’ların mantıksal mimariyi anlaması gerekmektedir. Yukarıda göstermiş olduğum kavramsal mimaride basit anlamda hangi servislerin kullanılacağı belirtilmiştir. Buradaki tüm servisler tek identitry servis üzerinden authentication yapmaktadır.

Servisler arasındaki iletişim için bir AMQP message broker kullanılır. Bu servis’in durum bilgisi database üzerinde saklanır. OpenStack cloud’u deployment ve konfigurasyon için yapılandırırken RabbitMQ, MySQL, mariadb ve SQLite gibi birçok message broker ve database çözümlerini kullanabilirsiniz. Bu tamamen sizin tercihinize kalmış.

Example architecture (Örnek Mimari):

Basic bir kullanım için minimum 3 node’a yani 3 tane host’a ihtiyacınız bulunmaktadır. Ben bu yapıda Neutron kullanmayı tercih ettim. Ondan dolayı 3 host kullanıyorum. Eğer siz nova kullanacaksanız 2 host kullanabilirsiniz. Nova’yı controller üzzerine kurabilirsiniz. Tercihen Block ve Object storage kullanılabilir.

Mimari ile ilgili daha detaylı bilgi için aşağıdaki link’leri inceleyebilirsiniz.

Architecture Design Guide, Operations Guide, ve Networking Guide.

Hardware gereksinimleri:

Controller:

Identity Service, Image Service, Dasboard ve Compute ‘u çalıştırır. Buna ek olarak Sql database, message queue ve NTP gibi servisleride içerir. Opsiyonel olarak controller node, Block Storage, Object Storage, Orchestration ve Telemetry servislerinide çalıştırır.

Controller node minimum 1 network kartına ihtiyaç duymaktadır. Minimum konfigurasyon aşağıdaki gibi olmalıdır:

CPU: 1 veya 2 CPU

Memory: 8GB memory

Disk: 100GB disk

Network: Minimum 1 adet network kartı olmalıdır.

Compute:

Compute node’da hypervisor çalışmaktadır. Varsayılan olarak Compute node hypervisor KVM kullanır.  Tabi siz birden fazla Compute node çalıştırabilirsiniz. Tamamen size kalmış bir durum. Birden fazla compute node deploy edebilirsiniz ancak her node’da minimum 2 network kartı bağlı olmalıdır. Minimum konfigurasyon aşağıdaki gibi olmalıdır:

CPU: 2 veya 4 CPU

Memory: 8GB memory

Disk: 100GB disk

Network: Minimum 3 adet network kartı olmalıdır.

Network:

Neutron servisinin çalışacağı sunucudur. Siz burada isterseniz Neutron kullanabilir istersenizde nova kullanabilirsiniz. Neutron kullanacağımız için 1 controller node, 1 network node ve compute node kullanmamız gerekmektedir.

CPU: 1 veya 3 CPU

Memory: 2GB memory

Disk: 50GB disk

Network: Minimum 3 adet network kartı olmalıdır.

Block Storage:

Bunu Opsiyonel olarak kullanabilirsiniz. Kolaylık olması açısından compute ve bu node’un network trafiğini management network üzerinden kullanır. Ancak siz Production ortamında kullanacaksanız mutlaka ayrı bir network kullanmalısınız. Bu hem güvenlik hemde hız açısından size faydalı olacaktır. Bir veya birden fazla block storage node’u deploy edip kullanabilirsiniz. Her node’da minimum 1 tane network kartı olmalıdır. Minimum konfigurasyon aşağıdaki gibi olmalıdır:

CPU: 1 veya 2 CPU

Memory: 4GB memory

Disk: 100GB disk (/dev/sdb ve /dev/sdc)

Network: Minimum 2 adet network kartı olmalıdır.

Object Storage:

Opsiyonel olarak Object Storage kullanabilirsiniz. Kolaylık olması açısından compute ve bu node’un network trafiğini management network üzerinden kullanır. Ancak siz Production ortamında kullanacaksanız mutlaka ayrı bir network kullanmalısınız. Bu hem güvenlik hemde hız açısından size faydalı olacaktır. Bu servis 2 node’a ihtiyaç duymaktadır. Her node üzerinde minimum 1 tane network kartı olmalıdır. Eğer isterseniz ikiden fazla Object Storage node’u deploy edebilirsiniz. Minimum konfigurasyon aşağıdaki gibi olmalıdır:

Node 1

CPU: 1 veya 2 CPU

Memory: 4GB memory

Disk: 100GB disk (/dev/sdb ve /dev/sdc)

Network: Minimum 2 adet network kartı olmalıdır.

Node:2

CPU: 1 veya 2 CPU

Memory: 4GB memory

Disk: 100GB disk (/dev/sdb ve /dev/sdc)

Network: Minimum 2 adet network kartı olmalıdır.

Networking gereksinimleri:

install-neutron-networks

OpenStack üzerinde networking ikiye ayrılıyor. Bunlardan biri nova diğeri ise neutron. Nova ve Neutron ayrımını VMware vSphere ESXi/vCenter ‘daki Virtual Switch ve Distributed Switch ayrımına benzetebilirsiniz. Tabi özellikleri birbirinden tamamen farklı. Nova network daha eski bir yapıdır. Neutron ise daha modern ve yapılandırılabilir bir yapı sunmaktadır.

Networking tarafındaki opsiyonları inceledikten sonra kuracağımız yapı hakkında kısaca bilgi vermek istiyorum.

OpenStack ortamını hazırlarken kullanacağınız tüm işletim sistemleri 64 bit olmalıdır. 32bit’ede kurulum yapabilirsiniz ancak içerisine 64bit sanal makina açmak istediğinizde hata verecektir.

Kuruluma başlamadan önce aşağıdaki password tablosunu paylaşmak istiyorum. Çünkü bunların bir bölümünü kurulum sırasında kullanacağız.

Passwords
Password nameDescription
Database password (no variable used)Root password for the database
ADMIN_PASSPassword of user admin
CEILOMETER_DBPASSDatabase password for the Telemetry service
CEILOMETER_PASSPassword of Telemetry service user ceilometer
CINDER_DBPASSDatabase password for the Block Storage service
CINDER_PASSPassword of Block Storage service user cinder
DASH_DBPASSDatabase password for the dashboard
DEMO_PASSPassword of user demo
GLANCE_DBPASSDatabase password for Image service
GLANCE_PASSPassword of Image service user glance
HEAT_DBPASSDatabase password for the Orchestration service
HEAT_DOMAIN_PASSPassword of Orchestration domain
HEAT_PASSPassword of Orchestration service user heat
KEYSTONE_DBPASSDatabase password of Identity service
NEUTRON_DBPASSDatabase password for the Networking service
NEUTRON_PASSPassword of Networking service user neutron
NOVA_DBPASSDatabase password for Compute service
NOVA_PASSPassword of Compute service user nova
RABBIT_PASSPassword of user guest of RabbitMQ
SWIFT_PASSPassword of Object Storage service user swift

Kurulum sırasında kullanacağımız user’ın admin haklarına sahip olması gerekmektedir. Sunucu içerisinde çalıştıracağımız komutlarda ya root user’ı veya sudo komutları ile çalıştırmamız gerektirmektedir.

Bir sonraki bölümde Compute ve Controller node’ların üzerinde konfigurasyona başlayacağız.

Umarım faydalı olmuştur.

İyi çalışmalar.

email

Bu yazı blog üzerinde Tayfun DEĞER tarafından paylaşılmıştır. 2009 yılında açılan blog kısa zaman içerisinde büyük bir izleyici kitlesine sahip olmuştur.Tayfun DEĞER danışmanlık ve eğitimler vermektedir. vExpert 2013-2017, VCP5, VCP5-DT, VCP-Cloud ve MCSE sertifikalarına sahiptir.Twitter 'dan @tayfundeger veya RSS ile sitedeki değişiklikleri takip edebilirsiniz.