すべてのプロダクト
Search
ドキュメントセンター

Container Compute Service:ClusterIP サービスの作成

最終更新日:Nov 09, 2025

Kubernetes では、Pod は迅速に作成および削除され、その IP アドレスは固定されていません。このため、サービスを直接提供するには適していません。Service は安定した IP アドレスを提供し、外部クライアント (フロントエンド) が特定の IP アドレスを知らなくてもバックエンド Pod にアクセスできるようにします。これにより、フロントエンドとバックエンドが分離され、サービスの安定性が確保されます。このトピックでは、コンソールで ClusterIP サービスを作成する方法について説明します。

背景情報

Kubernetes において、Service は Pod の論理的なセットと、その Pod にアクセスするために使用されるポリシーを定義する抽象化です。このパターンはマイクロサービスとして知られています。ラベルセレクターは、Service によってアクセスされる Pod のセットを決定するために使用されます。

Kubernetes クラスター内の各 Pod は、独自の IP アドレスを持っています。しかし、Pod は頻繁に作成および削除されます。したがって、Pod を外部アクセスに直接公開することは、高可用性を確保するためのルールに準拠していません。Service はフロントエンドとバックエンドを分離します。フロントエンドクライアントは、どのバックエンド Pod が使用されているかを意識する必要はありません。これにより、疎結合のマイクロサービスアーキテクチャが提供されます。

詳細については、「Kubernetes Services」をご参照ください。

ステップ 1: デプロイメントの作成

  1. ACS コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターを見つけてその ID をクリックします。クラスター詳細ページの左側のナビゲーションウィンドウで、[ワークロード] > [デプロイメント] を選択します。

  3. [デプロイメント] ページで、[YAML から作成] をクリックします。

  4. サンプルテンプレートまたはカスタムテンプレートを選択し、[作成] をクリックします。

    このサンプルテンプレートは Nginx デプロイメント用です。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: my-nginx-svc
      namespace: default
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginxdemos:latest
            ports:
            - containerPort: 80
  5. [デプロイメント] ページで、対象のアプリケーションの名前または [操作] 列の [詳細] をクリックして、デプロイメントのステータスを表示します。すべての Pod インスタンスが利用可能になるまで待ちます。

ステップ 2: サービスの作成

  1. [クラスター] ページで、管理するクラスターを見つけてその ID をクリックします。クラスター詳細ページの左側のナビゲーションウィンドウで、[ネットワーク] > [サービス] を選択します。

  2. [サービス] ページで、右上隅にある [作成] をクリックします。[サービスの作成] ダイアログボックスで、パラメーターを設定し、[OK] をクリックします。

    設定項目

    説明

    名前

    サービスの名前。

    my-nginx-svc

    タイプ

    [ClusterIP] を選択します。このタイプは、クラスター内部 IP アドレスでサービスを公開します。このタイプを選択した場合、サービスはクラスター内からのみアクセス可能です。これはデフォルトのサービスタイプです。

    説明

    必要に応じて [ヘッドレスサービス] を有効にできます。この機能を有効にすると、ヘッドレスサービスを使用して、Kubernetes の実装に縛られることなく、他のサービス検出メカニズムと連携できます。

    ClusterIP

    関連付け

    サービスをアタッチするバックエンドアプリケーションを選択します。サービスをバックエンドに関連付けないと、Endpoint オブジェクトは作成されません。サービスの関連付けの詳細については、「services-without-selectors」をご参照ください。

    • 名前: app

    • : nginx

    ポートマッピング

    サービスポート (Service YAML ファイルの port に対応) とコンテナーポート (Service YAML ファイルの targetPort に対応) を追加します。コンテナーポートは、バックエンド Pod によって公開されるポートと同じである必要があります。

    • サービスポート: 80

    • コンテナーポート: 80

    • プロトコル: TCP

    アノテーション

    サービスにアノテーションを追加します。

    なし

    ラベル

    サービスを識別するためのラベルを追加します。

    なし

    サービスが作成された後、[サービス] ページでサービスを見つけ、[操作] 列の [更新][YAML の編集]、または [削除] をクリックできます。