Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NixOSでもご自宅k8sがしたい!
Search
Yuto Takamune
July 30, 2023
Technology
2
3k
NixOSでもご自宅k8sがしたい!
Yuto Takamune
July 30, 2023
Tweet
Share
More Decks by Yuto Takamune
See All by Yuto Takamune
GPT-3.5 Turbo をファインチューニングして自分のクローンを作った話
shinbunbun_
0
280
RustのLINEBot SDKを自作した話
shinbunbun_
0
1.2k
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
3.1k
カーネルレベルでTwitterを禁止しよう
shinbunbun_
0
200
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
420
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
170
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
1.1k
IEEE802.1X認証を導入してみた
shinbunbun_
0
230
UBICの食材管理APIを作った話
shinbunbun_
0
190
Other Decks in Technology
See All in Technology
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.6k
AWSを活用したIoTにおけるセキュリティ対策のご紹介
kwskyk
0
350
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
210
EDRの検知の仕組みと検知回避について
chayakonanaika
12
4.9k
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
610
Fraxinus00tw assembly manual
fukumay
0
100
スキルだけでは満たせない、 “組織全体に”なじむオンボーディング/Onboarding that fits “throughout the organization” and cannot be satisfied by skills alone
bitkey
0
180
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
2.6k
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
210
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
280
OCI Success Journey OCIの何が評価されてる?疑問に答える事例セミナー(2025年2月実施)
oracle4engineer
PRO
2
150
RemoveだらけのPHPUnit 12に備えよう
cocoeyes02
0
290
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Building Applications with DynamoDB
mza
93
6.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
We Have a Design System, Now What?
morganepeng
51
7.4k
A better future with KSS
kneath
238
17k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Transcript
NixOSでもご自宅k8sがしたい! seccamp2023 LT しんぶんぶん
自己紹介 • 名前: しんぶんぶん • 所属: 会津大学学部3年 • Twitter: @shinbunbun_,
@4fa19623 • Rustいっぱいちゅき • LINE API Expert / seccamp ’23 / Cybozu labyouth 13th
みなさん、NixOS使ってますよね?
NixOSとは • 純粋関数型パッケージマネージャであるNixをベースとしたLinuxディストリビュー ション • 環境を全て宣言的に記述できる • 設定を記述する→ビルドするで適用 ◦ ビルドするたびにバージョンが発行されて、起動する際にブートローダーから任意のバージョンを選
択できる ◦ →ロールバックが容易
みなさん、おうちにk8s立てたいですよね?
NixOSでk8sを立てる • 当たり前の様にkubeadmは使えない ◦ NixOSはシステムに関する大部分が Read-Only File Systemになっており、Nix経由でしか書き換 えできない •
configuration.nixに全部書きます • 逆にいえば、nix書くだけでk8sが立ち上がる • 今回はmaster1台でお試ししてみる
None
はい、これでクラスタ立ちました
NixOS最高!!!
せっかくだからNodeをもう一つ立ててみる
None
これで完成
せっかくだから最近流行りのMisskey立ててみよう
Misskeyを立てる • 公式のHelmはボリューム周りの問題でなぜか動かなかったので、自分でマニフェ ストを書く • 参考: https://4nm1tsu.com/posts/4pdgkbc/ • Nodeが1台なので、ローカルのストレージを使用
まずはDB
• Secret, SVC, PV, PVC, Podを作成
次にredis
• SVC, PV, PVC, Podを作成
最後にWebサーバ
• PV, PVC, SVC, Deploymentを作 成
最後にCloudflare Tunnel
None
applyすれば完成!
が、ここで1つ問題が...
なぜかsvcが名前解決できない • 原因を調べてみると、Kubernetes API Serviceへのアクセスが失敗している • iptablesとか色々見たりして無限時間溶かした
結局原因は... • Firewallでした • Kubernetes APIサーバは普通Podとしてクラスター内に立っているらしいが、 NixOSで構築するとクラスター外部にAPI Serverが立つ • Podからローカルネットワークへのアクセスは、すなわち外部ネットワークからロー
カルネットワークへのアクセスと同じ • ということは、API Serverが立っているポートへの外部からのアクセスをFirewallで 許可しないといけなかった
これで終わり
まとめ • NixOSだと超簡単にk8sクラスタを構築できる • Misskeyも割と簡単に立つ