CentOS7にMinikubeをインストールしてみました。
Minikubeとは
Minikubeは、ローカル環境で簡単にKubernetesを試すことができるツールです。
Docker上で、シングルノードのKubernetesクラスタを実行することができます。
やること
CentOS7にMinikubeをインストールします。
次の3つをインストールしていきます。
- kubectl
- Docker
- Minikube
インストール手順
流れは次の通りです。
- kubectlをインストールする
- Dockerをインストールする
- Minikubeをインストールする
kubectlをインストール
kubectlをダウンロードする
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
kubectlバイナリを実行可能にする
chmod +x ./kubectl
kubectlバイナリをPATHに通す
sudo mv ./kubectl /usr/local/bin/kubectl
kubectlがインストールされているか、バージョンを確認する
kubectl version --client
Dockerをインストールする
必要なパッケージをインストールする
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
リポジトリを登録する
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
インストール可能なバージョンをみる
yum list docker-ce --showduplicates | sort -r
バージョンを指定して、インストールする
sudo yum install -y docker-ce-18.06.3.ce-3.el7
Dockerデーモンを起動する
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker
一般ユーザでDockerを実行できるようにする
$USER
にユーザ名を指定します。一般ユーザでDockerコマンドが使えないと、minikubeのインストールに失敗します。
getent group | grep docker
sudo usermod -aG docker $USER
getent group | grep docker
dockerグループが追加されていることを確認する
id $USER
...,994(docker)
設定を反映させるため、ここでログアウト、または再起動します。
その後 sudo
を使わずにdocker info
ができるか確認しておきましょう。
Minikubeをインストールする
Minikubeバイナリをダウンロードする
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& chmod +x minikube
Minikubeバイナリを実行可能にする
sudo mkdir -p /usr/local/bin/
sudo install minikube /usr/local/bin/
Minikubeを起動する
minikube start --driver=docker
😄 minikube v1.22.0 on Centos 7.9.2009 (amd64)
✨ Using the docker driver based on user configuration
💨 For improved Docker performance, Upgrade Docker to a newer version (Minimum recommended version is 18.09.0)
👍 Starting control plane node minikube in cluster minikube
🚜 Pulling base image ...
💾 Downloading Kubernetes v1.21.2 preload ...
> preloaded-images-k8s-v11-v1...: 502.14 MiB / 502.14 MiB 100.00% 40.13 Mi
> gcr.io/k8s-minikube/kicbase...: 361.09 MiB / 361.09 MiB 100.00% 10.77 Mi
🔥 Creating docker container (CPUs=2, Memory=2200MB) ...
🐳 Preparing Kubernetes v1.21.2 on Docker 20.10.7 ...
▪ Generating certificates and keys ...
▪ Booting up control plane ...
▪ Configuring RBAC rules ...
🔎 Verifying Kubernetes components...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟 Enabled addons: default-storageclass, storage-provisioner
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
Minikubeが起動したことを確認する
minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
ここまでで、minikubeの起動までできました。