Menu Close
Settings Close

Language and Page Formatting Options

アプリケーション開発

Red Hat OpenShift Service on AWS 4

アプリケーション向けの Red Hat OpenShift Service on AWS の設定

概要

本書では、アプリケーションのデプロイメント用に Red Hat OpenShift Service on AWS (ROSA) を設定する方法を説明します。これには、カスタムワイルドカードドメインの設定が含まれます。

第1章 デプロイメント

1.1. アプリケーションのカスタムドメインの設定

1.1.1. アプリケーションのカスタムドメインの設定

カスタムドメインは、Red Hat OpenShift Service on AWS アプリケーションで使用できる特定のワイルドカードドメインです。トップレベルのドメイン (TLD) は、Red Hat OpenShift Service on AWS クラスターを運用しているお客様が所有しています。カスタムドメイン Operator は、2 日目の操作としてカスタム証明書を使用して新規 ingresscontroller を設定します。次に、この ingresscontroller のパブリック DNS レコードは外部 DNS で使用され、カスタムドメインで使用するワイルドカード CNAME レコードを作成できます。

注記

Red Hat は API ドメインを制御するため、カスタム API ドメインはサポートされません。ただし、お客様はアプリケーションドメインを変更することができます。プライベート IngressController があるプライベートカスタムドメインの場合は、CustomDomain CR で .spec.scopeInternal に設定します。

前提条件

  • dedicated-admin 権限を持つユーザーアカウント
  • *.apps.<company_name>.io などの一意のドメインまたはワイルドカードドメイン
  • CN=*.apps.<company_name>.io などのカスタム証明書またはワイルドカードカスタム証明書
  • 最新バージョンの oc CLI がインストールされているクラスターへのアクセス
重要

CustomDomain CR の metadata/name: セクションで、予約された名前 default または apps* (appsapps2 など) を使用しないでください。

手順

  1. 秘密鍵および公開証明書から新しい TLS シークレットを作成します。ここで、fullchain.pem および privkey.pem は、公開または秘密のワイルドカード証明書です。

    $ oc create secret tls <name>-tls --cert=fullchain.pem --key=privkey.pem -n <my_project>

  2. 新規の CustomDomain カスタムリソース (CR) を作成します。

    例: <company_name>-custom-domain.yaml

    apiVersion: managed.openshift.io/v1alpha1
    kind: CustomDomain
    metadata:
      name: <company_name>
    spec:
      domain: apps.companyname.io 1
      scope: External
      certificate:
        name: <name>-tls 2
        namespace: <my_project>

    1
    カスタムドメイン
    2
    直前の手順で作成されたシークレット
  3. CR を適用します。

    $ oc apply -f <company_name>-custom-domain.yaml

  4. 新規に作成された CR のステータスを取得します。

    $ oc get customdomains

    出力例

    NAME               ENDPOINT                                                    DOMAIN                       STATUS
    <company_name>     xxrywp.<company_name>.cluster-01.opln.s1.openshiftapps.com  *.apps.<company_name>.io     Ready

  5. エンドポイントの値を使用して、新規のワイルドカード CNAME レコードセットを、Route53、Azure DNS、Google DNS などの管理 DNS プロバイダーに追加します。

    *.apps.<company_name>.io -> xxrywp.<company_name>.cluster-01.opln.s1.openshiftapps.com

  6. 新規アプリケーションを作成し、これを公開します。

    $ oc new-app --docker-image=docker.io/openshift/hello-openshift -n my-project

    $ oc create route edge --service=hello-openshift hello-openshift-tls --hostname hello-openshift-tls-my-project.apps.acme.io -n my-project
    $ oc get route -n my-project
    $ curl https://hello-openshift-tls-my-project.apps.<company_name>.io
    Hello OpenShift!