オープンソース

サーバ構築のデージーネットTOP > OSS情報 > 一押しOSS > Kubernetes〜コンテナ管理ツール〜 > Kubernetesのレプリカセットとデプロイメント

サーバ構築のデージーネットTOP > OSS情報 > コンテナ型仮想化 > Kubernetes〜コンテナ管理ツール〜 > Kubernetesのレプリカセットとデプロイメント

Kubernetesのレプリカセットとデプロイメント

レプリカセットとは?

レプリカセットとは、Kubernetesが複数のPodのレプリカをセットで作成する機能です。例えば、レプリカ数に3を設定して起動すると、Kubernetesは同じ機能のPodを3つ、自動的に起動します。

Kubernetesでは、マスターノードがPodの状態を管理します。Kubernetesのマスターノードは、Kubernetes上で指定した数のレプリカが動作することを保証します。例えば、ノード障害などでPodが減少した場合には、Kubernetesは別のノードで自動的にPodを起動し、レプリカ数を維持します。

デプロイメント

実際にレプリカセットを作成するには、Kubernetesのデプロイメントという機能を利用します。デプロイメントは、名称の通りKubernetes上に必要な数のレプリカを配置することです。

デプロイメントの実施

Kubernetesでは、デプロイメントを行うために次の例のようなマニュフェストファイルを準備します。

デプロイメントのマニュフェストの例(nginx-deployment.yaml)

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  # 複製する数
  replicas: 3
  # ポッドのセレクタ
  selector:
    # ラベルが一致するポッドを複製することになる
    matchLabels:
      app: nginx-pod

  # ここからPodのテンプレート設定
  template:
    metadata:
      # Podにラベルを定義
      labels:
        app: nginx-pod
    spec:
      containers:
        - name: nginx-container
          image: nginx
          ports:
          - containerPort: 80

このマニュフェストを使って、次のようにデプロイメントを行います。

# kubectl create -f nginx-deployment.yaml --record ⏎
deployment "nginx-deployment" created

デプロイメントの確認

Kubernetes上の現在のデプロイメントの状態は、次のように確認することができます。

# kubectl get deployment ⏎
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
nginx-deployment 2 2 2 2 2m

この状態で、Kubernetes上のPodの状態を確認すると、自動的にPodが2つ起動されていることが分かります。

# kubectl get pods -o wide ⏎
NAME READY STATUS RESTARTS AGE IP NODE
nginx-deployment-6648995d88-2j7zh 1/1 Running 0 3m 10.44.0.7 osslab02
nginx-deployment-6648995d88-z8kw5 1/1 Running 0 3m 10.44.0.8 osslab02

デモのお申込み

もっと使い方が知りたい方へ
Kubernetesの操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。Kubernetesのデモをご希望の方は、下記よりお申込みいただけます。


デモをご希望の方


OSS情報「Kubernetes」

Kubernetes〜コンテナ管理ツール〜
ここでは、Dockerコンテナの管理を自動化するためのソフトウェア「Kubernetes」を紹介します。
Kubernetesクラスタの構築
ここでは、CentOS7に最小限のKubernetesクラスタを構築する方法について説明いたします。
KubernetesのPod機能
ここではPod機能について説明いたします。
Kubernetesのレプリカセットとデプロイメント
ここではデプロイメントという機能を利用してレプリカセットを作成する方法について説明いたします。
Kubernetesのアーキテクチャ
ここではアーキテクチャについて説明いたします。
Kubernetesのコンテナアップデート
ここでは、Kubernetesでソフトウェアをアップデートする場合の手法について説明いたします。
Kubernetesのローリングアップデート
ここでは、Kubernetesのローリングアップデート機能の概要について説明いたします。
Kubernetesのダッシュボード
ここでは管理用のダッシュボードについて説明いたします。
Kubernetesの永続ストレージ
ここでは永続ストレージについて説明いたします。
GitLab〜OSSコンテナレジストリ〜
GitLabは、ウェブ型のGitリポジトリマネージャーです。ここではGitLabのコンテナレジストリについて説明いたします。
DRBD-SDSとKubernetes
ここではDRBD-SDSを利用することでサービスの冗長化を実現させる手法について説明いたします。

Kubernetesのレプリカセットとデプロイメントの先頭へ