ドメイン名の構成¶
個々の Knative Service のドメインをカスタマイズしたり、クラスター上に作成されたすべての Service のグローバルなデフォルトドメインを設定したりできます。ルートの完全修飾ドメイン名は、デフォルトで {route}.{namespace}.svc.cluster.local
です。
単一の Knative Service のドメインの構成¶
個々の Service のドメインをカスタマイズしたい場合は、DomainMapping
に関するドキュメントを参照してください。
クラスター上のすべての Knative Service のデフォルトドメインの構成¶
config-domain
ConfigMap を変更することで、クラスター上のすべての Knative Service のデフォルトドメインを変更できます。
手順¶
-
デフォルトのテキストエディターで
config-domain
ConfigMap を開きます。kubectl edit configmap config-domain -n knative-serving
-
ファイルを編集して、使用するドメインで
svc.cluster.local
を置き換え、次に_example
キーを削除して変更を保存します。この例では、すべてのルートのドメインとしてknative.dev
が構成されています。apiVersion: v1 data: knative.dev: "" kind: ConfigMap [...]
既存のデプロイがある場合、Knative は ConfigMap に加えられた変更を調整し、デプロイされたすべての Service と Route のホスト名を自動的に更新します。
検証手順¶
- クラスターにアプリケーションをデプロイします。
-
Route の URL を取得します。
kubectl get route <route-name> --output jsonpath="{.status.url}"
ここで、
<route-name>
は Route の名前です。 -
構成したカスタマイズされたドメインを確認します。
ドメインの公開¶
ドメインを公開アクセス可能にするには、DNS プロバイダーを更新して、サービスイングレスの IP アドレスを指すようにする必要があります。
-
ネームスペースとカスタムドメインのワイルドカードレコードをイングレス IP アドレスに作成すると、同じネームスペース内の複数のサービスのホスト名を、追加の DNS エントリを作成せずに動作させることができます。
*.default.knative.dev 59 IN A 35.237.28.44
-
完全修飾ドメイン名から Knative ゲートウェイの IP アドレスを指す A レコードを作成します。この手順は、作成された Knative Service または Route ごとに実行する必要があります。
helloworld-go.default.knative.dev 59 IN A 35.237.28.44
-
ドメインの更新が伝播されたら、デプロイされたルートの完全修飾ドメイン名を使用してアプリケーションにアクセスできます。