Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
NixOSでもご自宅k8sがしたい! seccamp2023 LT しんぶんぶん
Slide 2
Slide 2 text
自己紹介 ● 名前: しんぶんぶん ● 所属: 会津大学学部3年 ● Twitter: @shinbunbun_, @4fa19623 ● Rustいっぱいちゅき ● LINE API Expert / seccamp ’23 / Cybozu labyouth 13th
Slide 3
Slide 3 text
みなさん、NixOS使ってますよね?
Slide 4
Slide 4 text
NixOSとは ● 純粋関数型パッケージマネージャであるNixをベースとしたLinuxディストリビュー ション ● 環境を全て宣言的に記述できる ● 設定を記述する→ビルドするで適用 ○ ビルドするたびにバージョンが発行されて、起動する際にブートローダーから任意のバージョンを選 択できる ○ →ロールバックが容易
Slide 5
Slide 5 text
みなさん、おうちにk8s立てたいですよね?
Slide 6
Slide 6 text
NixOSでk8sを立てる ● 当たり前の様にkubeadmは使えない ○ NixOSはシステムに関する大部分が Read-Only File Systemになっており、Nix経由でしか書き換 えできない ● configuration.nixに全部書きます ● 逆にいえば、nix書くだけでk8sが立ち上がる ● 今回はmaster1台でお試ししてみる
Slide 7
Slide 7 text
No content
Slide 8
Slide 8 text
はい、これでクラスタ立ちました
Slide 9
Slide 9 text
NixOS最高!!!
Slide 10
Slide 10 text
せっかくだからNodeをもう一つ立ててみる
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
これで完成
Slide 13
Slide 13 text
せっかくだから最近流行りのMisskey立ててみよう
Slide 14
Slide 14 text
Misskeyを立てる ● 公式のHelmはボリューム周りの問題でなぜか動かなかったので、自分でマニフェ ストを書く ● 参考: https://4nm1tsu.com/posts/4pdgkbc/ ● Nodeが1台なので、ローカルのストレージを使用
Slide 15
Slide 15 text
まずはDB
Slide 16
Slide 16 text
● Secret, SVC, PV, PVC, Podを作成
Slide 17
Slide 17 text
次にredis
Slide 18
Slide 18 text
● SVC, PV, PVC, Podを作成
Slide 19
Slide 19 text
最後にWebサーバ
Slide 20
Slide 20 text
● PV, PVC, SVC, Deploymentを作 成
Slide 21
Slide 21 text
最後にCloudflare Tunnel
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
applyすれば完成!
Slide 24
Slide 24 text
が、ここで1つ問題が...
Slide 25
Slide 25 text
なぜかsvcが名前解決できない ● 原因を調べてみると、Kubernetes API Serviceへのアクセスが失敗している ● iptablesとか色々見たりして無限時間溶かした
Slide 26
Slide 26 text
結局原因は... ● Firewallでした ● Kubernetes APIサーバは普通Podとしてクラスター内に立っているらしいが、 NixOSで構築するとクラスター外部にAPI Serverが立つ ● Podからローカルネットワークへのアクセスは、すなわち外部ネットワークからロー カルネットワークへのアクセスと同じ ● ということは、API Serverが立っているポートへの外部からのアクセスをFirewallで 許可しないといけなかった
Slide 27
Slide 27 text
これで終わり
Slide 28
Slide 28 text
まとめ ● NixOSだと超簡単にk8sクラスタを構築できる ● Misskeyも割と簡単に立つ