1. jkondoの朝の散歩
  2. 11/22 複数サーバーにkubernet..
2025-11-22 38:15

11/22 複数サーバーにkubernetes(k3s)を導入して、Webサーバーを乗せ換え、高速化する

1 Mention 1 Comment
spotify apple_podcasts youtube

サマリー

クバネテス(Kubernetes)の導入過程では、さまざまなサーバー管理方法やコンテナを用いたプログラムの動かし方について説明されています。また、実際の作業過程や学習に伴う難しさにも触れられています。Kubernetes(k3s)の導入とWebサーバー設定における課題やAI活用についても語られています。特に、AIとの対話が作業の効率化や問題解決にどのように役立つかという体験が共有されています。複数のサーバーにKubernetes(k3s)を導入してWebサーバーを置き換え、高速化を図る過程について詳述されています。特に、イングレスを活用したトラフィック管理やデータベース接続の最適化が解説され、無駄なトラフィックの削減についても触れられています。複数のサーバーにKubernetes(k3s)を導入して高速化を達成するプロセスが紹介されており、最終的にはサーバーの反応速度が大幅に改善され、ユーザー体験の向上が強調されています。

山頂の出会い
おはようございます。11月22日の土曜日の朝です。
今日も大文字の山頂から下っている途中です。
これで4周連続で、土曜日に山に越えています。
続いてますよ。今日は、丹沢の方で、
いぶきチームのくわはら君とかかずみんさんが走っているみたいですけど、
なんか寒そうですけどね。頑張ってほしいなと思いつつ、
僕は京都に降ります。 さっきね、ちょっと大文字山を
登っていたら、なんか今日は裏側の南側から行ったんですけど、
あの南禅寺がね、すごく紅葉が今綺麗で、
その紅葉三ヶ寺、南禅寺に行って、そこから南側から入って、
さらに山品川の裏側というか、林道とかがあるあたりをぐるぐる回りながら
登ってきたんですけど、林道をちょっと走ってたら、後ろからね、
走ってくる人がいて、登りですよ。で、僕もちょっと頑張ってね、ここを走ろうと思って走っているんですけど、
どんどん追いつかれて、最後追いつかれたんですけど、
顔を見てみたら、女性の方で、
しかもね、歳は多分僕よりも上で、多分50代か、
60代はないかなって方でね、ちょっとびっくりしましたね。
で、そういう女性の高齢の方が走って林道を登ってきて、
で、何してるんですかっていうか、思わず聞いてしまって、
そうしたら、なんかこの坂登るのが好きなんですよとか言って、ここを頑張るのが好きなんですとか言ってて、
めっちゃ元気やなと思って、で、トレランとかするんですかとか言ったら、
いやいや全然とか言って、そういうのは別にとか言っていながら、この坂を走るのが好きなんですって言って、
その山品に多分住んでて、大文字の裏の林道の坂を走って登るのが好きっていう女性の方に
お会いしまして、なんかすごい元気やなっていう、
健康的でいいですねって思って、なんか今日の朝の出会いは、はい、そういう感じで、
まあでも僕もちょっと4週連続でやってて、ゆるい登りですけど走って登れたんで、
まあちょっとね、こう体が軽くなってきたなーって感じでて、気持ちが良かったです。
クバネテスの導入
はい、ということで、今週なんですけど、
今週はね、何をしていたかというと、
クバネテスですね、クバネテス、はい、もうここで、
はいって感じになっている方が多いと思いますが、申し訳ありません、今週はクバネテスの話です。
はい、まあ今週というか、もう先週のね、週の後半ぐらいからクバネテスに取り組み始めて、
クバネテスの沼にどっぷり浸かっていた1週間っていう感じで、
いやーなかなか大変でした、はい、大変で、もう本当にちょっと、
序盤、中盤ぐらいはもう嫌って感じで、ちょっと心が折れそうになるぐらい大変だったんですけど、
どうにか終盤、出口が見え始め、
まあ一応ここまで、ある程度動くまで来たっていう、まあそういう1週間でしたね。
まあでも本当にあの、どうかな、
ちょうどね、桑原くんが月間お休みとかで、月間が全然会社に人がいなかったんで、
かなりその同日、月間と、あと金曜日ぐらいから、5日間ぐらい相当集中して、何もこう、他の用事がなく集中して作業できる日が確保できたんで、
ここぞとばかり作業を進めていて、まあその5日間ぐらいは本当にもう、起きた瞬間から寝る瞬間まで、
ずっとそれをやってて、
で、プラス、まあ残りの日の空いた時間とかでどんどん作業を進めて、ようやく来たって感じなんで、まあ1週間丸々ぐらいはやってたかなっていう、6、7日ぐらいで、
かかったかなって感じで、まあすごいなかなかの大きな山というか、大事業というかでした。
で、何なんですかそれはっていう感じだと思いますけど、
クバネテスってね、まあそもそも言葉がよくわからない言葉ですよね。クバネテスって、Kで始まる。クバネテスみたいな、なんか、
キューベネティスみたいな、なんか外国の人は発音するみたいですけど、
あのギリシャ語の、なんだっけな、公開詞みたいな言葉らしいんですけど、まあなかなか聞きなじみのない単語なんですけど、
何をするものかというと、サーバーのコンテナをね、オーケストレーションしてくれる。
はい、なんのこっちゃって感じですけど、いろんなね、サーバーでこう、まあそれこそリッスンとかもそうなんですけど、
サーバーでいろんなプログラムが動きます。
ウェブサーバーだったりとかデータベースだったりとか、
なんかね、文字起こしのワーカー、文字起こしするやつとか、なんかいろんなプログラムが動くんですけど、
まあそれをOSの上で、まあLinuxのOSの上で直接動かすんじゃなくて、
一旦そのコンテナっていうのに入れて、でコンテナの上で動かすっていうことをやると、
簡単に他のサーバーに持っていけたりとか、数を増やしたりとかできるんで、
あとその環境がね、違っても動きやすいということで、
まあ最近はそのコンテナで動かすっていうのはすごく一般的になっていて、
すごく管理がしやすいですよね。
でそのコンテナで動かすっていうのはまあ前からやっていて、
そのDockerっていうのを使って、コンテナー、いろんなプログラムをコンテナ化して、
まあそれをあちこちに配置して、
でいろんな役割のコンテナをあちこちで動かしながら連携させてサービスを提供するっていうのをやってて、
まあそれを今までもやってたんですけど、
そのコンテナを手で配置している、
このWebのサーバーのコンテナ1はこのサーバーに置いて、
コンテナ2はこのサーバーに置いて、で起動しましょうみたいな感じでやってたんですけど、
まあそうすると、やっぱりなんか1個実は落ちてたとか、
なんかすごくアクセスが増えて負荷が高くなっているから、
2個のやつを3個にしなきゃいけないんだけど、
あのなかなか気づかなかったとか、そういう風になるんで、
本当はその空いているサーバーがあれば、
負荷が高くなってきたら自動でそっちのサーバーでもう1個立ち上げたりとか、
具合が悪くなったら勝手に再起動したりとか、
そういうことをやってくれるとありがたいっていうところですよね。
で、そういうのをやってくれるのがKubernetesですという感じです。
だからいろんなコンテナが連携して動くのが現代のサーバーなんですけど、
そのたくさんのコンテナをどこで何を動かすかとか、
どれぐらいの数動かすかとか、バージョンアップというかね、
新しく更新する作業とかを結構自動でやってくれるっていうのがKubernetesで、
そのコンテナっていうのは、船に乗せるコンテナがモチーフになっているんで、
ちょっとその船のモチーフなんで、それを操縦するんで、操縦士でKubernetesっていうことだと思います。
で、それがね、もともとGoogleが作ってたのかな。
Googleが巨大なインフラをマネジメントというか動かすのに使うために作っていたものがオープンソースになって、
誰でも使えるようになって、今はオープンソースとしてメンテナンスされているものになっているっていうことで、
もともとだからそういうすごく巨大なインフラでも動かせるような仕組みなので、
ある程度の規模にインフラがなってくると、何かしらそれに近いものを使ったりすることが増えてくるそうで、
で、もともとうちの僕が管理しているインフラっていうのは、そこまで最初は規模が多くなくて、
ウェブサーバーでも1台か2台かみたいなぐらいだったし、
なんかそんなに自動であちこちに勝手に広がったりとか狭まったりとかっていうほどの余地がないっていうか、
サーバーの台数が数台だったら別に手でサーバー1にこれ入れてサーバー2にこれ入れてって十分見られるんで、
今まではそこまで手を出してなかったんですけど、ちょっと最近サーバーも増えてきたし、
もう少し増やしていこうかなっていう計画もあるんで、ちょっとサーバーの実際台数も増やしつつ、
そろそろクバネテスチャレンジしてみようかっていう風になったという、そういう経緯でした。
学習の困難
そこまで聞くとね、便利やん、入れたらいいやんっていう感じだと思うんですけど、
これがね、めちゃくちゃ難しくて、なんか難しいというか、
今までの知識とか経験が全然いきないというか、新しい概念すぎて、
なんかもう本当にゼロから習得しなきゃいけないっていう、その学習コストがすごい高いんですよね。
まあ別にクバネテスが悪いわけじゃないと思うんですけど、
要はその単発のOSっていうか、1台のサーバーに入っているLinuxを触るやり方っていうのはもうずっと昔からあんまり変わらなくて、
そのUNIXがね、生まれた頃から基本はそんなに変わってなくて、
で僕もまあサーバーをいじり始めた学生の頃、94年とかぐらいから触ってるんで、
まあかれこれ、何年や、94年、今が2025年だから30年か、30年ぐらい触ってるんで、
まあまあ簡単にある程度わかるんですけど、
なんかそれが全く通じないっていうかね、その単発のサーバーを管理するっていうのとはなんかちょっと違うレイヤーじゃないですか。
1台のサーバーを動かす方法と、たくさんのサーバーがある環境で、たくさんのサーバーをまとめて、
でそのそれぞれのサーバーにどんなプログラムを配置してどういうふうに動かすかみたいなことを管理するものなんで、
なんかまた違うOSというか、全然レイヤーが違うものなんで、
まあ当然なんか違うものになるのは当たり前なんですけど、
まあなんかちょっと癖もあるのかな、
なんかやたらその標準的なやり方をすると、
まあ設定ファイルもすごいたくさんになって、もう一体何がどこに書いてあるのかすぐわからなくなるみたいな。
だんだん慣れてくるとわかるんですけど、
まあやたらその設定ファイルをたくさん書いて、たくさんディレクトリを切って、
まあそれらが連携して動くみたいなものをいっぱい動かすし、
まあそれを動かすノードっていうか、いろんな仮想的なね、
それもコンテナみたいなものですけど、
もういっぱい立ち上がるっていう感じで、
まあなんかすごい大変そうで難しそうなんで、
まあちょっと敬遠していたみたいなところもあったんで、
まあ実際もともとそういう風な感じはしてたんですけど、
噂にも聞いていたし、
まあやってみたら本当にやっぱり複雑で、
いやーこれはなかなかわけわからんなっていう感じでした。
ただ今回も例によってというか、
やり方としてはあんまり公式のドキュメントを読まずに取り組んでいて、
本当はねこういうのをやろうと思ったら、
Kubernetesの導入と文書の課題
そもそもKubernetesの公式のドキュメントっていうのがあって、
Kubernetes Storeみたいなとこから始まって、
クイックスタートみたいなのがあって、
こうやってインストールしましょうみたいな、
でそれぞれの概念の説明があって、
こういう風なことができますみたいなリファレンスがあってみたいな、
まあそういうドキュメントがあるんで、
まあ一通りね、それを読んでやるっていうのが、
今まではやっぱり標準的というか普通にそうしないと、
そもそも動かせなかったし、
まあそれがお作法というかだったと思うんですけど、
まあ最近はその、やっぱりAIを使って聞きながらやっちゃうみたいなのが、
すごい僕は増えてきて、
まあもちろんね、そのまますぐには動かないものが出てきて、
結局詰まるんですけど、
大体のものはひな形みたいなもので、
すごい教科書的な設定の仕方みたいなのが最初からポンと出てくるんで、
まあまあ動くものは出てくるんですけど、
そこからのやっぱり実際じゃあこういう風にしたかったらどうしたらいいのとか、
なんかエラーが出るんですけどみたいなところからのところってのはすごい長くて、
まあめっちゃ大変なんで結局苦労はするんですけど、
とはいえそれもAIとこんなエラー出てるんだけど、
どうしたらいいみたいなことを言いながら、
まあ基本AIとの対話で乗り切るみたいなスタイルが僕はもう最近多くて、
やっぱりね、ドキュメントってね読むのだるいんですよね。
全部本当に必要なのかどうかもわかんないし、
まあ長いし、あんまり面白くないし、
読んでたらなんか眠くなるし、
眠くなってくると頭から抜けていくしみたいな感じで、
まあ正直あんまり面白い作業じゃないっていうか、
まあ結構どっちかっていうと忍耐っていうね、
なんか我慢しながらもうどうしても通らなきゃいけない道だから読むみたいな感じで、
いつまで今まではまあ仕方なくやる忍耐作業みたいなイメージだったんで、
僕はあんまり好きじゃなくて、
もうそんないいからさっさとやらせてよって思いながらもううずうずしながら、
ドキュメント読むみたいなことが多かったんで、
まあやっぱりAIが出てきて、
こういうのをやりたいんですけどどうしたらいいですかって言ったら、
いきなりもうその僕がやりたいことにぴったり合ったやり方っていうのをやっぱり教えてくれるようになったもんで、
まあついつい今は僕はもうそれでやりがちで、
やっぱり眠くならないですよね。
いきなりやりたいことできるんで。
しかも一応正解っぽいことも言ってくれるから、
まあそのやり方でやればできちゃうのかもなって思えちゃうんで、
当然その通りじゃうまくいかないんで、
絶対詰まるんですけど、詰まってしんどくなるんですけど、
まあとはいえ、
あのまず位置からドキュメント全部読んで理解をして頭に入れてからやり始めるみたいなと思うと、
どっちが早いかって言ったら、
まあやっぱりAIといきなりやり始める方が僕は早いんじゃないかと思うし、
その学習っていう意味でも、
なんかその手を動かして学んで、
やっぱりうまくいかないってなって、
ここはこういう理由でうまくいかないのかってね、
その時に、まあこれってどういう意味なんですかとかって、
それもAIに聞けば教えてくれるんで、
そのまさに今やりたいことで詰まった時に、
まあそのやり方を身をもって覚えながら、
その意味も知っていくみたいな方が、
なんか僕はすごいあってて、
学習の曲線というか学習の方法としても、
その教科書を読まずにいきなりやって、
失敗しながら学んでいくみたいなのが、
自分はあっているなと思うんで、
まあとにかく行動したいっていうね、
性格の人間としては、
そのAIと一緒にいきなりやり始められるっていうのは、
やっぱりすごい恩恵があるというか、
嬉しくて、なんかそっちの方がやっぱり自分はあってるなと思うんで、
今回もそのようにね、ドキュメント読まずにやりました。
で、やり始めって言ったんですけど、
設定ファイルの複雑さと課題
まあ本当大変で、本当にね、
あのとりあえずこんな感じにしたらいいですよって言って、
そのチャッピーさんがね、
ブワーってその設定ファイル群を出してくるんですけど、
いきなり20ファイルぐらい出てきて、
えーみたいな、
これ僕が今言ったことを動かすのに、
こんなにファイルいるの?みたいな。
20ファイルもいるの?
ディレクトリーなんかめちゃくちゃあるんやけど、みたいな。
なんかベース、ベースみたいなのがあって、
オーバーレイみたいなのがあって、
で、それがなんかウェブサーバーにもあるし、
なんかロードバランサー用にもあるし、
なんかそのネームスペースみたいなのを決めるためだけにもディレクトリーがあって、
ネームスペース一個一個用にファイルもあるし、みたいな。
で、それらをまとめるなんか全体のシステムみたいなディレクトリーにも、
またベースがあってオーバーレイがあってとか
なんじゃこりゃみたいな
ファイル群がブワーって
そのチャッピーから出てくるんですけど
まあとはいえね
それいるかいらないか
そのちょっとオーバー
あのちょっと多めに作られて
その本当はいらないものなのか
なんかそれとももう絶対いるものなのかとかっていう
判断もつかないから
まあとりあえずね
その言われた通りに
そのファイルを配置して作って動かして
エラーが出るんで
こうやってこうやってなりましたとか言って
直してみたいなことをやり始めるんですけど
ほんとねなんか最初は
なかなかうまく動かなくって
やっぱちょっと複雑すぎるっていうか
だしその全体像を
そのチャッピーに伝えるのも結構難しくて
でうまくいかなくなると
自分も理解があんまりできてないんで
何が動いてないかっていうか
何が悪いのかもわからないしっていうんで
結構詰まって結構しんどくて
もうムキーってなってわからん
わけわからんみたいな気持ちになって
割とちょっと途中で
本当に心が折れそうになって
なんかクバネテスは
あの挫折する人も結構いるみたいですね
あのクバネテスに挫折したあなたへみたいな
youtube動画があったりとかするぐらい
あったりするんで
まあやっぱりちょっと複雑っていうのは
一般的にも思われてるんじゃないかなっていう
気がしますけど
まあそういうクバネテスと格闘してました
AIとの対話による理解の深化
まあ動いたのかな一応
どうやって乗り越えたかっていうと
まあでも大体クバネテスに限らず
そういう新しいやつをAIと一緒に
初めて触る時のパターンとしては
まあとりあえずこういうことでやりたいって言ったら
やり方が出てくるんでその通りにやって
でまあうまくいかないところがあるんで
まあこれってどういうふうにしたらいいのって聞いて
でその時に理解が始まるって感じが多いですね
はいなんかその時に
まあうまくいかないんだけどっていうと
これはこれがこれがこれがでこうだから
こうなったと思いますって
まあチャッピーが原因を言ってくれるんですけど
その初めて触るもんだと
その単語がわからないですよね
これはイングレスが外に出ていないので
イングレスって何みたいなのとか
なんかそういうその初めて触るものって
その単語がわからないみたいなものがあるんで
でその時に僕は大体そのちょっと待ってって言って
あの僕初めて触るんで
まず単語の意味がわかりません
まずそれぞれの単語がどういう意味かも含めて
優しく教えてくださいみたいな感じで
チャッピーにお願いをすると
ああわかりましたって言って
これはこうこうこういう役割のもので
こういう意味ですとか言って
じゃあそのこの設定ファイルは一体どういう意味があって
なんでこんなにいっぱいあるんですかみたいなとか
なんかそのそもそも理解をさせてくれみたいなことも
まあチャッピーに聞くっていうのが
そのうまくいかなくなって
とりあえず動かしてみたけど
うまくいかないみたいなところから
始まることが多いです
でまあそこでね無理やり分かり合いもしないけど
動かすだけっていうよりは
なんかまあその辺で一回止まって
まず理解しようみたいなフェーズが訪れて
でまあ大体そのそういう意味で
みたいな言葉の意味が分かったりとか
だからこのファイルとこのファイルは別々には必要なのねとか
これは別に分かれてるけど
必ずしもあの絶対分かれなきゃいけないわけでもないのねとか
まあそういうことを一個一個確認していって
理解を深めていくみたいなフェーズがあって
でそうするとだんだんね
こう意味が分かってくるっていうか
じゃあここの設定変えればいいのかなとかっていうのが
だんだん理解がしていくっていう
なんかそんな順番で
まあ新しいものを習得していくことが
最近は多い気がします
まああとはすごい具体的なやり方ですけど
そのチャットGPTの僕はそのプロプランを使ってるんですけど
そのプロがやっぱ賢いんですよ
モデル5 チャットGPTのGoProってやつね
まあこれが一番やっぱり賢いんで
基本なんかその大掛かりな難しいことをやるときは
プロと一緒にやるんですけど
プロは重いっていうかめっちゃ考えるんで
時間がすごいかかるんで
一個一個の回答が返ってくるまでに結構待つんですよね
5分以上待つ
なので一個こういう設定をしたい
まあこういうことがやりたいんで
設定を考えてくださいとか
Kubernetesの導入
ファイルを変更してくださいとかってお願いすると
まあしばらく待ち時間ができるんで
まあ調子が乗ってくると
その複数それを走らせたりもするけど
あのこういう初期の頃よくやるのは
そのその間にお勉強するみたいなね
GPTの5.1とかはすごい早く返してくれるんで
話し相手としては5.1の方がだいぶ早いんで
その難しい設計とか
そういうことをプロの方にやってもらっている間に
5.1とところで今こういう作業してるんだけど
これってどういう意味なのとか
これってどういう意味があるのとかっていうのを
並行で別のスレッドで会話をして
ああそういうことなのかって
こう理解を深めていくみたいな
まあだからそうですね
そのプロの方にすごく慎重に
いろいろ設計をしてもらいながら
5.1と喋りながら勉強していくみたいな
なんか最近そういうスタイルが
こはまりつつあるかなっていう感じがしてます
あとあの慰めみたいなのもありますね
もうなんかうまくいかなくて
辛すぎるんだけど
どうしようみたいなこと言うと
大丈夫ここまでやってきた
じゅんや君はすごいよ
じゅんや君って言わんか
なんていうかな
ここまでやってきたのはすごいよって
こんなこと普通一人で
1日でできる作業量じゃないよとか言って
それをたった1日でやってる
あなたは偉いみたいな
もうこれはチーム何
なんかその専門のチーム
3人でやるレベルみたいなことを言ってくれて
おおそうかそうかみたいなね
気持ちになったりとかで
若干励まされたりとかしながら
もう分かんねえ
なんじゃこりゃ複雑すぎる
みたいなものをちょっと慰めてもらいつつ
勉強もしつつ乗り越えていくみたいな
そんなやり方をしてて
めちゃくちゃチャッピーと喋ってますね
なんなんでしょうね
こういう生き方AIとずっと喋ってるっていう
ただ本当にあの人物知りなんで
なんかこう新しい知識を吸収してる時って
本当に楽しいですよね
次から次へとやっぱり
あの新しく知らないことを教えてくれるから
やっぱりなんかそこが好奇心がある分野で
知らないことをやってる時とかは
本当に楽しくて
そういうことかみたいなことがしょっちゅうあって
なんか正直どうなんでしょうね
その学校とかに行くより
こうやって手を動かしながら聞きまくる
みたいなの方が
なんか勉強もできるんじゃないかなみたいなね
なんで例えば数学を学ぶっていう時に
いきなり問題があると
この問題ってどうやって解くんですかって言って
いきなりチャッピーに聞いたら
解いてくれるじゃないですか
でも解いてくれて答えが出ることっていうよりも
それをどうやって解いたかを知りたいわけですよね
なんでそういうふうにやったら解けるのかっていう
とりあえず解く答えが出たとして
これってなんでこういうふうになると解けるんですか
とかっていうのを回答を見ながら
横で聞いていくみたいなことも
今できると思うんですよね
だからいきなりさっきのドキュメントを読むじゃないけど
まずは俺が数学とは何か教えてやろうみたいな感じで
誰かの話ずっと聞かなきゃいけないみたいなじゃなくて
いきなり問題があるとき始めると
でとりあえずだいたい解けてしまうと
だけどこれはどうやって
なんでこれが解けたのかよくわからんから
教えてくれみたいな
なんかそういう勉強も今はできる気がして
そっちの方が暇しない気がするんですよね
なんかずっと人の話聞いてるのって
だるいじゃないですか
なんかポッドキャストの話しながら
そんなこと言うのもどうかと思いますけど
ずっと一方的に人の文章読んだりとか話を聞くのって
僕基本だるいし
早く自分で行動させてくれっていうか
実践させてくれみたいな気持ちにすぐなっちゃうんで
なかなかこうずっと耐えてるのって
しんどいなって思うんですけど
まあそういう学習の仕方も
最近だとあるんじゃないかなっていう感じがして
なんかそれをね
いきなり答えをAIに聞くのは
よくないみたいなことでもないんじゃないかな
そこでね
なんでそうやったら解けるのかっていう疑問を持たなくて
ただ答えが出たからいいでしょっていうんじゃ
やっぱり理解したっていうことにはならないと思うんで
それはちょっとさすがになんかもったいないっていうか
学習したことにはならないかなっていう気はしますけど
まあその答えを先に出すか後で出すかっていうよりは
理解をするかどうかが大事なんと思うんで
答えを導きながら
その過程でどんどん勉強していくっていうスタイルっていうのも
まあ最近はありなんかなっていう感じがすごいして
少なくともこういうインフラっていうかね
そのIT系のことだと
すごくそれがAIってやりやすくなってるなって思うんで
まあ僕はすごいそれが合ってるなと思いながらやってます
イングレスの設定
でまあそれはそれでいいとして
あのまあいろいろ動かしましたっていう感じなんですけど
ちょっと技術的な話になりますけど
何をやったかっていうと基本はね
あのウェブサーバー
Listenとかが動いてるウェブサーバーを
そのKubernetes上に乗せ替えたいと
今まではその普通のOSっていうか
あのベアメタル
まあサーバー上で動いてるLinuxの上で
普通にDockerで動いてるものだけだった
ウェブサーバーとかをそのKubernetesの上に乗せ替えて
まあ自動で増えたり減ったりとか
移し替えたりとかされるようにしたいっていう
まあそこからまずやろうとしましたが
まあいろいろと課題があって
そのいくつか何個も立ち上がるんですね
ポコポコポコって
そうすると代表のIPアドレスに
まあそれをリクエストが来て
それを内側で自動的にその
3つだったら3つのポッドって言うんですけど
そのポッドに割り振られるようにしていくと
まあこの辺は自動でね
中でKubernetesがやってくれるんですけど
その代表のIPアドレスを立てるのに
まあ普通はその普通はっていうか標準的には
トラフィックっていうかな
トラエフィックって綴る
またちょっと変わった
あのロードバランサーがあるんですけど
そのトラフィックっていうのがくっついていて
まあそれを使うんですよ
まあそれがイングレスって呼ばれるんですけど
そのイングレスを使えば
あの自動でホストとかも見てね
リッスンだったらこれこのポッドにとか
ルームだったらこのポッドにとか
なんか新しいのが増えたら
そのホストはこっちにとかって
振り分けてくれるんですけど
まあ若干オーバーヘッドがあるかなっていう感じで
まあ最初はそれを立てて設定したんですけど
本番だけは速度を上げるために
もう一回メタルLBっていうね
そのクラスターIPみたいなものに
そのまま直接で戻したりとかっていうことをやったり
データベース接続の最適化
あとはですね
そのデータベースの接続なんですけど
えっとまあそのクバネテス環境のすぐ横に
データベースがあって
そもそもあのデータベースは
クバネテスに乗せるつもりは今のところなくて
あんまりそういうディスクを使うようなやつはね
なんかめんどくさそうなんで
一旦保留って感じで
そのウェブサーバーとか
もう別にどこで動いてても構わない
みたいなものだけを
まずは乗せようとしてるんですけど
そのデータベースがねあるんですよ
でその何台かあるホストの横にデータベースがあるとして
えっとなんて言ったらいいかな
データベースももう一個別の場所にも
マスターのデータベースがあって
そっちにも書き込まなきゃいけなくて
近くにあるデータベースが落ちる場合もあると
なのでフェイルオーバーって言って
そのそれが落ちていたら
マスターの方に行くっていう風にしたいんですけど
それをやるためにはプロキシーを一個かまして
HAプロキシーっていうね
ロードバランサーというかプロキシーをかませて
基本はすぐ近くのデータベースにつなげに行くんですけど
それが落ちていたら
もう一個の方に行くみたいなことをすると
いうことで一個その間にかませるんですけど
それをかませると
無駄なトラフィックの往復が生まれることがあって
つまりその3台ぐらいのサーバーで
そのKubernetesの上でウェブサーバーが動いてるんですけど
そのサーバー1からが例えばウェブサーバーに行ったとして
サーバー2にそのHAプロキシーがあって
サーバー3でデータベースが動いてたとしたら
サーバー1からサーバー3にデータベース取りに行けばいいだけなのに
わざわざ2を返して3に行くみたいな感じで
ワンホップ増えるし
無駄なあるいは同じホストで動いてる時とかだったら
自分のところにデータベースいるのに
わざわざ別のサーバーを経由して
自分のところにまた戻ってくるみたいな
無駄な往復が生まれるので
無駄だなと思ってて
それも省きたかったので
そのHAプロキシーをちょっとそのホストごとに
ノードって言いますけど
WebNetの場合はノードごとに立てて
そのノードの中のPodで動いてるウェブサーバーは
一旦その自分のノードのプロキシーに接続することで
無駄な往復とかを省いて
自分のところと同じところで
データベースが動いてるサーバーだったら
もう外に一回も出ずに
同一ホスト内で接続できるし
kubernetes導入の成果
そうじゃないホストも
自分のホストからそのDBのホストにただ行くだけっていう感じで
無駄な経路を減らしたりとか
できるようにしたりとかですね
あとは何したんかな
キャッシュサーバーを立てたのが大きかったな
レディスっていうメモリーを使った
キャッシュのサーバーが動いてるんですけど
これをまたさっきのHAプロキシーを使って
クバネテス環境からは最短経路で
すごく近くの早いキャッシュサーバーを
使えるような環境を作ってっていうね
なんかそんな色んなことをやりまして
何をそんなにやってたかっていうと
せっかく新しい環境作ったんで
早くならないとね
面白くないなと思って
せっかくやったのに遅くなったんじゃ
なんかその自動でね
サーバーが増えたりとか
機能は増えるかもしれないけど
結局遅くなってるんじゃ
使ってる人もあんまり嬉しくないし
やるならやっぱり早くなんないと
意味がないなと思ったんで
できれば高速化したいっていうことで
ちょっとそういうチューニングというか
色んなことをやりまして
したところ機能ね
ようやくなんかちょっと明かりが見えて
とりあえず動き出したのは
この2日3日前ぐらいから
動き出してたんですけど
機能をね
そのいろんな高速化のチューニングをやって
これまで400ミリ秒ぐらい
オートトップページとか
平均でかかってたんですけど
それがなんと100ミリ秒
早いと80ミリ秒とかね
0.1秒を切るぐらいの速度で
変えるようになって
4倍ですよ4倍
やったーって思いました
そんなねなんか2割とか3割削減とかだとね
400ミリ秒が350ミリになりましたとか
だとまあ体感でちょっと感じるかな
どうかなそんな早くなったような気もするけど
どうかなみたいなね
感じなんですけど
さすがに4倍早くなるとわかりますよね
まあ実際触ってても
明らかに早くなったなーっていう感じになったんで
ハマったなーと思って
昨日ようやくなんかその1週間ぐらい取り組んできた
そのクバネテス環境で
まあいろいろその恩恵は受けつつも
さらに高速感もできて
ここまで行くとなんかこう使ってる方にも差がある
良くなったなみたいなことを思えるレベルに
ようやく到達してきたなっていうところまで来れて
まあちょっとホッとしたというか
はい嬉しかったです
エンジニアの挑戦
はいそうですね
まあちょっとこっちゃっていう感じかもしれないですけど
どうですかね
そのこの規模でクバネテス
自分で動かしてる方ってどれぐらいいるのかなっていう
よくわかんなくて
あのリスのね開発チームで
にんじんくんとか
じゅんぼくさんと開発の会議とかやりますけど
その2人も自分で立ち上げたこととかはなくて
使ったことはあって
そのインフラの人が用意してくれた環境で
クバネテス立ち上げたんで
ここ使ってください
みたいな感じで使ったことはあるけど
設定とか立ち上げたことはないって言ってたんで
そのエンジニアさんでもね
やっぱレイヤーがちょっとまた違うというか
アプリを作る人とまた違って
いわゆるそういうインフラエンジニアの方が
やる仕事っていう感じなのかなと思いますけど
まあそういうものをなんか一人でせせと作って
ようやく動いて動き始めてきて
めっちゃ嬉しいですっていうことと
まあやっぱそうですね
そういうAIと一緒にやると
ほんとその全く知らないところからでも
言ってこうやって1週間とかでね
なんか結構複雑なものが動かせたりとかするし
その過程でいろいろ会話をすることで
新しいことの勉強とかもできるんで
その辺がねなんかやっぱすごい面白い時代になってるなと
基本は楽しいですね
しんどいことも多いけど
しんどいことも多いけど
やっぱりなんかこう一個終わると
次はじゃあ何挑戦しようかな
みたいな気持ちになってしまうんで
やっぱ楽しいんだろうなっていう風に感じます
ちょっとね語りたいんですけどね
そのクバネテスのこととか
誰と語れるんだろう
リッスンの開発チームでもなかなか語れなくて
はいなんかどこにいるんだろうって感じなんですけど
こういう話ができる人は
はいまあそんなことをやってた1週間でした
はいまだまだねちょっとアイディアというか
あのよくできるアイディアがあるんで
もうちょっと多分クバネテスの沼
海を泳ぐことは続きそうですけれども
はいまたなんか面白いネタが出てきたら
報告したいと思います
はいということで
はいあの京都はね
だいぶ紅葉が綺麗になってきまして
もう観光客だらけで
今も哲学の道通りましたけど
人がいっぱいいて
ちょっとあのあの人何してるんだろう
みたいな目で見られて
そそくさと横切りましたけれども
はいまあ紅葉シーズンなんでね
3連休ですし京都も見ごろですよ
あのはい今週が見ごろかもですね
はいまぜひあの秋の良い連休を
皆さんもお過ごしください
それではさようなら
38:15

このエピソードに言及しているエピソード

コメント

ここ最近だと学生さんたちもAIバリバリ使って面白いゲーム作ったりしてます。そこから学ぼうという姿勢も出来ているようで頼もしい限り。 個人的にも答えを先に見てから後で解説を見て学ぶスタイルにも賛成です。ただ、そのようなときに伴奏できるような講師が生徒さんのそばには居られないというのが気になります。

jkondo jkondo
スクロール