2022-12
2022-12-20
知った
SOCI Snapshotter
イメージを Lazy loading するための技術
有名なものとして eStargz がある
eStargz はイメージレイヤを gzip されたエントリのリストとして持って,欲しいエントリを Range リクエストで取得する
イメージレイヤの変換を伴うので,困ることがある
AWS はクラウド事業者なので起動を速くするために Lazy loading をしたいが,そのために人から受け取ったイメージを勝手に変換するわけにはいかない
ところで普通のイメージレイヤは tar.gz として保持されるのだが,元々のエントリを tar.gz の一部から復元する方法が無いこともない
エントリの gzip 後の開始位置と長さ,それと gzip デコーダの内部状態を事前に調べておけばいい
一部を Range リクエストで取得し,gzip デコーダを保持しておいた内部状態に設定して走らせる
夜に書いたものが永続化されてなくて泣いちゃった!
2022-12-19
CLOS(-like)な構成における LB の ECMP
ECMP 組めなくてハマった
2年半くらい前 Calico と Cilium を紹介されたときは eBPF と BGP の区別が付いてなかったのによくここまで来たなあ
知った Linuxにおける Equal Cost Multipath (ECMP) の設定方法と挙動に関するメモ - yunazuno.log
基本的には L3 でしか分散してくれないことを考えるとやはりクラスタ内分散は必要
構成変更で均等に分散しない可能性も考えられるし
というかせっかくmultipath-relaxしてるんだからそれぞれのノードから広告される LB アドレスに対する AS-PATH の数に応じて重みを変えたりすればいいんじゃないかという気もするが……やってるんだろうか
多くのネットワーク構成図上で L4LB が特定の Leaf や Spine の配下に配置されているのもかなり分散によってかなり激しめに East-Westトラフィックが発生するからなんだろうと妄想していた
しらべる EDK2 w/ Raspberry Pi 4
2022-12-14
iPXE ブート w/ Matchbox
ipxe.efiを読ませるのにずっと PXE や UEFI HTTP Boot を使っていたが,よく考えたら適当なストレージに置いておけばいいのでは?と思って 5MiB の EFI System Partition を切ってipxe.efiを入れた
普通に動くし,複雑な条件の出し分けも不要に
VyOS の DHCP サーバでいける!
ipxe はただのテキストなのでアーキテクチャに関係なく動作する
作業しつつあり GitHub - tosuke-homelab/terraform-matchbox
起動し,ローカルネットワークから BIRD のイメージを取得し,自身の代表 IP アドレスを広報する,というところまでやった
やるべきことはまだまだ大量にある
そもそもまだディスクレスで起動している状態で,ストレージをどうハンドリングして扱うべきか,何をディスクにマウントしてあげればいいのかもわかっていない
OS のためのファイル群 や BIRD の OCI イメージなどのアセットをかなり暖かみのある方法で生成しているが,バージョン管理という観点からかなり問題があるのでこの部分も自動生成し,いい感じにデプロイできるようにしておく必要がある
Terraform とかいうやつの表現力がどこまであるのか,そもそもこれはどういった感じのプログラミング言語であると理解すればいいのかまだわかっておらず,苦しみがある
突然の褒められがあり,完全に照という状態になった
EdgeRouter なら AES offload あるし IPsec 使えばよくね?と言われて,なるほどそれはそうかとなっている
RJ03k についても同様かもしれない
2022-12-13
2022-12-07 に HUNSN RJ03k が届いたので,Pure BGP ネットワークを構成するための作業をしていた
ネットワーク
ピアたちと経路交換が行われている様子
https://scrapbox.io/files/6398460bfc7025001ec4caf6.png
IX2105 を退役させた
動いているノードは BGP で複数のパスを持っているのでそのまま退役できるように見えるが,DHCP サーバや DNS サーバが別に存在したので切り離せなかった
DHCP サーバを移動させ,DNS サーバを用意した後 VRRP を使って DNS サーバ IP を仮想 IP に置き換えて移行
無停止!
ありがとoooooooooooooo
https://scrapbox.io/files/639847a281bdf3001f8de7e9.png
2022-12-04
EdgeRouter Lite 3 で WireGuard を繋ぐ実験
古いカーネル向けにバックポートされたカーネルモジュールがあってそれが入ってるらしい
VyOS に入ってるやつとは若干コマンド体系が違うので注意
素の状態で 70Mbps 程度,Policy Based Routing と組み合わせて特定のネットワークのデフォルトゲートウェイにする構成にしたところ 50Mbps 程度出る
思ったよりはずっと速い
BGP バトル
マルチプロトコルっていいよねと思っていたが,だいたいの実装は別のプロトコルのNEXT_HOPをまともに決められないということがわかってきた
だいたいの実装: BIRD,FRR,gobgp
コネクション確立できてるならip route get相当のことをして対応するインターフェースのアドレス引っ張ってくればよくないか?
#日報