サービス
Kubernetesサービスについて説明します。
サービスを使用して、相互に交換可能な1つ以上のポッドへのアクセスを公開します。 ローリング更新およびスケーラビリティのためにポッドをレプリケートできるため、アプリケーションにアクセスするクライアントは、正しいアプリケーションを実行しているポッドに転送する必要があります。 ポッドは、Kubernetes以外のアプリケーションへのアクセスも必要になる場合があります。 どちらの場合も、実際のバックエンドが変更された場合でも、これらのリソースへのアクセスを透過的にするサービスを定義できます。
一般に、サービスはポートとIPのマッピングによって構成されます。 ネットワーク・スペースでのサービスの動作は、サービス・タイプによって異なります。
デフォルトのサービス・タイプはClusterIPです。これにより、クラスタの内部IPにサービスが公開され、クラスタ内からのみサービスにアクセスできます。 このサービス・タイプを使用して、クラスタ内から相互にアクセスする必要があるアプリケーションのサービスを公開します。  
               
多くの場合、Kubernetesクラスタ外のクライアントは、クラスタ内のサービスにアクセスする必要があります。 これには、NodePortサービス・タイプを使用します。 このサービス・タイプは、すべてのワーカー・ノードで実行されるKubeプロキシ・サービスを利用し、NodePortサービスとともに自動的に作成されるClusterIPにトラフィックを再ルーティングします。 このサービスは、NodePortという静的ポートで各ノードIPに公開されます。 Kube ProxyはNodePort宛てのトラフィックをクラスタにルーティングします。そのトラフィックは、クラスタ内で実行中のポッドによって処理されます。 つまり、クラスタ内でNodePortサービスが実行されている場合は、ポッドが実行されている場所に関係なく、クラスタ内の任意のノードからアクセスできます。  
               
これらのサービス・タイプに加えて、LoadBalancerサービス・タイプでは、クラウド・プロバイダのロード・バランサを使用してサービスを外部に公開できます。 外部ロード・バランサは、Kubeプロキシからクラスタ内のポッドへのトラフィックを直接リダイレクトできます。 LoadBalancerサービスがプロビジョニングされると、NodePortサービスおよびClusterIPサービスが自動的に作成されます。 
               
重要:
異なるポッドにサービスを追加する場合は、サービス宣言ごとにネットワークが適切に構成されていることを確認してください。 NodePortまたはLoadBalancerサービスによって公開される外部向けポートには、ノードで実行されているファイアウォールからもアクセスできる必要があります。  
                  
サービスの詳細は、アップストリームの「Kubernetesドキュメント」を参照してください。