CentOS7にminikubeをインストールする

LINEで送る
Pocket

はじめに

kubernetes_logo

前回の記事では、「kubernetesの概要と何ができるのか」について書いて行きましたが、今回はkubernetesの動作確認のために、minikubeをインストールする手順について書いて行きたいと思います。

 

環境

OS:CentOS Linux release 7.5.1804 (Core)
Kernel:3.10.0-862.2.3.el7.x86_64

minikubeとは

kubernetesはホスト障害に備えて複数ホストでのクラスタ環境(kubernetesクラスタ)で使用される事を想定しているのに対して、minikubeは開発・テスト用に簡易的に単一ホスト上にkubernetesクラスタを実行するものです。

実施内容

今回は、minikubeをインストールして、これを操作するためのコマンドであるkubectlもインストールするところまでを実施したい思います。

前提

dockerがインストール・起動している事

dockerのインストールについては、以下の記事に書いています。

手順

ホスト名変更

# hostnamectl set-hostname --static minikube

hosts設定

# vi hosts
以下を追加
<自IP> minikube

swap無効化

# swapoff -a

ブリッジ設定

# echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
# sysctl -p

 

kubectlインストール

# cat < /etc/yum.repos.d/kubernetes.repo > [kubernetes]
> name=Kubernetes
> baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
> enabled=1
> gpgcheck=1
> repo_gpgcheck=1
> gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
> EOF
#

# yum install -y kubectl

minikubeインストール

# curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube
# cp minikube /usr/local/bin && rm minikube

socatとebtablesのインストール

# yum -y install socat ebtables

cri-toolsのインストール

# VERSION="v1.12.0"
# curl -LO https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-$VERSION-linux-amd64.tar.gz
# tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin
# rm -f crictl-$VERSION-linux-amd64.tar.gz

/usr/local/binへのパス設定

# visudo
以下をコメントアウト
# Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin

以下に修正
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/local/bin:/usr/bin

 

minikubeの起動

# minikube start --vm-driver=none --kubernetes-version=v1.12.4

動作確認

# minikube status
host: Running
kubelet: Running
apiserver: Running
kubectl: Correctly Configured: pointing to minikube-vm at 10.0.2.15
#

Runningの表示より、minikubeが動作している事を確認出来ました。

root以外のユーザでkubectlを使用するための設定

こからroot以外のユーザで操作となります。

$ sudo mv /root/.kube $HOME/.kube
$ sudo chown -R $USER $HOME/.kube
$ sudo chgrp -R $USER $HOME/.kube

$ sudo mv /root/.minikube $HOME/.minikube
$ sudo chown -R $USER $HOME/.minikube
$ sudo chgrp -R $USER $HOME/.minikube

上記実施後、
$HOME/.kube/configの
/root/.minikube/ の部分を
/home/$USER/ に
修正します。

動作確認

$ kubectl get node
NAME STATUS ROLES AGE VERSION
minikube Ready master 64m v1.12.4
$

nodeの状態が取得出来た事より、kubectlコマンドが使用出来た事が確認出来ました。

まとめ

minikubeを使用すれば、単一ホスト上にkubernetesクラスタを実行出来、リソースの使用が最低限で済むため、ちょとしたkubernetesの動作確認をしたい場合に適しているかと思います。

次回以降はここで構築した環境を使い、実際にkubernetesを動かしてどんな事が出来るのかを見て行きたいと思います。

LINEで送る
Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

four + seven =