|
これは未公開の文書です SUSE® Virtual Clusters v1.2.0 (Dev). |
ハウツー:仮想クラスターの外部にワークロードを公開する
このガイドでは、k3k管理の仮想クラスターで実行されているワークロードを外部ネットワークに公開する方法を説明します。動作は仮想クラスターの運用モードによって異なります。
共有モード
_共有モード_では、要件に応じて、標準のKubernetesサービスタイプまたはイングレスコントローラーを使用して、ワークロードを外部ネットワークに公開できます。
|
_`Services`_は、ポッドに関してここで説明されているのと同じ原則に従って、常に仮想クラスターからホストクラスターに同期されます。 |
オプション1:`NodePort`または`LoadBalancer`を使用してください
ホストクラスターの外部に、ウェブアプリケーションなどのサービスを公開するには:
-
NodePort:各ノードのIP上の静的ポートでサービスを公開します。サービスにアクセスするには`http://<NodeIP>:<NodePort>`を使用してください。 -
LoadBalancer:外部ロードバランサーをプロビジョニングし(環境がサポートしている場合)、ロードバランサーのIPを介してサービスを公開します。
|
`LoadBalancer`のIPは現在、仮想クラスターサービスに反映されていません。 |
オプション2:内部通信には`ClusterIP`を使用してください
ワークロードがホストクラスター内の他のサービスやポッド_内_のみにアクセス可能であるべき場合:
-
`ClusterIP`サービスタイプを使用します。これは、ホストクラスター内でのみ到達可能な内部IP上にサービスを公開します。
オプション3:HTTP/HTTPSルーティングにIngressを使用します。
ホスト名やパスに基づく高度なルーティングを行うには、仮想クラスターに*Ingressコントローラー*をデプロイし、`NodePort`または`LoadBalancer`を介して公開します。
これにより、次の作業が可能になります。
-
仮想クラスター内でIngressリソースを定義します。
-
外部トラフィックを仮想クラスター内のサービスにルーティングします。
オプション4:ホストIngressを使用します。
ホストIngressコントローラーを使用するには、`sync.ingresses`を有効にします。Ingressはホストクラスターと同期されるため、仮想クラスターのユーザーはIngressコントローラーをデプロイする必要はありません。
apiVersion: k3k.io/v1beta1
kind: Cluster
metadata:
name: k3kcluster-shared-mode
spec:
mode: shared
...
sync:
ingresses:
enabled: true
この同期が有効になっていると、証明書もホストクラスターによって発行されることがあります。例えば、`Cert-Manager`を使用している場合、証明書が発行されることがあります。