Worker-Service-Node Stack & README
This commit is contained in:
67
README.md
Normal file
67
README.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# rpi-worker-service-node
|
||||
작성: AI / 수정: nkey
|
||||
|
||||
k3s 클러스터에서 **서비스 워커 노드** 역할을 하는 라즈베리파이입니다.
|
||||
현재 이 레포는 **코드/설정 파일이 비어있을 수 있으며**, 운영은 주로 k3s 리소스(마스터 레포)와 노드 로컬 설정(node-exporter/promtail 등)으로 구성됩니다.
|
||||
|
||||
## Quickstart
|
||||
### Recommended
|
||||
```bash
|
||||
# (Master) 디스크 채우기 데모 배포 (service 노드에 스케줄되도록 nodeSelector 사용)
|
||||
git clone https://nkeystudy.site/gitea/2025-capstone/rpi-master-node.git
|
||||
cd rpi-master-node
|
||||
kubectl apply -f k3s-manifests/disk-fill-demo.yaml
|
||||
|
||||
# (Master) Pod 이름 확인 후 exec로 디스크 채우기
|
||||
POD=$(sudo kubectl get pod -n alert-service -l app=disk-fill-demo -o jsonpath='{.items[0].metadata.name}')
|
||||
sudo kubectl exec -n alert-service "$POD" -- /usr/local/bin/fill_disk_safe.sh /tmp/disk-fill-demo 90 1024
|
||||
|
||||
# (Master) 정리
|
||||
sudo kubectl exec -n alert-service "$POD" -- cleanup_disk.sh /tmp/disk-fill-demo
|
||||
```
|
||||
|
||||
## Requirements
|
||||
- Runtime/Language: k3s 워커 노드(서비스 실행)
|
||||
- Dependencies: (노드 로컬) node-exporter, promtail
|
||||
- Tools: `kubectl`(마스터에서), `systemctl`(노드에서)
|
||||
|
||||
## Configuration
|
||||
### Environment Variables
|
||||
- (repo 내 설정 파일 없음)
|
||||
|
||||
### Ports
|
||||
| Service | Port | Description |
|
||||
|---|---:|---|
|
||||
| node-exporter (node) | 9100 | Prometheus scraping |
|
||||
| promtail (node) | 9080 | Prometheus scraping |
|
||||
|
||||
## Usage (minimal)
|
||||
- 노드에 디스크 채우기 데모가 스케줄되도록 라벨(예시)
|
||||
```bash
|
||||
# (Master) service 노드에 라벨 부여(디스크 데모는 nodeSelector: demo-service="true" 사용)
|
||||
kubectl label node rpi-worker-service demo-service=true
|
||||
```
|
||||
|
||||
- node-exporter 상태 확인(노드에서)
|
||||
```bash
|
||||
sudo systemctl status node_exporter
|
||||
curl http://localhost:9100/metrics | head
|
||||
```
|
||||
|
||||
- promtail 상태 확인(노드에서)
|
||||
```bash
|
||||
sudo systemctl status promtail
|
||||
```
|
||||
|
||||
## (All nodes) node-exporter, promtail 설치 (수동)
|
||||
- https://nkeystudy.site/gitea/2025-capstone/rpi-master-node/README.md 참고
|
||||
|
||||
## 설정 파일 설명
|
||||
- 이 레포에는 설정 파일이 포함되어 있지 않습니다.
|
||||
- 서비스 노드에서 중요한 “설정/구성”은 아래 2가지 흐름으로 관리됩니다.
|
||||
1) **K8s 매니페스트**: `rpi-master-node/k3s-manifests/disk-fill-demo.yaml` (service 노드에 스케줄)
|
||||
2) **노드 로컬 수집기**: node-exporter(prometheus scrape), promtail(loki push)
|
||||
|
||||
## Notes
|
||||
- 디스크 채우기 데모 컨테이너에는 `fill_disk_safe.sh`, `cleanup_disk.sh` 등이 포함되어 있으며,
|
||||
`kubectl exec`로 실행합니다(명령은 조직 README 또는 `rpi-master-node` README 참고).
|
||||
Reference in New Issue
Block a user