zlambda: APISIX NixOS oci-containers로 재가동

- apisix + etcd 컨테이너 기동 완료 (라우트/SSL 빈 상태)
- NixOS 모듈 apisix.nix로 선언형 관리
- netbis.md에 부트스트랩 체크리스트 추가
This commit is contained in:
kappa
2026-04-08 19:04:39 +09:00
parent eadd6ab991
commit b3a5e58b10
2 changed files with 40 additions and 9 deletions

View File

@@ -11,7 +11,7 @@ tags: [nixos, linode, zlambda, infra]
Linode Tokyo VM (라벨 `zlambda`, id 47271589)을 2026-04-08 Debian 12 → **NixOS 25.05 (Warbler)** 로 교체. nixos-anywhere로 무관리 원격 설치.
이전에 운영하던 [[netbis]] DR APISIX, microsocks, tlsproxy, vault-prod, wg-easy 등은 모두 제거됨. 현재는 베이스(sshd + tailscaled + docker)만 떠 있는 상태.
이전에 운영하던 [[netbis]] DR APISIX, microsocks, tlsproxy, vault-prod, wg-easy 등은 제거됨. 이후 같은 날 **APISIX + etcd를 NixOS `virtualisation.oci-containers`로 재선언**하여 기동 완료 (`apisix.nix`). 라우트/SSL은 아직 비어 있음.
## 접속
@@ -80,12 +80,22 @@ flake input:
- `services.openssh` (PermitRootLogin prohibit-password, PasswordAuth off)
- `services.tailscale.enable = true`
- `virtualisation.docker.enable = true` (autoPrune 켜짐)
- `virtualisation.oci-containers.backend = "docker"` (`apisix.nix` 모듈에서 apisix + apisix-etcd 선언)
- `nix.settings.experimental-features = [ "nix-command" "flakes" ]`
- 패키지: vim git curl wget htop tmux jq rsync
- TZ: Asia/Tokyo, locale en_US.UTF-8
- `networking.firewall.enable = false` (Linode firewall에 일임)
- `system.stateVersion = "25.05"`
`apisix.nix` 모듈 요약:
- 컨테이너: apisix(172.22.222.20), apisix-etcd(172.22.222.3), docker network `apisix-net` (172.22.222.0/24)
- 포트: 80→9080, 443→9443, 9180(admin)
- 데이터: etcd는 `/var/lib/apisix/etcd` bind mount, apisix 로그는 named volume `apisix-logs`
- config.yaml은 `pkgs.writeText`로 Nix store에 생성 후 read-only 마운트
- systemd 의존성: `init-apisix-net.service`(oneshot network 생성) → `docker-apisix-etcd``docker-apisix`
- Admin key `edd1c9f034335f136f87ad84b625c8f1` (현재 평문 하드코딩 — TODO: sops-nix 또는 agenix로 이전)
- 상세 운영: [[netbis]]
**커널 / sysctl 튜닝** (2026-04-08 추가):
- `boot.kernelModules = [ "br_netfilter" ]` (docker bridge sysctl 활성화용)
- 네트워크: BBR + fq qdisc, somaxconn 4096, tcp_fin_timeout 15, tcp_tw_reuse, tcp_keepalive 600/30/6, netdev_max_backlog 16384, tcp_max_syn_backlog 8192