Instal dan mengkonfigurasi ‘controller node’

Instal dan mengkonfigurasi ‘controller node’

Bagian ini menjelaskan cara menginstal dan mengkonfigurasi layanan proxy yang menangani permintaan untuk layanan akun, container, and object yang beroperasi pada storage nodes. Untuk mempermudah, panduan ini akan menginstal dan mengkonfigurasi layanan proxy pada ‘controller node’. Namun, Anda dapat menjalankan layanan proxy pada setiap node dengan konektivitas jaringan ke ‘storage node’. Selain itu, Anda dapat menginstal dan mengkonfigurasi layanan proxy pada beberapa node untuk meningkatkan kinerja dan redundansi. Untuk informasi lebih lanjut, lihat Deployment Guide.

Prasyarat (Prerequisite)

Layanan proxy bergantung pada mekanisme otentikasi dan otorisasi seperti layanan Identity. Namun, tidak seperti layanan lain, itu juga menawarkan mekanisme internal yang memungkinkan untuk beroperasi tanpa layanan OpenStack lainnya. Namun, untuk kesederhanaan, panduan ini referensi layanan Identitas di :doc: keystone. Sebelum Anda mengkonfigurasi layanan Object Storage, Anda harus membuat kredensial layanan dan endpoint API.

Catatan

Layanan Object Storage tidak menggunakan database SQL pada ‘controller node’. Sebaliknya, menggunakan database SQLite didistribusikan pada setiap ‘storage node’.

  1. Dapatkan sumber mandat admin untuk mendapatkan akses ke command CLI ‘admin-only’:

    $ . admin-openrc
    
  2. Untuk membuat kredensial layanan Identity, selesaikan langkah-langkah ini:

    • Buat user swift:

      $ openstack user create --domain default --password-prompt swift
      User Password:
      Repeat User Password:
      +-----------+----------------------------------+
      | Field     | Value                            |
      +-----------+----------------------------------+
      | domain_id | e0353a670a9e496da891347c589539e9 |
      | enabled   | True                             |
      | id        | d535e5cbd2b74ac7bfb97db9cced3ed6 |
      | name      | swift                            |
      +-----------+----------------------------------+
      
    • Tambah peran admin ke user swift:

      $ openstack role add --project service --user swift admin
      

      Catatan

      Command ini tidak memberikan output.

    • Buat entitas layanan swift:

      $ openstack service create --name swift \
        --description "OpenStack Object Storage" object-store
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | OpenStack Object Storage         |
      | enabled     | True                             |
      | id          | 75ef509da2c340499d454ae96a2c5c34 |
      | name        | swift                            |
      | type        | object-store                     |
      +-------------+----------------------------------+
      
  3. Buat endpoints API pada layanan Object Storage :

    $ openstack endpoint create --region RegionOne \
      object-store public http://controller:8080/v1/AUTH_%\(tenant_id\)s
    +--------------+----------------------------------------------+
    | Field        | Value                                        |
    +--------------+----------------------------------------------+
    | enabled      | True                                         |
    | id           | 12bfd36f26694c97813f665707114e0d             |
    | interface    | public                                       |
    | region       | RegionOne                                    |
    | region_id    | RegionOne                                    |
    | service_id   | 75ef509da2c340499d454ae96a2c5c34             |
    | service_name | swift                                        |
    | service_type | object-store                                 |
    | url          | http://controller:8080/v1/AUTH_%(tenant_id)s |
    +--------------+----------------------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      object-store internal http://controller:8080/v1/AUTH_%\(tenant_id\)s
    +--------------+----------------------------------------------+
    | Field        | Value                                        |
    +--------------+----------------------------------------------+
    | enabled      | True                                         |
    | id           | 7a36bee6733a4b5590d74d3080ee6789             |
    | interface    | internal                                     |
    | region       | RegionOne                                    |
    | region_id    | RegionOne                                    |
    | service_id   | 75ef509da2c340499d454ae96a2c5c34             |
    | service_name | swift                                        |
    | service_type | object-store                                 |
    | url          | http://controller:8080/v1/AUTH_%(tenant_id)s |
    +--------------+----------------------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      object-store admin http://controller:8080/v1
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | ebb72cd6851d4defabc0b9d71cdca69b |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 75ef509da2c340499d454ae96a2c5c34 |
    | service_name | swift                            |
    | service_type | object-store                     |
    | url          | http://controller:8080/v1        |
    +--------------+----------------------------------+
    

Instal dan konfigurasi komponen

Catatan

File konfigurasi default bervariasi menurut distribusi. Anda mungkin perlu menambahkan bagian dan opsi ini daripada memodifikasi bagian dan opsi yang ada. Juga, elipsis (`` ... ``) dalam cuplikan konfigurasi menunjukkan opsi konfigurasi default potensial dimana Anda harus mempertahankan.

  1. Instal paket:

    # yum install openstack-swift-proxy python-swiftclient \
      python-keystoneclient python-keystonemiddleware \
      memcached
    

    Catatan

    Lengkapi lingkungan OpenStack sudah memasukan beberapa paket ini.

  1. Dapatkan file konfigurasi pada layanan proxy dari repositori sumber Object Storage:

    # curl -o /etc/swift/proxy-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/proxy-server.conf-sample?h=stable/mitaka
    
  1. Editlah file /etc/swift/proxy-server.conf dan menyelesaikan tindakan berikut:

    • Dalam bagian ``[DEFAULT] ``, lakukan konfigurasi ‘bind port’, user, dan ‘configuration directory’:

      [DEFAULT]
      ...
      bind_port = 8080
      user = swift
      swift_dir = /etc/swift
      
    • Dalam bagian [pipeline:main], hapus modul tempurl dan tempauth dan tambahkan modul authtoken dan keystoneauth

      [pipeline:main]
      pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server
      

      Catatan

      Jangan mengubah urutan modul.

      Catatan

      Untuk informasi lebih lanjut tentang modul lain yang mengaktifkan fitur tambahan, lihat Deployment Guide.

    • Dalam bagian ``[app: proxy server] ``, aktifkan pembuatan akun otomatis:

      [app:proxy-server]
      use = egg:swift#proxy
      ...
      account_autocreate = True
      
    • Dalam bagian ``[filter: authkeystone] ``, lakukan konfigurasi peran operator:

      [filter:keystoneauth]
      use = egg:swift#keystoneauth
      ...
      operator_roles = admin,user
      
    • Dalam bagian ``[filter: authtoken] ``, lakukan konfigurasi akses layanan Identity:

      [filter:authtoken]
      paste.filter_factory = keystonemiddleware.auth_token:filter_factory
      ...
      auth_uri = http://controller:5000
      auth_url = http://controller:35357
      memcached_servers = controller:11211
      auth_type = password
      project_domain_name = default
      user_domain_name = default
      project_name = service
      username = swift
      password = SWIFT_PASS
      delay_auth_decision = True
      

      Ganti SWIFT_PASS dengan password yang Anda pilih untuk user swift dalam pelayanan Identity.

      Catatan

      Hapus komentar atau bahkan menghapus opsi lain dalam bagian [filter:authtoken].

    • Dalam bagian [filter: cache] ``, lakukan konfigurasi lokasi ``memcached:

      [filter:cache]
      use = egg:swift#memcache
      ...
      memcache_servers = controller:11211
      
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.