Kubernetes Deploymentを使用したCentOSコンテナ

目次に戻る

概要

KubernetesでDeploymentを使用したCentOSコンテナを実行し、Deploymentの機能を確認します。Deploymentの機能は主にオートヒーリング、ローリングアップデート等です。

手順

Podの作成

Manifestの作成

Manifestを作成します。これはDeploymentでCentOSを実行する為の最小限の内容です。replicasは2としました。これにより常時2つのPodが稼働するように維持されます(オートヒーリング)。

root@k8s-01:~# vim /root/k8s/yaml/centos-dep.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: centos-dep-pod
spec:
  replicas: 2
  selector:
    matchLabels:
      app: centos
  template:
    metadata:
      labels:
        app: centos
    spec:
      containers:
      - name: centos
        image: centos
        command:
        - "/sbin/init"

Manifestの実行

ManifestからPodを作成します。

root@k8s-01:~# kubectl create -f /root/k8s/yaml/centos-dep.yaml

deployment.apps/centos-dep-pod created

Podのステータス確認

Podのステータスを確認します。replicasを2としているので2つのPodが作成されています。READYはコンテナ数を示しています。

root@k8s-01:~# kubectl get pod

NAME                              READY   STATUS    RESTARTS      AGE
centos-dep-pod-5c9db444c5-srx8v   1/1     Running   0             85s
centos-dep-pod-5c9db444c5-zx79r   1/1     Running   0             85s

Deploymentのステータス確認

Deploymentのステータスを確認します。READYはPod数を示しています。

root@k8s-01:~# kubectl get deployment

NAME             READY   UP-TO-DATE   AVAILABLE   AGE
centos-dep-pod   2/2     2            2           4m20s

Replicasetのステータス確認

Deploymentを使用するとReplicasetも必ず作成されます。Replicasetのステータスを確認します。READYはPod数を示しています。

root@k8s-01:~# kubectl get replicaset

NAME                        DESIRED   CURRENT   READY   AGE
centos-dep-pod-5c9db444c5   2         2         2       5m14s

Deploymentの機能確認

オートヒーリング

下記の通り、Deploymentから作成されたPodは削除してもreplicasで指定した数を維持するように自動生成されます。

root@k8s-01:~# kubectl get pod

NAME                              READY   STATUS    RESTARTS      AGE
centos-dep-pod-5c9db444c5-srx8v   1/1     Running   0             85s
centos-dep-pod-5c9db444c5-zx79r   1/1     Running   0             85s

root@k8s-01:~# kubectl delete pod centos-dep-pod-5c9db444c5-srx8v

pod "centos-dep-pod-5c9db444c5-srx8v" deleted

root@k8s-01:~# kubectl get pod

NAME                              READY   STATUS    RESTARTS       AGE
centos-dep-pod-5c9db444c5-vclwc   1/1     Running   0              40s
centos-dep-pod-5c9db444c5-zx79r   1/1     Running   0              10m

削除する場合はDeploymentから削除する必要があります。

root@k8s-01:~# kubectl delete deployment centos-dep-pod

deployment.apps "centos-dep-pod" deleted

目次に戻る

Kubernetes Deploymentを使用したCentOSコンテナ

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る