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をsystemd経由で起動する

Posted at

openshift(k8s)とminikubeの違いでいろいろハマった話の続きです。
minikubeをsystemdに追加し、OS起動時に自動で起動されるようにしました。

環境

 ・Amazon EC2
 ・Ubuntu 22.04 LTS

serviceファイル作成

/etc/systemd/system/minikube.service
[Unit]
Description=Minikube Cluster
After=containerd.service docker.service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/minikube start
RemainAfterExit=true
ExecStop=/usr/local/bin/minikube stop
StandardOutput=journal
User=minikube実行ユーザ
Group=docker

[Install]
WantedBy=multi-user.target

ポイント1)

After=containerd.service docker.service

containerd, dockerの起動後に起動されるようにしています

ポイント2)

Type=oneshot
RemainAfterExit=true

Type=oneshotとすることでExecStartで実行されたコマンドが正常終了することでユニットが開始されたと判定されます。
デフォルトのType=simpleだと、ExecStartを実行したタイミングでユニットが開始されたと判定されてしまうそうです。
また、RemainAfterExit=trueとすることでminikubeコマンドが返ってきてプロセスが終了してしまっても、Serviceをアクティブとみなす設定となります。

設定反映

sudo systemctl daemon-reload
sudo systemctl enable minikube.service
sudo systemctl start minikube.service

起動確認

$ minikube status

type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
$ sudo systemctl status minikube.service

● minikube.service - Minikube Cluster
     Loaded: loaded (/etc/systemd/system/minikube.service; enabled; vendor preset: enabled)
     Active: active (exited) since Wed 2023-03-01 18:22:26 JST; 14min ago
    Process: 1436 ExecStart=/usr/local/bin/minikube start (code=exited, status=0/SUCCESS)
   Main PID: 1436 (code=exited, status=0/SUCCESS)
        CPU: 4.205s

Mar 01 18:21:14 xxx bash[1437]: * Preparing Kubernetes v1.26.1 on Docker 20.10.23 ...
Mar 01 18:22:14 xxx bash[1437]: * Configuring bridge CNI (Container Networking Interface) ...
Mar 01 18:22:15 xxx bash[1437]: * Verifying Kubernetes components...
Mar 01 18:22:15 xxx bash[1437]:   - Using image gcr.io/k8s-minikube/storage-provisioner:v5
Mar 01 18:22:21 xxx bash[1437]: * Enabled addons: storage-provisioner, default-storageclass
Mar 01 18:22:26 xxx bash[1437]: * Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

再起動後に自動でminikubeが起動できていることを確認して終わりです。
これで夜間はEC2を止めて、朝に起動させるという運用が可能になりました。

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?