EKSでMattermostを構築した話:4-1. Mattermostのインストール(helm理解編)
これまでの復習
- EKSでMattermostを構築ということで少しずつ進めてきました。
- EKSでMattermostを構築した話:0.概要編 - Qiita
- EKSでMattermostを構築した話:1. VPC作成編 - Qiita
- EKSでMattermostを構築した話:2. EKSクラスター作成編 - Qiita
- EKSでMattermostを構築した話:3-1. EKSクラスターでアプリケーションを稼働させる前にセットアップしておくべきツール編 - Qiita
- EKSでMattermostを構築した話:3-2. EKSクラスターでアプリケーションを稼働させる前にセットアップしておくべきツール編 - Qiita
- Mattermostのインストール ←
今回はここ
- Mattermost Configの設定
今回作成するもの
- これまでの対応でEKSができたので、次はEKS上で実際にアプリケーションを動かしていきたいです。
- 今回、実際に動かすアプリケーションは
Mattermost
です。チャットアプリですね。- このMattermostをhelmでインストールする前段階として、今回は
helm
についての理解を深めていきます。
- このMattermostをhelmでインストールする前段階として、今回は
helmを利用するのですが
- Mattermostのインストールには
helm
を利用します。- ところで、この
helm
って何なのでしょうか?
- ところで、この
-
helm
は船のかじ
のことらしいです。かじ
って分かりますか?- 個人的には
かじ
って言われてもピンとこなかったのでちょっと調べてみました。 - 参考:helmとは & helmの使い方 - Qiita
- 参考:helmを使ってKubernetesを楽にする - Qiita
- 個人的には
船の図を見てみて分かるのは、かじは船の後方の下の方についていて、かじの方向を変えることで船の進行方向を変えられる、そんなイメージですよね。
-
でも水面に接しているかじの方向を直接変えるのはむずかしいので、「舵柄(かじづか)」があって、その柄の先に動かしやすいハンドル的ななものがつく。それで「面舵いっぱーい」とかやるってことですよね。
- この図では船が純和風なので舵柄の先がハンドルみたいな円状にはなっていないですが、洋風の船だったらここが円状のハンドルみたいになるのかなと。
- で、便利に船を操作するためにハンドルが必要なように、便利にKubernetesを操作するためにhelmが必要になってくる、ということなんですね。で、あのハンドルみたいなの名称は「操舵輪(そうだりん)」と言ったり、それ自体を「かじ」と言ったりするそうです。
- ここまできて、
helm
=「かじ(操舵輪)」=船(Kubernetes)を便利に操作するものってイメージがつながってきました。
-
ということで改めてKubernetesのアイコンを見てみると、完全にあのハンドルの「かじ」ですよね。このアイコンだけ見るとKubernetes単体でハンドル的な「かじ」も含まれていると思ってしまいますが、この「かじ」の部分は
helm
が担っていると考えると、Kubernetesのアイコンに「かじ」使っていいの?とは思いますが、もはやhelm
自体がKubernetes上でアプリケーションをデプロイするための事実上の標準的ツールになっているので、そこの辺り含めてKubernetesとまとめて考えても良いのでしょう。
便利ツール「helm」の便利さとは?
-
Kubernetes上でアプリケーションを便利にデプロイできるのが
helm
だ、ということは理解できましたが、どんな便利さがあるのでしょうか?これについても調べてみました。
-
これは確かにそうだなーと納得できますよね。個人的にもKubernetesを学び始めてすぐの頃は、podから始まってdeploymentを作っていき、Ingressとか、PersistentVolumeとかを1つずつyamlを作ってapplyしていったのですが、これを毎回1つずつ作ったり、それぞれのリソースを連携させたりとかは面倒だろうなーと感じていました。
- ここで
helm
を利用すれば複数のリソースをhelm install XXXXX
って実行するだけで全部いい感じに作って連携までしてくれるってことだと思うと、それは便利だなぁって思いますよね。
- ここで
helmのインストール
- ということで
helm
の便利さを理解し、その必要性に納得がいったところで、実際にhelm
をインストールしていきます。- ちなみに今回利用するのは
helm3
です。インストール先は踏み台サーバー
です。 -
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
を実行するとインストールできます。
- ちなみに今回利用するのは
$ curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 6840 100 6840 0 0 33861 0 --------------- 33694
Downloading https://get.helm.sh/helm-v3.2.4-linux-amd64.tar.gz
Preparing to install helm into /usr/local/bin
helm installed into /usr/local/bin/helm
- 確認します。helm3がインストールされました。
$ helm version
version BuildInfo{Version: "v3.2.4", GitCommit:"8ad808ef43d3b826f31a5ad8dfbb4fe05d143688", GitTreeState: "clean", GoVersion:"g01.13.12"}
- これで「操舵輪(ハンドル)」をゲットできたので、次はどこに船を進ませればいいかを決めるための「Charts(海図)」が必要になります。たしかに地図(海図)は大事ですよね。
- この海図が
helm hub
という場所にあるということなので、helm hubを見行きたいと思います。 上記のようにブラウザ越しで確認はできましたが、今回helmを実行するのは踏み台サーバーなので、そこから見れるか以下のコマンドを実行します。
$ helm repo list
Error: no repositories to show
- だめ、、、リポジトリがない。ということなのでリポジトリを追加します。
$ helm repo add stable https://kubernetes-charts.storage.googleapis.com/
"stable" has been added to your repositories
- もう一度確かめます。
$ helm repo list
NAME URL stable https://kubernetes-charts.storage.googleapis.com/
- リポジトリの追加ができました!ではこの追加したリポジトリにMattermostのChartsが含まれているか確認します。
$ helm search repo | grep mattermost
mattermost/mattermost-enterprise-edition 1.6.0 5.25.0 Mattermost Enterprise server with high availiti...
mattermost/mattermost-push-proxy 0.5.0 5.22.4 Mattermost Push Proxy server
mattermost/mattermost-team-edition 3.13.0 5.25.0 Mattermost Team Edition server.
stable/mattermost-team-edition 3.1.2 5.9.0 Mattermost Team Edition server.
- ありました。いくつか種類がありますが、今回は
mattermost/mattermost-team-edition
を使うことにしました。
まとめ
- helm事始め、としてhelmがなぜ必要かを確認して、その便利さを知ることができました。
- helmのインストールとリポジトリの追加、そしてMattermostのchartsがあることを確認しました。
- 次は
mattermost/mattermost-team-edition
を利用して、EKS上にMattermostを構築していきたいと思います。
関連記事
Author And Source
この問題について(EKSでMattermostを構築した話:4-1. Mattermostのインストール(helm理解編)), 我々は、より多くの情報をここで見つけました https://qiita.com/tnagano1981/items/9c36cf9f0a6196fcf865著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .