0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

minikubeを使ってみた

Posted at

最近業務でKubernetesを使うことが多いので、勉強がてらminikubeを使って遊んでみたいと思います。

minikueとはローカル環境でKubernetesを簡単に始められるツールのことで、シングルノードのKubernetesクラスターをMacとかのローカル環境常に構築することができます。

環境

  • MaxOS(Apple M2m Ventura)
  • Docker version 20.10.24

minikubeのインストール

minikubeのインストール方法は公式を参考にインストールします。
https://minikube.sigs.k8s.io/docs/start/

上記のリンクからInstallationでご自身の環境に合わせて選択していただき、コマンド等を実行してインストールするだけです。
image.png

minikubeの起動

minikubeを起動するには下記の要件を満たしていないといけないようです。

  • 2 CPUs or more
  • 2GB of free memory
  • 20GB of free disk space
  • Internet connection
  • Container or virtual machine manager, such as: Docker, QEMU, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMware Fusion/Workstation

ContainerかVirtual machineがないといけないので、いずれかを準備しておいてください。この記事ではDockerを使います。

minikubeをインストールできたら下記のコマンドでminikubeをstartします。(起動に20秒くらいかかりました)

$ minikube start

起動することができたらkubectlを使って操作することができるようになるようです。kubectlをインストールしていない方は下記などを参考にインストールしておいてください。
https://kubernetes.io/ja/docs/tasks/tools/install-kubectl/

試しにPodのリストを取得してみます。

% kubectl get po -A
NAMESPACE     NAME                               READY   STATUS    RESTARTS           AGE
kube-system   coredns-787d4945fb-jk587           1/1     Running   1752 (66m ago)     136d
kube-system   etcd-minikube                      1/1     Running   2 (66m ago)        136d
kube-system   kube-apiserver-minikube            1/1     Running   2 (66m ago)        136d
kube-system   kube-controller-manager-minikube   1/1     Running   2 (66m ago)        136d
kube-system   kube-proxy-l9qd2                   1/1     Running   2 (66m ago)        136d
kube-system   kube-scheduler-minikube            1/1     Running   2 (66m ago)        136d
kube-system   storage-provisioner                1/1     Running   1768 (2m35s ago)   136d

-Aオプションは全てのNamespaceのPodを表示するオプション

ダッシュボードの表示

下記のコマンドを実行することでローカル環境でKubernetes
ダッシュボードを閲覧することができます。

$ minikube dashboard

image.png

アプリケーションのデプロイ

ローカルに構築したKubernetesクラスターにアプリケーションをデプロイしてみます。

Service

下記のコマンドでデプロイメントを作成して、ポート8080で公開してみます。

# deployment作成
$ kubectl create deployment hello-minikube --image=kicbase/echo-server
deployment.apps/hello-minikube created
# portの公開
$ kubectl expose deployment hello-minikube --type=NodePort --port=8080
service/hello-minikube exposed

サービスが作成されているか確認

$ kubectl get services
NAME             TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
hello-minikube   NodePort    10.101.160.112   <none>        8080:31193/TCP   23s
kubernetes       ClusterIP   10.96.0.1        <none>        443/TCP          136d

port-forwardしてブラウザからlocalhost:7080にアクセスしてみます。

$ kubectl port-forward service/hello-minikube 7080:8080

image.png

minikubeのクラスター管理

Kubernetesクラスターの一時停止

$ minikube pause

minikubeのクラスター停止

$ minikube stop

メモリの設定変更

$ minikube config set memory {value}
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?