第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!