-
サーバ構築のデージーネットTOP
-
OSS情報
-
一押しOSS
-
Kubernetes〜コンテナ管理の課題を解決するOSS〜
-
Kubernetesのレプリカセットとデプロイメント
-
サーバ構築のデージーネットTOP
-
OSS情報
-
コンテナ型仮想化
-
Kubernetes〜コンテナ管理の課題を解決するOSS〜
-
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」