CentOS 7
Sponsored Link

OpenShift Origin (OKD) 3.11 : Openstack Keystone で認証する2018/11/20

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

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

  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.30:5000

.....
.....

[origin@ctrl ~]$
sudo /usr/local/bin/master-restart api

[origin@ctrl ~]$
sudo /usr/local/bin/master-restart controllers

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

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

Authentication required for https://ctrl.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@ctrl ~]$
oc whoami

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

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

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

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

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