[ English | English (United Kingdom) | 中文 (简体, 中国) | Indonesia | русский | français | नेपाली | Deutsch | Esperanto | português (Brasil) | español | 한국어 (대한민국) ]
Pemasangan manual¶
Halaman ini mencakup pemasangan horizon dasar dalam lingkungan produksi. Jika Anda mencari lingkungan pengembang, lihat Quickstart.
Untuk dependensi sistem, lihat Persyaratan sistem.
Pemasangan¶
Catatan
Dalam perintah di bawah ini, gantikan "<release>" untuk versi pilihan Anda, seperti "queens" atau "rocky".
Jika Anda menggunakan versi pengembangan, ganti "stable/<release>" dengan "master".
Clone Horizon
$ git clone https://opendev.org/openstack/horizon -b stable/<release> --depth=1 $ cd horizon
Instal modul horizon python ke dalam sistem Anda
$ sudo pip install -c https://opendev.org/openstack/requirements/raw/branch/stable/<release>/upper-constraints.txt .
Konfigurasi¶
Bagian ini berisi ringkasan kecil dari pengaturan kritis yang diperlukan untuk menjalankan horizon. Untuk lebih jelasnya, silakan merujuk Referensi Pengaturan.
Pengaturan¶
Buat openstack_dashboard/local/local_settings.py
. Itu biasanya ide yang baik untuk menyalin openstack_dashboard/local/local_settings.py.example`
dan mengeditnya. Minimal, pengaturan berikut perlu dimodifikasi:
DEBUG
Setel ke
False
ALLOWED_HOSTS
Setel nama domain Anda (s)
OPENSTACK_HOST
Atur ke IP endpoint Keystone Anda. Anda mungkin juga perlu mengubah
OPENSTACK_KEYSTONE_URL
Catatan
Langkah-langkah berikut di bagian "Configuration" adalah opsional, tetapi sangat dianjurkan dalam produksi.
Translations (terjemahan)¶
Menyusun katalog pesan terjemahan untuk internasionalisasi. Langkah ini tidak diperlukan jika Anda tidak perlu mendukung bahasa selain Bahasa Inggris AS. Alat gettext` GNU diperlukan untuk mengkompilasi katalog pesan.
$ sudo apt install gettext
$ ./manage.py compilemessages
Static Assets¶
Kompres file statis Anda dengan menambahkan COMPRESS_OFFLINE = True
ke local_settings.py
Anda, lalu jalankan perintah berikut
$ ./manage.py collectstatic
$ ./manage.py compress
Logging¶
Horizons menggunakan mekanisme konfigurasi Django's logging, yang dapat dikustomisasi dengan mengubah kamus LOGGING
di local_settings.py
. Secara default, contoh Horizon's logging menyetel tingkat log ke `` INFO``.
Horizon juga menggunakan sejumlah klien pihak ketiga yang masuk secara terpisah. Tingkat log untuk ini masih dapat dikontrol melalui konfigurasi LOGGING
Horizon, namun perilaku dapat bervariasi di luar kendali Horizon.
Untuk informasi lebih lanjut tentang mengkonfigurasi penebangan di Horizon, silakan baca 'Django logging directive`_ dan dokumentasi `Python loggingiveive__. Horizon dibangun di atas Python dan Django.
Session Storage¶
Horizon menggunakan Django's sessions framework untuk menangani data sesi. Ada banyak sesi backend yang tersedia, yang dipilih melalui pengaturan SESSION_ENGINE
di file local_settings.py
Anda.
Memcached¶
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache',
'LOCATION': 'controller:11211',
}
}
Eksternal caching menggunakan aplikasi seperti memcached menawarkan persisten dan penyimpanan bersama, dan bisa sangat berguna untuk penyebaran skala kecil dan/atau pengembangan. Namun, untuk skenario yang didistribusikan dan ketersediaan tinggi memcached memiliki masalah yang melekat yang berada di luar lingkup dokumentasi ini.
Persyaratan:
Layanan memcached berjalan dan dapat diakses
Modul Python memcached terpasang
Database¶
SESSION_ENGINE = 'django.core.cache.backends.db.DatabaseCache'
DATABASES = {
'default': {
# Database configuration here
}
}
Sesi yang didukung database bersifat skalabel (menggunakan strategi basis data yang sesuai), persisten, dan dapat dibuat konkurensi tinggi dan sangat tersedia.
Kelemahan dari pendekatan ini adalah bahwa sesi yang didukung database adalah salah satu penyimpanan sesi yang lebih lambat, dan menimbulkan biaya overhead yang tinggi di bawah penggunaan berat. Konfigurasi yang tepat dari penyebaran basis data Anda juga dapat menjadi pekerjaan substansial dan jauh di luar lingkup dokumentasi ini.
Cached Database¶
Untuk mengurangi masalah kinerja query database, Anda juga dapat mempertimbangkan untuk menggunakan backend sesi cached_db
Django yang memanfaatkan database dan infrastruktur cache untuk melakukan cache write-through dan pengambilan yang efisien. Anda dapat mengaktifkan pengaturan hibrida ini dengan mengkonfigurasi database dan cache Anda seperti yang dibahas di atas dan kemudian menggunakan
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
Deployment¶
Siapkan server web dengan dukungan WSGI. Sebagai contoh, instal server web Apache di Ubuntu
$ sudo apt install apache2 libapache2-mod-wsgi
Anda dapat menggunakan
openstack_dashboard/wsgi.py
atau menghasilkan fileopenstack_dashboard/horizon_wsgi.py
dengan perintah berikut (yang mendeteksi jika Anda menggunakan lingkungan virtual atau tidak secara otomatis membangun file WSGI yang disesuaikan )$ ./manage.py make_web_conf --wsgi
Then configure the web server to host OpenStack dashboard via WSGI. For apache2 web server, you may need to create
/etc/apache2/sites-available/horizon.conf
. The template in DevStack is a good example of the file. https://opendev.org/openstack/devstack/src/branch/master/files/apache-horizon.template. Or you can automatically generate an apache configuration file. If you previously generated anopenstack_dashboard/horizon_wsgi.py
file it will use that, otherwise will default to usingopenstack_dashboard/wsgi.py
$ ./manage.py make_web_conf --apache > /etc/apache2/sites-available/horizon.conf
Sama seperti di atas tetapi jika Anda menginginkan dukungan SSL
$ ./manage.py make_web_conf --apache --ssl --sslkey=/path/to/ssl/key --sslcert=/path/to/ssl/cert > /etc/apache2/sites-available/horizon.conf
Secara default, konfigurasi apache akan meluncurkan sejumlah proses apache yang sama dengan jumlah CPU + 1 dari mesin di mana Anda meluncurkan perintah
make_web_conf
. Jika mesin target tidak sama atau jika Anda ingin menentukan jumlah proses, tambahkan opsi--processes
$ ./manage.py make_web_conf --apache --processes 10 > /etc/apache2/sites-available/horizon.conf
Aktifkan konfigurasi di atas dan mulai ulang server web
$ sudo a2ensite horizon $ sudo service apache2 restart
Langkah selanjutnya¶
Referensi Pengaturan daftar pengaturan yang tersedia untuk horizon.
Kustomisasi Horizon menjelaskan cara menyesuaikan horizon.