おはこんばんちはあいおんです。
はじめに
みなさん、楽しいインフラ生活送っていますか?
ところで、ラズパイって知ってます?知ってますよね。というか転がってますよね。
世界一有名なシングルボードコンピュータですね。
最初の出会いは2014/03/31、RaspberryPiTypeBでした。
これが出たときは衝撃で大学生でしたが即買いしいろいろ遊んではみました。
一旦そこではDLNA(メディアサーバ)、DAC用等、ミュージック系や、
ファイルサーバー、ウェブサーバ等本当に使い倒して勉強したものです。
シングルボードコンピューティングの強みを活かしてサウンドカードをつけてDACや、
電子工作等にもチャレンジしてみました。
(趣味が高じて年に二回自費制作の本を出すまでに笑)
とはいえ、マシンパワーもそんなに高くなく、思ったより本運用には活きませんでした。。。
ということでちょっとの間眠ったりなんかしていました。
眠ってたとはいっても継続的に動向はチェックしていて、
新しいバージョンのRaspberryPiが発売されたときは何となく買ってみたりもしてました。
まぁ買ってもやはりスペックが上がっているだけで出来ることという意味ではあまり変わらずでした。。。
ある意味、HWが変わっても結局"何をやるか"が重要なんですよね。
(その安さゆえにぽんぽん変えてしまうのは一長一短ありますね)
仮想化の折にふれる
そんな中、クラウド技術も発達してきて、Kubernetesなんて流行りものが出てきました。
今までインフラエンジニアとして、1筐体に1OS、更にESXiとかの仮想化が関の山だった私にとって、
このDockerをはじめとしたコンテナ仮想化は非常にインパクトがありました。
どこまで仮想化が進むんだ!?なんて初めは思っていました。
また少しそれますが、仕事上でも異動があり、SpringBootに少しだけ関わる機会がありました。
研修でJavaに触れて以来の私にとって、このSpringは非常にインパクトの大きいものでした。
仕事の中でもEnterprise用の分散アーキテクチャのエンジニアをしていた(している)私にとっては、
WeblogicServerだったり、Cosminexusだったり、WebSphereApplicationServerだったり、
きちんとしたApplicationServerを構築して、その上にきちんとしたEARを乗っけて、
異常時にもこんな風にリカバリープランがあって、、、という思想が植えつけられていました。
が、このSpringはなんと単体のJarで動作するらしいじゃないですか。
これは私にとって非常に衝撃でした。
このJar単体での動作はまさにクラウドネイティブというかコンテナ化すごいなぁと思っていました。
少しアプリケーションはかじりましたが、そこはやはりインフラエンジニア。
やっぱりこのコンテナ化を支える基盤技術を習得したいと思っていました。
が、Springほど導入は簡単ではなく、Docker?Kubernetes?なにそれ?美味しいの?的な感じでした。
何となく思っていたイメージとして、「なんかー複数台のーマシンにーまたがってーその上にーアプリケーションのっか
るーみたいな?」感じでした。
Raspnetesにたどり着く
というところで、「複数マシン」にまたがってというところでふと思い出したのがRaspberryPiでした。
ちょうどうちにはラズパイが転がっています。
ということでこれを有効活用しない手はないです。
(やっと本題です)
早速ネットで調べてみると先駆者の方がいらっしゃいました。
なので、それらを参考にして作ってみることに。
CyberEgent
https://developers.cyberagent.co.jp/blog/archives/14721/
おうちKubernetes
https://qiita.com/go_vargo/items/29f6d832ea0a289b4778
基本的には先駆者の方のを参考にすれば作れます。
一応画像は貼っていきます。ぺたぺた。これでちょっとは雰囲気楽しめたらいいかなと思います。
というわけで、SWもなんやかんやあって完成です。
おうちKubernetesさんのが非常に参考になります。
何回か作業やり直してますが、やり直しやすいのもメリットですね。
作ったところでの感想と今後の展望
作ってみると、結構所有感はあります。
あーKubernetesの基盤が今ここにあるんだなぁという感じです。
とりあえず先駆者の型通りに作っただけなので、まだまだオリジナリティには程遠いです。
当面、以下やりたいことです。
Jarデプロイで対障害性
コンテナが落ちてもオーケストレーションで業務継続させたい。
やっぱり自分で作ったSpringアプリを乗っけられたらより楽しいでしょうね。
今回は先駆者にならってWifiルータを買いましたが、
個人的にはこれは不要のはずです。
つまり、Rasp01にてWifiを受信し、ルータし、
子機にてWifiの親機としてRaspnetesネットワークに参加させる、といったことが出来るはずです。
個人的にはこのネットワーク周りは好きな分野でもあるので、この方面でもとがっていきたいです。
何よりDockerの知識、Kubernetesの知識習得
とりあえず構築しただけなので、何が何やらと言った感じです。
なので、これらを理解して人に説明できるぐらいにはならないと運用している、とは言い難いのかなと。
最後に
というわけで、結びはどの人とも同じような感じになってしまってあれですが、、、
Raspnetesはいいぞ!