この記事は Kubernetes道場 Advent Calendar 2018 2日目の記事です。
今回はKubernetesのローカル環境を構築する。
Kubernetesのローカル環境の構築手段
Kubernetesをローカルで扱うにはいくつかの手段・ツールがある。
- telepresence
- microk8s
- Docker for Windows/Mac
- minikube
microk8s
microk8sはシングルノードのKubernetesクラスタを構築するソリューションだ。 Canonicalが開発している。
最新のKubernetesクラスタを簡単にすばやく構築することができ、様々な機能が提供されている。
ですがsnapパッケージで提供されており、Linuxでしか使用することが出来ない。
なので今回の選択肢からは外す。 😢
Telepresence
TelepresenceはKubernetesのローカル開発を支援するツールだ。
このツールはローカル開発で使うものだが、実際のKubernetesクラスタはリモートのものを使用する。 なのでローカルマシンのリソースもあまり消費せずに開発することが出来るので快適に開発が出来るだろう。 また、Kubernetesで動作しているアプリとローカルで開発しているアプリをプロキシして通信できるようにしてくれる。
その他にも非常に便利な機能が多くあるが、今回はアプリケーション開発ではなくKubernetesについての学習なので今回はパス。
一応、ローカル環境という意味で紹介した。後日是非まとめたい所存。
Docker for Windows/Mac
Docker for WindowsとDocker for MacはWindowsとMacのネイティブの仮想化環境を使ってDockerを動作させるプラットフォーム。
このプラットフォームではKubernetes Integrationが提供されており、 インストール後いくつかの手順を踏むことでKubernetesクラスタを展開することができる。
WindowsやMacを使っている方はこの方法でも問題ないが、Linuxが同様の方法では構築できず、Docker EEを使う必要がある。 (普通にmicrok8sとかでいいじゃんとかはなし 😅 )
なので、今回は次の手段を利用しよう!!
Minikube
MinikubeはKubernetesをローカルマシンで構築するためのツールである。
Minikubeは複数のDriverが利用でき、以下の仮想化機構を使って構築できる。
- virtualbox
- vmwarefusion
- kvm2
- kvm
- hyperkit
これらの仮想化機構を使いVMを作成し、そのVM上にKubernetesを構築する。
今回はVirtualBoxとMinikubeを導入し、Kubernetesを使用できるようにしよう。
Minikubeの導入
VirtualBoxのインストール
Minikubeが利用する仮想化環境としてVirtualBoxを使うためインストールしよう。
上記のサイトからVirtualBoxをダウンロードしインストールする。
Minikubeのインストール
Releases · kubernetes/minikube
上記のリリースページから対応するOSのバイナリをダウンロードし。
PATHの通っているところに配置する。MacとLinuxは実行権限をつけよう。
kubectlについて
kubernetesをCLIで操作するためのツール。
基本的にはこのコマンドを通してリソースの作成・変更・削除を行う。
kubectlのインストール
Windowsの場合
Powershell Galleryパッケージマネージャーを使ってる場合は以下のコマンドを実行することで導入できる。
|
|
また、Chocolateyというパッケージマネージャーを使っている場合は以下のコマンドで導入できる。
|
|
Macの場合
brewを使ってインストールしよう。
|
|
Linuxの場合
snapを使用する場合は以下のコマンドで導入する。
|
|
また、ネイティブのパッケージマネージャー使う場合、Debian系は以下のコマンドを実行。
|
|
RedHat系はこちら。
|
|
Minikubeを使ったKubernetesのローカル環境構築
以下のバージョンで作業を行った。
|
|
構築するのは非常に簡単で minikube start
を実行するだけだ。
しかし、人によってはVMのリソースを制御したい人がいるかもしれない。その場合は以下のオプションを指定すれば可能だ。
--cpus
VMに割り当てるコア数を指定。デフォルトは2--memory
VMに割り当てるメモリ容量を指定。MB単位で指定。デフォルトは2048--disk-size
VMに割り当てるディスクサイズを指定。デフォルトは20g
また、Kubernetesのバージョンを指定したい方は --kubernetes-version
で指定することが出来る。
以下のような形で指定する。
|
|
|
|
コマンドの実行が完了したらローカル環境のKubernetesの構築完了だ。
以下のコマンドを実行してみよう。
|
|
|
|
上記のようなノードの情報が返ってきたら成功だ!
ついでにMinikubeの環境を停止させるには minikube stop
を実行、再度起動させる場合は minikube start
を実行する。
というわけで今回はここまで。
次回はKubernetesで作成・管理できる最小単位のPodについて見ていき、今回Minikubeで構築したローカル環境を使ってPodを作成してみる。
それでは。