あーなるほど.rustのlibstdのパスが変わってるな.どこから変わったか調べるか
あーkubebuilderをインストールすると,そのときに一緒に入っているだけで,controller-runtimeを直接使うときは必要なのか
あれ,controller-runtimeのenvtestって別途バイナリのインストールが必要なやつだっけ……そうだったっけ
あとはこれを複数k8sの上に乗せてクラスタ化できるかどうかだな……なんか普通に考えてかなり難しい気がするんだが.そもそもVPCが別れたら通信できないんじゃないかな…….やっぱGCPみたいにVPCがglobalでregionやsubnetがその下に入るほうがやりやすい気がするんだが……
あーあれかな,access token経由のアクセスだとmfa認定されないので,stsあたりで弾かれてる予感がするな
なんかmfa関連のpolicyを付与するとASGでlaunch template指定のASGが作れなくなる.why
アタリだな.podにはちゃんとSIGTERM, SIGKILLの順序でシグナルを送る.node側のdrain-grace-periodはその待ち時間か
controller-runtimeでは個別controllerのsync worker数って指定できないのか?
思ったより少ないな……各コントローラの起動オプションはこれで足りるんだろうか
https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/
kube-controller-managerの起動オプションをすべて俯瞰してみたいのだが,どっかに良いドキュメントはないものか
Living Standard,つまり動いているものが正しいってやつ.仕様を誰も知らないプロダクトとかでよく見るやつ
GitHubのRecent Activityがサイドバーに押し込められたの結構不便なんだが.All activityは俺のactivityが表示されないし,普通にRecent Activityをもっと広くしてほしいんだが.
controller-managerへの登録とReconcileを走らせる部分を,誰に担当させるかが悩ましいな
cross regionでRDSのレイテンシを下げる方法ないかな…….AuroraのGlobal Databaseを使うとして,それでもやっぱりwriteはどこかのregionに置く必要が合って,そこまでの通信コストはそれなりにかかるんだよな…….これぞ光遅い問題.光もっと速くならないかな
最近の新しいリポジトリを触ると,masterがmainになっていてブランチ移動するときに混乱する.masterないじゃん!!
ライブラリがみんなsemverに従ってアップデートしてくれれば特に困らないんだけど,平然とpatchで破壊的変更を入れてるくのもあるので,普通に困る
サーバーの運用したくないからサーバーレスにしたいっていう動機は,サイズが小さい場合は理解できるんだけど,ある程度以上でかいサービスを運用するにあたってその動機はどうなの,と思う.結局サーバー管理とは別の部分で運用工数が発生することを,わかっていないのだろうか
エンジニアに必要なのはコミュニケーションスキルだ,みたいな言説,正直嫌いなんだけど,現に世の中にはissueとかPR上で,やたら攻撃的で全てに対して嫌味を言ってくる人というのが存在するというのを観測してしまった.これは無理だよ,まともに相手したら建設的な話に一切ならない.すごい.
あと,スケールすると言ってもlambdaのデフォルトの同時実行数はたかが100なんですよ.その程度なんですよ.上限緩和はできるけど,これは常時監視しないといけないわけで,全然autoscaleじゃない
「サーバの管理とか全然わからない,コンテナとか無理」という人がFaaSを使いたがるのはわかる.それはそれで良い.あと,「1日に数回しかリクエストこないのにサーバ維持するのは無駄」というのもわかる.それは確かに理がある.
だけど,常時リクエストが来ている通常のWebサービスで,組織的に運用していてSREがいるような状態で,サーバーレスにする意味はあるんだろうか.相当離散的に局所的なスパイクがない限り,通常のautoscaleで間に合うし,コストパフォーマンス的にもそちらが優れていると思うんだが
多いのかなぁ……そんなこと言ったら世の中ではEC2+RDSのRESTアプリのほうが圧倒的多数だと思うけど…….露出の問題なのかな
コストというか,金額自体はlambdaの課金に内包されている.そのためlambdaの料金はEC2よりかなり高い.内部的にはコンテナを起動しているので,リソースはAWS側が負担してくれている.
なぜだかよくわからないけど,lambdaが大好きな人が一定数いて,なんでもかんでもapigateway + lambdaのサーバーレス構成で作りたがる人がいるんだけど,あれはなんなのだろう.昔はそれでも,RDSのconnection poolが使えないというでかい理由でrejectできたんだけど,最近はRDS Proxyのせいでこれを理由にできなくなってしまった.
klogはio.MultiWriterをSetOutputに渡してもstdoutにしか出力してくれない,なぜ
ぐぬぬ,ログファイル結構難しい.deferでcloseしたあとに送るくらいしか方法が思いつかない.行儀が悪い.fluentdがほしいな
http.DefaultTransportの扱い,めんどくさすぎるやろ.golangはいつまでこれをデフォルトにしておくつもりなのか
ついにWindowsがLinuxカーネルになって,Linuxの1ディストリビューションになることを期待したい / 他25件のコメント https://t.co/zlYantPpg0 “Microsoftは2025年までにWindows 10のサポートを終了する予定 - GIGAZINE” (64 users) https://t.co/55QQKHpABG
あーあたりだ.rustlerの更新で治る.まだ新しいバージョン出てないわな
https://github.com/rusterlium/rustler/pull/361
klogをio.MultiWriterでファイルとstdoutに書き出してファイルを生成しようと思ったけど,fileってdeferでcloseされるんで,その前に使うのあんまりよくないかなぁ.というか欲しい情報得るためにはラッパーを作ったほうがいいのでは……
github issueのtemplateを更新するときに,そのtemplateを利用して起票されたopenなissueの一覧を得ることはできないだろうか.issueを作った後にtemplateを更新すると,既にあるissueを更新すべきかどうか判断する必要があるんだが,そもそもどのissueがこのtemplateで作られたかわからんので,それを判断することすらできない
あるある.でもスタートアップだと結構分析基盤とかにあいのりしがち……そして運用メンバーは分析基盤に直アクセスするspreadsheetを作っていたりするのだ……
githubのschedule reminderがすべての未レビューを通知してくれてない気がする.notificationから見ると見落としがいくつかある
あーあたりだ.確かにtimelineのパラメータとしてはnotificationsしか受け取ってないわ.
https://git.pleroma.social/pleroma/pleroma/-/blob/v2.3.0/lib/pleroma/marker.ex#L17
コードのレビューは,実は普段そんなに突っ込む気はなくて,スタイルとかあまり気にしない(というかそんなのlinterに任せるので俺が突っ込みたくない)んだけど,proposalとかになると無限に議論可能でレビューがいつになっても終わらない.方針とか設計になると,想定されるケースをいくらでも思い浮かべられるので,みんな自分が困りそうなところをどんどんコメントしてくる.
あーいけたぞ.ResponseHeaderTimeoutを入れた状態でForceAttemptHTTP2をfalseにすると,timeout awaiting response headerの後にidleConnがクリアされる.
さて,なんでhttp2だとクリアされないんだよ
ResponseHeaderTimeoutが一番怪しいと思ったんだけど,このときでもidleConnを開放してくれないのかね……
この告知動画が最高点にならないことを祈る…… / 他30件のコメント https://t.co/w7ptwYPrE8 “Netflixの実写版「カウボーイビバップ」今秋配信 音楽は菅野よう子 - ITmedia NEWS” (82 users) https://t.co/hs7vJdbfiF
timeoutを指定しないと,結局だれかがfinを送るぞ?誰じゃ?これのタイムアウトさえ短くできればいいんだが
そもそもうちのLBが悪いのはわかったんだけど,それにしてもnet/http側もちょっと中途半端なのではないか……
本気を出せば初回接続時のエラーハンドリングでRequestCanceledを拾ってCloseIdleConnectionsすれば,transportが保持しているidleConnを吹き飛ばしてリトライ可能ではある.けど,ちょっと場当たり的すぎてあんまりやりたくないんだよなぁ.やるのであれば,そもそもclient-goがRESTClient生成するときに,正しくリトライできるclientを生成してほしい
memberが死んだときにresetを送ってくれるLBと送ってくれないLBがある.どういうことだよwww
落としたインスタンスをLBがmemberから外してくれないし,維持したtcp connに対してもackを返し続けているのでkeepaliveし続けてしまう.せめてmemberから外してほしいし,なんならそのタイミングでresetを送ってほしい
やはり自前でCloseIdleConnectionsを呼ぶと解決する.つまりnet/http側のエラーハンドリングに問題がある気がしてならない.でも標準ライブラリのデバッグはやったことないな……
本来deadlineがきたらDeadlineExceededなerrorになるはずなのに,それが発生しないのも謎い.これ,この上にconnection poolを作ってるからなんだろうな.どちらかというとこれはidle timeoutに利用されている気がする
net.Connのdeadlineってconn自体のdeadlineなのか.ReadDeadlineとか説明と違うのでは?
jokerさんがCTO交代しとる……!お疲れさまでした / 他3件のコメント https://t.co/umZpLjaWnx “Reproの三代目CTOとして尾藤正人氏が参画 | Repro - カスタマーエンゲージメントプラットフォーム” (8 users) https://t.co/g1QGsnsQ8S
markerのAPIどうやって叩くかなぁ……webhook受信で毎回叩くのは叩きすぎな気がするんだよな…….定期的にやる以外にいい方法が思いつかないわ
@Yuriq I can't promise it. Please write your proposal in an issue: https://github.com/h3poteto/whalebird-desktop
I'm developing while comparing the priority with other features. It is not on my priority, but I would absolutely review a PR if you create it.
ConnのSetReadDeadlineってどこまでのタイムアウトなんだろ.poolしているconnection自体の保持期間なのか?
@Yuriq Oh, sorry, I missed it. Certainly we can use Ctrl+Tab.
@Yuriq Most users are using Ctrl+Tab to switch windows, so Whalebird should not use this shortcut key.
@Yuriq I don't agree to adopt top menu is account menu. Some users are using Whalebird in narrow window, so the top menu is inconvenient for these users.
@Yuriq After authorize. Whalebird adds an account in the side menu after your press authorize button.
request timeoutしたときのidleConnが書き換わってない問題,一部だけ書き換わってるんだけど重要なホストのほうが書き換わってないわ.どうなってんねん
いや,タイムアウト時の使い回しはもしかしてapimachinery側でキャッシュしていることが原因か?
最高やないか / 他6件のコメント https://t.co/FWj3IC6zRM “エンジニアだけど米国で足湯を開湯した話 – SF Tech-Tech” (21 users) https://t.co/ufnMSmGtQo
これや,やはりhttp.DefaultTransportはtcpのコネクションをプールしている.問題はLBから切り離されたメンバとの間のtcpコネクションがいつまで経っても切れないのはなぜなのかということか
https://qiita.com/kitauji/items/b4e8a48c75bf01ccc9f0
はてなブログに投稿しました #はてなブログ
自分のためだけにcustom controllerを書く - PartyIX
https://t.co/JKk4soiEQp
あー!!読めた!DefaultTransportで定義されたtransportを使い回すことにより,idleConnが埋められて,それの限界がくるまでidleConnを使い回すのか.問題はtimeoutしたとき等にidleConnをクリアしてくれないと困るわけだが,それがどうも発動していない.これはどっち側の問題かなぁ
DefaultTransportと同じ構造体を突っ込むと解決するのに,DefaultTransportのアドレスを突っ込むと正常に動かない気がするのだが,そんなバカな