Kubernetes入門記録(まずは起動してみよう編)

今回はminikubeを使ってローカルに環境を作って、MySQLを建てる。なお、「やってみた」以上の情報はない。完全に自分用のメモです。

minikubeのインストール

minikubeはローカルでKubernetesを動かすためのツールで、docker-machineのようなものと思えばわかりやすかった。kubernetes/minikube の通りにインストールすればOK。

kubectlのインストール

Kubernetesを操作するためのツールで、これはdockerに相当するのかな。Installing and Setting up kubectl を見てインストールすればOK。

Kubernetes環境を起動する

minikubeで一発起動する。便利〜。

GUIもあるようで、proxyコマンドで起動できる。めちゃ楽だ。

mysqlをKubernetes上で動かす

yamlで定義を書ける。まずは見よう見まねで書いてみた。複数の定義を1つのファイルにまとめることもできるみたい。ReplicationControllerは対象Podをいくつ起動するか決めて、その数を維持してくれるようなものかな。ServiceはPodに対するNetworkProxy的なものか。LoadBalanceもできる。他の細かい項目はおいおい…

で、createコマンドでReplicationControllerとServiceが作成されて、しばらくすると利用可能になる。

ローカルからMySQLに繋ぐ方法として、minikubeに接続先を教えて貰うか、port-forwardコマンドを使うことができた。minikubeを使う場合は以下のコマンドでIPアドレスとポートを入手できる。

後はmysqlコマンドで繋いでやればOK。このやりかただと、Service経由での接続になるのかな。kubectlでサービスを見ると、3306番ポートを31785番ポートにフォワードするようになっていた。

もう1つの方法、port-forwardも試しておく。こちらはkubetlコマンド。

podと直接やりとりできるようになる。大量のwwwノードがいるとき、特定のノードとだけ通信したいような時に使えそう。

 

まとめ

minikubeを使って手元のマシンにKubernetes環境を構築した。その上でMySQLを動かし、手元から接続することができた。

CLIツール、かゆいところに手が届く感じでとても好印象。

参考

minikubeでローカルKubernetesクラスタを5分でつくる方法