概要
現在、サーバ環境にKubernetesを使っています。
しかし、Kubernetesを使い始めるまでにはインストールがうまくいかないなど、色々な紆余曲折がありました。
ここでは、Kubernetesを使い始めるための方法をいくつか紹介します。
クラウドサービス
AWSやGCPやAzureなどのクラウドサービスでは、ブラウザ上でボタンをポチポチ押しているだけで簡単にKubernetesの環境を作ることができ、すぐに使い始めることができます。
デメリットとして、Kubernetesは仮想マシンを使って作られているため、VPSなどよりも仮想マシンの利用料金が高いクラウドサービスでは利用料が高くなりやすいです。
メリットとしては、Kubernetesの更新も楽にでき、ハマるポイントが少ないです。
お金がかかってもいいから、すぐに使い始めたいという場合はいいと思います。
手動インストール
面倒ではありますが、Kubernetes環境を手動でサーバにインストールする方法もあります。
デメリットとして、素人にはインストールが難しくハマりやすいです。
メリットとして、非常に柔軟性が高いです。
ある程度サーバに対する理解があり、柔軟な構成へしたい場合にやるといいと思います。
kubeadm
手動でインストールするのが面倒な場合には、それを補助するものとして、kubeadmというものがあります。
kubeadmは、Kubernetesの公式としてリリースされていますが、この記事の執筆時点ではBeta版であるため、本番環境では動作させないほうがいいです。2018年の間に正式リリースをする予定となっています。
使い方は、Kubernetes環境を構築したいサーバにkubeadmをインストールして、コマンドを実行するようになっており、真面目にいちからインストールよりは簡単にインストールできるようになっています。
デメリットとして、まだBeta版であるため、本番環境での利用には適さないということと、一部のKubernetesの機能を使うことができません。
メリットとして、比較的簡単にインストールできるので、クラウドサービスを使わずにいちからKubernetesを構築しなければならないようなときに楽をできます。
手動でインストールするよりはこちらの方がおすすめです。
Rancher
Rancherという、Dockerコンテナのオーケストラレーション環境を構築するOSを使う方法があります。
Dockerイメージとして公開されており、それをRancherを動かしたいサーバ上で、イメージを元にコンテナを作って実行します。
Rancherでは、デフォルトでCattleというオーケストラレーションツールが使われているのですが、他にもKubernetesなどを使うことができるので、ここではKubernetesを使うための方法として紹介しています。
デメリットとして、Kuberentesのnode用のサーバの他にRacherOSを動かすためのサーバを用意する必要があります。
メリットとして、Kubernetesのnodeを作る方法としてkubeadmと同じようにコマンドを実行するのですが、Rancherの場合Docker環境のみをインストールすればすぐに使い始めることができるのでkubeadmよりもインストールがしやすいです。さらに、複数のKubernetes環境を構築、管理できます。
複数のKubernetes環境を作ることができるということと、インストールが簡単で使い始めやすいことで、現在私もRancherを使用しています。クラウドサービスを使わないのであれば1番のおすすめです。
まとめ
お金に余裕があるのであれば、クラウドサービスを使ってKubernetesを使った方が一番簡単でハマりにくいと思います。
しかし、お金をあまりかけたくない場合など、VPSなどを使ってKubernetes環境を作りたいという場合があります。
その場合には、Kubernetes環境を自分で作る必要があり面倒なので、kubeadmやRancherのようなものを使ってKubernetes環境を作ってみましょう。