CentOS 7
Sponsored Link

OpenShift Origin 3.6 : Openstack Keystone で認証する2017/12/11

 
当サイトの例では OpenShift Origin インストール時の設定で、OpenShift クラスターへの認証プロバイダーに HTPasswd を設定しましたが、認証プロバイダーには HTPasswd の他、様々な認証基盤が利用できます。
例として 認証プロバイダーに Openstack Keystone を利用するよう設定します。
当例では以下のような環境を例に OpenShift クラスターを構成しています。
ここへ Keystone サーバーを別途準備して、OpenShift クラスターの認証基盤とします。
-----------+--------------+------------------------------------------+------------
           |10.0.0.30     |             |10.0.0.51                   |10.0.0.52
+----------+-----------+  |  +----------+-----------+     +----------+-----------+
|  [  dlp.srv.world ]  |  |  | [ node01.srv.world ] |     | [ node02.srv.world ] |
|     (Master Node)    |  |  |    (Compute Node)    |     |    (Compute Node)    |
|     (Compute Node)   |  |  |                      |     |                      |
+----------------------+  |  +----------------------+     +----------------------+
                          |
+----------------------+  |
| [keystone.srv.world] |  |
|  Openstack Keystone  +--+
|                      |10.0.0.50
+----------------------+

[1]
[2] root または クラスター管理ユーザーでログインし、設定を変更します。
[origin@dlp ~]$
sudo vi /etc/origin/master/master-config.yaml
# 131行目:以下のように変更

  identityProviders:
  - challenge: true
    login: true
    mappingMethod: claim
    # 任意の名称
    name: keystone_auth
    provider:
      apiVersion: v1
      kind: KeystonePasswordIdentityProvider
      # keystone のドメイン名 (Openstackデフォルトは [default])
      domainName: default
      # keystone への認証URL
      url: http://10.0.0.50:5000

.....
.....

[origin@dlp ~]$
sudo systemctl restart origin-master

[3] Keystone サーバーで任意のユーザーを登録しておきます。
[root@keystone ~(keystone)]#
openstack user create --domain default --password mypassword redhat

+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 70e08af6959149a89c923e15bae6d3e5 |
| name                | redhat                           |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+
[4] 登録したユーザーで認証できるか確認しておきます。
[cent@dlp ~]$
oc login

Authentication required for https://dlp.srv.world:8443 (openshift)
Username: redhat
Password:
Login successful.

You don't have any projects. You can try to create a new project, by running

    oc new-project <projectname>

[cent@dlp ~]$
oc whoami

redhat
[cent@dlp ~]$
oc new-project myproject

Now using project "myproject" on server "https://dlp.srv.world:8443".

You can add applications to this project with the 'new-app' command. For example, try:

    oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git

to build a new example application in Ruby.
.....
.....
関連コンテンツ