LoginSignup
3
2

More than 1 year has passed since last update.

Minikubeでスケールインを体験してみる

Posted at

Minikube でコンテナを一つ起動させ、3つにスケールインするのを勉強したのでメモとして残したいと思います :raised_hands:
簡単に体験できるので試しにMinikubeを触ってみたい人におすすめです!

環境準備

# macOS Monterey
バージョン12.5.1
# インストール
$ brew install minikube 
# バージョン確認
$ minikube version
## minikube version: v1.15.1
## commit: 23f40a012abb52eff365ff99a709501a61ac5876

Minikube の起動を確認

  • kubernetes のクラスターを起動
# 起動
$ minikube start
# # 😄  Darwin 10.15.7 上の minikube v1.15.1
# # ✨  dockerドライバーが自動的に選択されました
# # 👍  コントロールプレーンのノード minikube を minikube 上で起動しています
# # 🚜  Pulling base image ...
# # 💾  Kubernetes v1.19.4 のダウンロードの準備をしています
# #     > preloaded-images-k8s-v6-v1.19.4-docker-overlay2-amd64.tar.lz4: 486.35 MiB
# # 🔥  docker container (CPUs=2, Memory=1987MB) を作成しています...
# # 🐳  Docker 19.03.13 で Kubernetes v1.19.4 を準備しています...
# # 🔎  Kubernetes コンポーネントを検証しています...
# # 🌟  有効なアドオン: storage-provisioner, default-storageclass
# # 🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
# ステータス確認
$ minikube status
# # minikube
# # type: Control Plane
# # host: Running
# # kubelet: Running
# # apiserver: Running
# # kubeconfig: Configured

node があることを確認

$ kubectl get node
NAME       STATUS   ROLES    AGE     VERSION
minikube   Ready    master   6m51s   v1.19.4  <- minikube があればOK

コンテナを一つ起動させ、3 つスケールインする

コンテナの作成

$ kubectl run nginx --image=nginx --generator=run-pod/v1

deployment の作成

kubectl create deployment nginx --image=nginx

コンテナが起動しているか確認

$ watch -t "kubectl get pod,service,deployment"
NAME                         READY   STATUS    RESTARTS   AGE
pod/nginx                    1/1     Running   0          2m1s
pod/nginx-6799fc88d8-g98ck   1/1     Running   0          77s
NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   3m32s
NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx   1/1     1            1           77s

コンテナを 3 つにスケールインする

$ kubectl scale --replicas=3 deploy/nginx

3 つにスケールインされていることは以下コマンドで確認できます

$ watch -t "kubectl get pod,service,deployment"
NAME                         READY   STATUS    RESTARTS   AGE
pod/nginx                    1/1     Running   0          3m7s
pod/nginx-6799fc88d8-9svbw   1/1     Running   0          20s
pod/nginx-6799fc88d8-g98ck   1/1     Running   0          2m23s
pod/nginx-6799fc88d8-l5pb6   1/1     Running   0          20s
NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   4m38s
NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx   3/3     3            3           2m23s

削除

スケールインの確認後は削除をしてみましょう

$ kubectl delete deploy nginx
# クラスターの削除
$ minikube delete
# 🔥  docker の「minikube」を削除しています...
# 🔥  コンテナ "minikube" を削除しています...
# 🔥  /Users/harukimiyagi/.minikube/machines/minikube を削除しています...
# 💀  クラスタ "minikube" の全てのトレースを削除しました。

参考になるサイト

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2