Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

第3章 OpenShift Container Platform の設定

3.1. 概要

本書は、OpenShift Container Platform に関する基本的な概念を紹介し、基本的なアプリケーションの設定に役立ちます。本書は、「OpenShift Container Platform の基本環境のインストール」に沿った設定手順であるため、OpenShift の実稼働環境のデプロイやインストールには適していません。

3.2. ログイン ID プロバイダーの変更

OpenShift Container Platform インスタンスを新規インストールした場合のデフォルトの動作として、全ユーザーのログインを拒否します。この認証方法を HTPasswd に変更するには、以下を実行します。

  1. /etc/origin/master/master-config.yaml ファイルを編集モードで開きます。
  2. identityProviders のセクションを検索します。
  3. DenyAllPasswordIdentityProviderHTPasswdPasswordIdentityProvider プロバイダーに変更します。
  4. 名前ラベルの値を htpasswd_auth に変更し、プロバイダーセクションに file: /etc/origin/master/htpasswd の新しい行を追加します。

    identityProviders セクションに HTPasswdPasswordIdentityProvider を指定した例は、以下のようになります。

    oauthConfig:
      ...
      identityProviders:
      - challenge: true
        login: true
        name: htpasswd_auth provider
        provider:
          apiVersion: v1
          kind: HTPasswdPasswordIdentityProvider
          file: /etc/origin/master/htpasswd
  5. ファイルを保存します。

3.3. ユーザーアカウントの作成

HTPasswdPasswordIdentityProvider プロバイダーを使用できるようになったので、これらのユーザーアカウントを作成する必要があります。

  1. httpd-tools パッケージを使用して、これらのアカウントを生成可能な htpasswd バイナリーを取得できます。

    # yum -y install httpd-tools
  2. ユーザーアカウントを作成します。

    # touch /etc/origin/master/htpasswd
    # htpasswd -b /etc/origin/master/htpasswd admin redhat

    パスワードが redhatadmin というユーザーを作成しました。

  3. 続行する前に OpenShift を再起動します。

    # master-restart api
    # master-restart controllers
  4. このユーザーアカウントに cluster-admin の特権を指定して、あらゆる操作ができるようにします。

    $ oc adm policy add-cluster-role-to-user cluster-admin admin

    oc adm コマンドの実行時は、Ansible ホストのインベントリーファイルに記載されている最初のマスターからのみ実行してください。デフォルトは、/etc/ansible/hosts です。

  5. Web コンソールやコマンドラインから、このユーザー名/パスワードの組み合わせを使用してログインします。これをテストするには、以下のコマンドを実行します。

    $ oc login -u admin

default プロジェクトに変更してから、次に進みます。

$ oc project default

詳細は、「ロール」および「認証」を参照してください。

3.4. OpenShift ルーターのデプロイ

OpenShift ルーターは、OpenShift サービスが宛先の外部ネットワークトラフィックのエントリーポイントとなります。SNI を使用する HTTP、HTTPS および TLS トラフィックをサポートし、ルーターが正しいサービスにトラフィックを送信できるようにします。

ルーターなしでは、OpenShift サービスと Pod は、OpenShift インスタンスの外部にあるリソースと通信できません。

インストーラーにより、デフォルトのルーターが作成されます。

  1. 以下のコマンドを使用してデフォルトのルーターを削除します。

    $ oc delete all -l router=router
  2. 新しいデフォルトのルーターを作成します。

    $ oc adm router --replicas=1 --service-account=router

OpenShift ドキュメントには、ルーターの概要に関する詳細情報が記載されています。

3.5. 内部レジストリーのデプロイ

Openshift は、内部の統合 Docker レジストリーを提供し、このレジストリーをデプロイして、イメージをローカルで管理できます。また、OpenShift は docker-registry を使用して、イメージの保存、取得、ビルドだけでなく、ライフサイクル全体でイメージをデプロイし、管理します。

インストーラーは、デフォルトのレジストリーを作成します。