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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuto Takamune
July 30, 2023
Technology
2
4.5k
NixOSでもご自宅k8sがしたい!
Yuto Takamune
July 30, 2023
Tweet
Share
More Decks by Yuto Takamune
See All by Yuto Takamune
GPT-3.5 Turbo をファインチューニングして自分のクローンを作った話
shinbunbun_
1
360
RustのLINEBot SDKを自作した話
shinbunbun_
0
2.1k
セキュリティキャンプ2023 Y3分散合意ゼミ 最終発表
shinbunbun_
0
4.4k
カーネルレベルでTwitterを禁止しよう
shinbunbun_
0
290
CRDTで始めるコンフリクトしないデータ同期
shinbunbun_
0
620
Haskell初心者がHaskellの楽しさについて語る
shinbunbun_
0
220
Rustで楕円曲線暗号の署名アルゴリズムをフルスクラッチ実装してみた話
shinbunbun_
0
2k
IEEE802.1X認証を導入してみた
shinbunbun_
0
320
UBICの食材管理APIを作った話
shinbunbun_
0
240
Other Decks in Technology
See All in Technology
作るべきものと向き合う - ecspresso 8年間の開発史から学ぶ技術選定 / 技術選定con findy 2026
fujiwara3
7
2.1k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
Secure Boot 2026 - Aggiornamento dei certificati UEFI e piano di adozione in azienda
memiug
0
140
プロジェクトマネジメントをチームに宿す -ゼロからはじめるチームプロジェクトマネジメントは活動1年未満のチームの教科書です- / 20260304 Shigeki Morizane
shift_evolve
PRO
1
110
LINE Messengerの次世代ストレージ選定
lycorptech_jp
PRO
19
7.3k
新職業『オーケストレーター』誕生 — エージェント10体を同時に回すAgentOps
gunta
4
1.4k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
72k
Lookerの最新バージョンv26.2がやばい話
waiwai2111
1
150
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
3
890
Kaggleで鍛えたスキルの実務での活かし方 競技とプロダクト開発のリアル
recruitengineers
PRO
1
150
Eight Engineering Unit 紹介資料
sansan33
PRO
1
6.9k
トップマネジメントとコンピテンシーから考えるエンジニアリングマネジメント
zigorou
3
540
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
400
Measuring & Analyzing Core Web Vitals
bluesmoon
9
770
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
120
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
280
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.7k
Chasing Engaging Ingredients in Design
codingconduct
0
130
Claude Code のすすめ
schroneko
67
220k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
The Curse of the Amulet
leimatthew05
1
9.6k
Deep Space Network (abreviated)
tonyrice
0
86
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も割と簡単に立つ