第6章 デプロイメント


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

警告

OpenShift Dedicated 4.14 以降、Custom Domain Operator は非推奨になりました。OpenShift Dedicated 4.14 で Ingress を管理するには、Ingress Operator を使用します。OpenShift Dedicated 4.13 以前のバージョンでは機能に変更はありません。

アプリケーションのカスタムドメインを設定できます。カスタムドメインは、OpenShift Dedicated アプリケーションで使用できる特定のワイルドカードドメインです。

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

トップレベルのドメイン (TLD) は、OpenShift Dedicated クラスターを運用しているお客様が所有しています。カスタムドメイン Operator は、2 日目の操作としてカスタム証明書を使用して新規イングレスコントローラーを設定します。次に、このイングレスコントローラーのパブリック 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.<company_name>.io 1
      scope: External
      loadBalancerType: Classic 2
      certificate:
        name: <name>-tls 3
        namespace: <my_project>
      routeSelector: 4
        matchLabels:
         route: acme
      namespaceSelector: 5
        matchLabels:
         type: sharded

    1
    カスタムドメイン。
    2
    カスタムドメインのロードバランサーのタイプ。このタイプは、ネットワークロードバランサーを使用する場合は、デフォルトの classic または NLB にすることができます。
    3
    前の手順で作成されたシークレット
    4
    オプション: CustomDomain イングレスによって提供されるルートのセットをフィルタリングします。値が指定されていない場合、デフォルトはフィルタリングなしです。
    5
    オプション: CustomDomain イングレスによって提供される namespace のセットをフィルタリングします。値が指定されていない場合、デフォルトはフィルタリングなしです。
  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 <route_name> --service=hello-openshift hello-openshift-tls --hostname hello-openshift-tls-my-project.apps.<company_name>.io -n my-project
    $ oc get route -n my-project
    $ curl https://hello-openshift-tls-my-project.apps.<company_name>.io
    Hello OpenShift!

6.1.2. カスタムドメインの証明書の更新

oc CLI ツールを使用して、Custom Domains Operator (CDO) で証明書を更新できます。

前提条件

  • 最新バージョンの oc CLI ツールがインストールされている。

手順

  1. 新しいシークレットを作成します。

    $ oc create secret tls <secret-new> --cert=fullchain.pem --key=privkey.pem -n <my_project>
  2. CustomDomain CR にパッチを適用します。

    $ oc patch customdomain <company_name> --type='merge' -p '{"spec":{"certificate":{"name":"<secret-new>"}}}'
  3. 古いシークレットを削除します。

    $ oc delete secret <secret-old> -n <my_project>

トラブルシューティング

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.