kubernetes(k8s)のマネージドサービスは触ったけど実際にモノホンを触りたい。。。と思った時にローカルでkubernetesを構築しようと思ったら思いの外簡単だったのでまとめた。
そもそも選択肢は?
- MicroK8s
- 有力候補。。。と思ったらubuntuのみ(snapパッケージ)
- 資料も豊富だが一旦他をみてみる
- k3s
- めちゃくちゃ軽い
- ただ開発用ならMicroK8sのがよさげ
- エッジとか考えるならこれでもいいかも
- minikube
- これも有力候補
- 構築楽そう。。。だが今回は置いとく
- Docker for mac(windows)
- 今回の主役
- Docker入れるだけでいい
- 導入が簡単 = とっつきやすい = 共有もしやすそう
という訳でDocker for mac(windows)で構築していきます。
構築
今回はMacで構築します。(Windowsでもやってる記事はみたので大丈夫なはず)
- Docker for macをinstallと起動
- ここか、普通にhomebrewで入れます。
- 困ったらdocker mac installとかでググってください。めちゃくちゃ親切な記事がたくさん出てきます。
- k8sの有効化
- macのメニューバーのDockerアイコン→Preferences..→kubernetes→Enable Kubernetesにチェック
- 起動にはそこそこ時間かかります。
- k8sが立ち上がったら、macのメニューバーのDockerアイコン→kubernetes→docker-for-desktopに変更
- minikubeとかが入ってるとkubectlの向き先がそっちを向いちゃうかもなので
- macのメニューバーのDockerアイコン→Preferences..→kubernetes→Enable Kubernetesにチェック
- 一応確認
kubectl get nodes
- これで構築終わり!!めっちゃ簡単やん!!
試しにデプロイしてみる
- お手軽に入れれる、kubernetes-dashboard
- https://github.com/kubernetes/dashboard
- read meに従ってデプロイ
- 2019/07/20時点では以下コマンド
kubectl apply -f kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
kubectl proxy
- ほんで http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ にアクセス
- 認証云々言われたのでここを参考にさせていただきました。
- 認証が正常に終わるとこんな感じに
ちゃんとできてる。。。簡単や。。。。
まとめ
構築までこの手軽さなのでちょっと触ってみたいなーっという人にもオススメできると思います。
今回触らなかったminikubeやMicroK8sも触ってみたくなりますね。
次は構築難度や機能の比較などを作ってみようか。。。
諸々のversion
macOS: 10.14.5
DockerCE: 2.0.0.3
DockerEngine: 18.09.2
Kubernetes: v1.10.11