Red Hat Training

A Red Hat training course is available for OpenShift Online

15.2. ルートの作成

Web コンソールまたは CLI を使用して、セキュリティー保護されていないルートとセキュリティー保護されているルートを作成できます。

Web コンソールを使用してナビゲーションの Applications セクションの下にある Routes ページに移動します。

Create Route をクリックしてプロジェクト内でルートを定義し、作成します。

図15.1 Web コンソールを使用したルートの作成

Web コンソールを使用したルートの作成

CLI を使用して、セキュアでないルートを作成します。OpenShift Online Starter の場合は、以下の例に従います。

$ oc expose svc/frontend

OpenShift Online Pro の場合は、以下の例に従います。その際、--hostname は任意です。

$ oc expose svc/frontend --hostname=www.example.com

新規ルートは、--name オプションを使用して名前を指定しない限りサービスから名前を継承します。

上記で作成された非セキュアなルートの YAML 定義

apiVersion: v1
kind: Route
metadata:
  name: frontend
spec:
  to:
    kind: Service
    name: frontend

CLI を使用したルートの設定についての情報は、「ルートタイプ」を参照してください。

非セキュアなルートはデフォルト設定であるため、これが最も簡単なセットアップになります。ただし、セキュリティー保護されたルートは、接続がプライベートのままになるようにセキュリティーを提供します。OpenShift Online 3 のデフォルト証明書で暗号化されたセキュアな HTTPS ルートを作成するには、create route コマンドを使用します。

注記

TLS は、HTTPS および他の暗号化されたプロトコルにおける SSL の代わりとして使用されます。

OpenShift Online Starter の場合:

$ oc create route edge --service=frontend

上記で作成されたセキュリティー保護されたルートの YAML 定義

apiVersion: v1
kind: Route
metadata:
  name: frontend
spec:
  to:
    kind: Service
    name: frontend
  tls:
    termination: edge

OpenShift Online Pro では、CA からの独自の証明書およびキーファイルを使用できます。ただし、デフォルトの証明書を使用する必要がある場合は、証明書およびキーファイルを省略できます。OpenShift Online Starter では、証明書およびキーを指定することはできません。

OpenShift Online Pro の場合:

$ oc create route edge --service=frontend \
    --cert=example.crt \
    --key=example.key \
    --ca-cert=ca.crt \
    --hostname=www.example.com

上記で作成されたセキュリティー保護されたルートの YAML 定義

apiVersion: v1
kind: Route
metadata:
  name: frontend
spec:
  host: www.example.com
  to:
    kind: Service
    name: frontend
  tls:
    termination: edge
    key: |-
      -----BEGIN PRIVATE KEY-----
      [...]
      -----END PRIVATE KEY-----
    certificate: |-
      -----BEGIN CERTIFICATE-----
      [...]
      -----END CERTIFICATE-----
    caCertificate: |-
      -----BEGIN CERTIFICATE-----
      [...]
      -----END CERTIFICATE-----

現時点で、パスワードで保護されたキーファイルはサポートされていません。キーファイルからパスフレーズを削除するために、以下を実行できます。

# openssl rsa -in <passwordProtectedKey.key> -out <new.key>

すべてのタイプの TLS 終端およびパスベースのルーティングについての詳細は、「アーキテクチャー」セクションを参照してください。