アプリケーション
アプリケーション用の OpenShift Dedicated の設定
概要
第1章 デプロイメント
1.1. アプリケーションのカスタムドメインの設定
1.1.1. アプリケーションのカスタムドメインの設定
カスタムドメインは、OpenShift Dedicated アプリケーションで使用できる特定のワイルドカードドメインです。トップレベルのドメイン (TLD) は、OpenShift Dedicated クラスターを運用しているお客様が所有しています。カスタムドメイン Operator は、2 日の操作としてカスタム証明書を使用して新規 ingresscontroller
を設定します。次に、この ingresscontroller
のパブリック DNS レコードは外部 DNS で使用され、カスタムドメインで使用するワイルドカード CNAME レコードを作成できます。
Red Hat は API ドメインを制御するため、カスタム API ドメインはサポートされません。ただし、お客様はアプリケーションドメインを変更することができます。プライベート IngressController
があるプライベートカスタムドメインの場合は、CustomDomain
CR で .spec.scope
を Internal
に設定します。
前提条件
-
dedicated-admin
権限を持つユーザーアカウント -
*.apps.<company_name>.io
などの一意のドメインまたはワイルドカードドメイン -
CN=*.apps.<company_name>.io
などのカスタム証明書またはワイルドカードカスタム証明書 -
最新バージョンの
oc
CLI がインストールされているクラスターへのアクセス
CustomDomain
CR の metadata/name:
セクションで、予約された名前 default
または apps*
(apps
や apps2
など) を使用しないでください。
手順
秘密鍵および公開証明書から新しい TLS シークレットを作成します。ここで、
fullchain.pem
およびprivkey.pem
は、公開または秘密のワイルドカード証明書です。例
$ oc create secret tls <name>-tls --cert=fullchain.pem --key=privkey.pem -n <my_project>
新規の
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>
CR を適用します。
例
$ oc apply -f <company_name>-custom-domain.yaml
新規に作成された CR のステータスを取得します。
$ oc get customdomains
出力例
NAME ENDPOINT DOMAIN STATUS <company_name> xxrywp.<company_name>.cluster-01.opln.s1.openshiftapps.com *.apps.<company_name>.io Ready
エンドポイントの値を使用して、新規のワイルドカード CNAME レコードセットを、Route53、Azure DNS、Google DNS などの管理 DNS プロバイダーに追加します。
例
*.apps.<company_name>.io -> xxrywp.<company_name>.cluster-01.opln.s1.openshiftapps.com
新規アプリケーションを作成し、これを公開します。
例
$ 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!