【kubernetes】Amazon Linux2にminikubeをインストールしてkubernetesの練習環境を構築!

10月 11, 2023

どもです。美容院に行った時はまず担当の服のブランドを聞きがちなsaisaiです。


インフラエンジニアとしてお仕事をさせていただいて早9ヶ月、今後もこの分野で生きていくために習得しなければならないのになかなか手が出せなかった技術があります。


“kubernetes"


コンテナオーケストレーションサービスとして名前くらいは知っているというレベルです。実態は全く知りません…。


そろそろ本腰入れて頑張らないといかん!というわけで今回はAWSのEC2上にminikubeをインストールしてkubernetesの練習環境を構築してみました。

環境構築していく!

今回はDocker+minikube on Amazon Linux2という構成で環境構築していきます。


構築手順は以下の記事を参考にさせていただいております。
Amazon Linux 2でdockerとminikubeを簡単インストール。


まず立ち上げるEC2のスペックですが、今回は最低でも2CPU必要となりますのでその用件で一番コスパの良い"t2.medium"で立ち上げます。そこそこお金がかかるので使用しない時はインスタンスを停止しておくようにしましょう。EBS(ストレージ)の容量は16GBくらい確保しておくのが無難かと思います。ステータスが"実行中"になりましたらSSH接続しましょう。


接続しましたらまずはDockerをインストールしていきます。

sudo yum update -y
sudo amazon-linux-extras install -y docker
sudo systemctl enable docker
sudo systemctl start docker

これでDockerのインストール及び起動、自動起動設定が完了しました。


次に今回の環境の肝となるminikubeをインストールしていきます。(noneドライバではNGINX Ingressコントローラーが起動しないため、今回はdockerドライバを使用します。)
インストールが完了したらminikubeを起動、NGINX Ingressコントローラーを起動させます。

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/bin/
sudo yum install -y conntrack
sudo minikube start --driver=none

これでminikubeのインストール及び起動が完了しました。続いて、kubectlコマンドをインストールし、パスを通しておきます。

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv -f ./kubectl /usr/local/bin

また、minikubeは自動起動がありませんので、サーバの再起動などを行う度に手動起動しなければなりません。面倒&忘れてしまいそうなのでスクリプトを作成して自動起動するように設定してみます。

まずはスクリプトファイルを作成しましょう。

touch minikubestart.sh
chmod 755 minikubestart.sh
vi minikubestart.sh

ではスクリプトを書いていきます。

#!/bin/bash

check=`minikube status | sed -n 3p | awk -F: '{print $2}'`
status=" Stopped"

if [[ $check = $status ]]; then
  minikube start --vm-driver=none
fi

minikubeのステータスを確認し、停止している場合は起動するというスクリプトです。続いてサーバ起動時にこのスクリプトが実行されるように設定しておきましょう。

cd
vi .bashrc
#以下の内容を追記する
/home/ec2-user/minikubestart.sh

これでサーバ起動時にminikubeが起動されるようになりました(細かくいうと設定したユーザーログイン時)。これでminikubeを起動し忘れるという凡ミスはやらかさないと願いたい…。

ちなみにminikubeの起動/停止/状態確認は以下のコマンドで行うことができます。

minikube start
minikube stop
minikube status

minikubeの操作を一通り抑えることができました。

ひとこと

今回はminikubeをインストールしてkubernetes練習環境を構築してみました。


ずっと触ってみたかった技術だったので、これからどんどん練習していこうと思います。


ここまで読んでいただきありがとうございました!


-saisai-


↓本日のオススメ教材

kubernetes

Posted by CY