AKS 内 の Kubernetes Service

Kubernetes Service は、ポッドを論理的にグループ化し、指定されたポートの特定の IP アドレスまたは DNS 名を介してグループ化されたポッドに直接アクセスできるようにすることでネットワーク接続を提供するために使用されます。 これにより、ワークロードをホストする各ポッドのネットワーク構成を手動で管理することなく、アプリケーション ワークロードをクラスター内の他のサービスや外部クライアントに公開することができます。

クラスター外部の外部 IP アドレスで Service を公開したい場合などは、Kubernetes ServiceType を指定することで、必要な Service の種類を定義することができます。 詳しくは、Service の公開 (ServiceType) に関する Kubernetes のドキュメントをご覧ください。

AKS では次の ServiceType を利用できます。

ClusterIP

ClusterIP は、AKS クラスター内で使用する内部 IP アドレスを作成します。 ClusterIP Service は、クラスター内で他のワークロードをサポートする "内部専用アプリケーション" に適しています。 Service の種類を明示的に指定しないと、既定で ClusterIP が使用されます。

AKS クラスター内の ClusterIP トラフィック フローを示す図。

NodePort

NodePort は、ノード IP アドレスとポートを使用してアプリケーションに直接アクセスできるように、基になるノード上にポート マッピングを作成します。

AKS クラスター内の NodePort トラフィック フローを示す図。

LoadBalancer

LoadBalancer は、Azure Load Balancer リソースを作成し、外部 IP アドレスを構成して、要求されたポッドをロード バランサーのバックエンド プールに接続します。 顧客のトラフィックによるアプリケーションへのアクセスを許可するために、目的のポート上に負荷分散規則が作成されます。

AKS クラスター内のロード バランサー トラフィック フローを示す図。

受信トラフィックの HTTP 負荷分散の場合は、イングレス コントローラーを使用することもできます。

ExternalName

特定の DNS エントリを作成して、アプリケーションに簡単にアクセスできるようにします。

ロード バランサーまたはサービスの IP アドレスを動的に割り当てるか、または、既存の静的 IP アドレスを指定することができます。 内部と外部の静的 IP アドレスの両方を割り当てることができます。 既存の静的 IP アドレスは、多くの場合、DNS エントリに関連付けられています。

"内部" と "外部" 両方のロード バランサーを作成できます。 内部ロード バランサーにはプライベート IP アドレスのみが割り当てられるため、インターネットからそれらにアクセスすることはできません。

サービスの詳細については、Kubernetes のドキュメントを参照してください。