Kubernetes를 직접 구축해보고 서비스를 배포해보기 위한 코드들입니다.
No. | Stacks | Features |
---|---|---|
0️⃣ | ⭕ Kubelet ⭕ Kubeadm ⭕ Kubectl ⭕ Flannel |
✅ 단일 node로 실행하므로 master node의 taint 변경 |
1️⃣ | ⭕ Metrics Server ⭕ Local Path Provisioner ⭕ MetalLB ⭕ Traefik |
✅ thomseddon/traefik-forward-auth를 통한 Google OAuth Middleware |
2️⃣ | ⭕ Kubernetes Dashboard | ✅ Token 없이 접속 가능 ( |
2️⃣ | ⭕ Prometheus ⭕ Grafana |
✅ Node Exporter Full, Traefik Official Kubernetes Dashboard 사용 가능 |
3️⃣ | ⭕ Apache Airflow | ✅ Kubernetes Executor 사용 |
3️⃣ | ⭕ Argo CD | |
3️⃣ | ⭕ Nextcloud | ✅ Backend PostgreSQL 사용 |
3️⃣ | ⭕ Jenkins | ✅ GitOps를 위해 Jenkins Plugin을 통한 OAuth 사용 |
🎨 | ⭕ @rldnd | ✅ 모든 서비스를 한번에 접속할 수 있는 portal 추가 ✅ GitHub Actions 및 Argo CD 기반 CI/CD 적용 |
- 모든 서비스는
https://${SERVICE}.${DDNS}
에 Argo CD로 배포됩니다.
- sh/reset_k8s.sh: Kubernetes 재설정
- sh/remove_k8s.sh: Kubernetes 삭제
- sh/install_k9s.sh: K9s 설치
- sh/base64.sh: Kubernetes의 Secret을 사용하기 위한 base64 encoding
Visual Studio Code:
settings.json
(For Formatting)
{
...
"[yaml]": {
"editor.defaultFormatter": "redhat.vscode-yaml",
"editor.formatOnSave": true
},
"yaml.format.enable": true
}