Skip to the content.

Cài đặt Keystone.

1. Tổng quan về Openstack Identity service

3. Cài đặt Openstack Identify - Keystone

Ở đây sẽ cài đặt Openstack Identify- Keystone trên Controller Node. Với mục đích mở rộng, cấu hình này sẽ triển khai Fernet tokens và Apache HTTP.

3.1. Yêu cầu

3.1. Cài đặt và cấu hình các thành phần.

Tạo database.

MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO ‘keystone’@’localhost’
IDENTIFIED BY ‘123123Aa’; MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO ‘keystone’@’%’
IDENTIFIED BY ‘123123Aa’;

- Thoát database client.

#### Cài đặt keystone và một số gói cần thiết.
- Cài các gói cần thiết:

yum install openstack-keystone httpd mod_wsgi

- Sửa file cấu hình của keystone **/etc/keystone/keystone.conf
    - Sửa ở phần [database] để kết nối đến database keystone:     
    ```ini
    [database]
    # ...
    connection = mysql+pymysql://keystone:123123Aa@192.168.50.140/keystone
    ```
    - Sửa phần [token] để chọn Fernet token:
    ```ini
    [token]
    # ...
    provider = fernet
    ```
- Tạo database cho dịch vụ xác thực:

su -s /bin/sh -c “keystone-manage db_sync” keystone

- Khởi tạo kho lưu trữ khóa Fernet.

keystone-manage fernet_setup –keystone-user keystone –keystone-group keystone keystone-manage credential_setup –keystone-user keystone –keystone-group keystone


- Bootstrap the Identify service:

keystone-manage bootstrap –bootstrap-password 123123Aa
–bootstrap-admin-url http://192.168.50.140:5000/v3/
–bootstrap-internal-url http://192.168.50.140:5000/v3/
–bootstrap-public-url http://192.168.50.140:5000/v3/
–bootstrap-region-id RegionOne

- Bootstrap để làm gì? Sau khi triển khai và cấu hình Keystone, nó phải được truyền vào một số thông tin khởi tạo cơ bản trước khi nó có thể sử dụng. Quá trình này được gọi là bootstrap. Một số thông tin khởi tạo có thể là user hệ thống đầu tiên, project, domain, service và endpoint, và các thứ khác.                                                           

#### Cấu hình apache HTTP server.
- Sửa file `/etc/httpd/conf/httpd.conf`, giá trị **ServerName** tham chiếu đến controller:

ServerName controller

- Tạo một link trong `/etc/httpd/conf.d/` đến file `/usr/share/keystone/wsgi-keystone.conf`:

ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/


#### Hoàn tất cấu hình
- Khởi động Apache:

systemctl restart httpd systemctl enable httpd


- Cấu hình firewalld cho Keystone API:

public url port

firewall-cmd –zone=public –add-port=5000/tcp –permanent

admin url port

firewall-cmd –zone=public –add-port=35357/tcp –permanent firewall-cmd –reload


- Cấu hình biến môi trường để đăng nhập cho tài khoản admin.

export OS_USERNAME=admin export OS_PASSWORD=123123Aa export OS_PROJECT_NAME=admin export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_DOMAIN_NAME=Default export OS_AUTH_URL=http://controller:5000/v3 export OS_IDENTITY_API_VERSION=3



### Kiểm tra:

Chạy lệnh `openstack token issue`

[root@controller ~]# openstack token issue +————+—————————————————————————————————————————————————————————————–+ | Field | Value | +————+—————————————————————————————————————————————————————————————–+ | expires | 2019-11-01T08:45:36+0000 | | id | gAAAAABdu-KgqxyZEBy-AeLyusc6-KN9leXRFrtW-a4jg4FXrPINs2k-E1PdQJkHpEGH2pk-YQOmbdpmYp4KLhjOwFbjodxmLrjMoaRWNPWCbOVkO3t7fzv__SpOxzGaLo5581zlN8LAtlu48NAfgi-RWt0u912XwdnPmE_vSrI9wriEnfsvrc4 | | project_id | 15ac090a736a4c6fb7669b017b2ce56f | | user_id | 653e73fac47a42fd86461f06bce2c018 | +————+—————————————————————————————————————————————————————————————–+

```

Tài liệu tham khảo: https://docs.openstack.org/install-guide/