minikubeでkubernetes cluster構築してdashboard開くまでやってみる

動機

  • kubernetesを構築してみたくなった
  • ネットの記事を色々調べると minikube というものがあることがわかった
  • 参考手順は、これが良さそう

kubernetes is 何?

  • 一言で言うとコンテナの運用管理ツール

kubernetes は何できる?

  • 複数コンテナのデプロイ
  • コンテナ上のアプリのヘルスチェック
  • 自動スケーリング
  • ロードバランサー
  • ログ収集
  • アプリのデバッグ
  • アクセス制御
  • リソース監視
  • などなど

minikube is 何?

  • ローカルマシンにkubernetes clusterを手軽に構築できるツール
  • macOSだと、 Hyperkit driver, xhyve driver, VirtualBox, or VMware Fusion を使って仮想環境構築するのでどれかはインストール必須
  • 今回はVirtualBoxを利用

環境

手順

  • minikube&kubectlをインストール
$ brew cask install minikube
$ brew install kubernetes-cli
  • startコマンド一発
$ minikube start
  • runコマンドで 'hello-minikube' というコンテナクラスタを作成
$ kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8080
deployment "hello-minikube" created
  • 公開するPortを割り当てるんですが、ちょっとここの意味がわからなかったがNodePortを指定するとよしなにやってくれるみたい...
$ kubectl expose deployment hello-minikube --type=NodePort
service "hello-minikube" exposed
  • proxyを起動(proxyするとダッシュボードにアクセスできる)
$ kubectl proxy
Starting to serve on 127.0.0.1:8001

f:id:namio6243:20180225154049j:plain

  • とりあえず構築は出来た!