https://github.com/zerohertz/k8s-on-premise
๐พ [On-premise] ๋จ์ผ node k8s ํ๊ฒฝ ๊ตฌ์ถ ๐พ
https://github.com/zerohertz/k8s-on-premise
airflow argo-cd grafana k8s kubernetes nextcloud prometheus traefik
Last synced: 20 days ago
JSON representation
๐พ [On-premise] ๋จ์ผ node k8s ํ๊ฒฝ ๊ตฌ์ถ ๐พ
- Host: GitHub
- URL: https://github.com/zerohertz/k8s-on-premise
- Owner: Zerohertz
- License: mit
- Created: 2023-08-15T23:15:04.000Z (over 1 year ago)
- Default Branch: v1.30.3-4.Argo-CD
- Last Pushed: 2025-03-20T14:51:11.000Z (about 1 month ago)
- Last Synced: 2025-03-20T15:41:46.247Z (about 1 month ago)
- Topics: airflow, argo-cd, grafana, k8s, kubernetes, nextcloud, prometheus, traefik
- Language: Shell
- Homepage: https://zerohertz.xyz
- Size: 6.43 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
๐ข Kubernetes: On-premise ๐ข
> Kubernetes๋ฅผ ์ง์ ๊ตฌ์ถํด๋ณด๊ณ ์๋น์ค๋ฅผ ๋ฐฐํฌํด๋ณด๊ธฐ ์ํ ์ฝ๋๋ค์ ๋๋ค.
| No. | Stacks | Features |
| :-----: | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| :zero: | :o: [Kubelet](https://github.com/kubernetes/kubelet):o: [Kubeadm](https://github.com/kubernetes/kubeadm):o: [Kubectl](https://github.com/kubernetes/kubectl):o: [Calico](https://github.com/projectcalico/calico) | :white_check_mark: ๋จ์ผ node๋ก ์คํํ๋ฏ๋ก [master node์ `taint` ๋ณ๊ฒฝ](https://github.com/Zerohertz/k8s-on-premise/blob/v1.30.3-4.Argo-CD/sh/install_k8s.sh#L52) |
| :one: | :o: [Metrics Server](https://github.com/kubernetes-sigs/metrics-server):o: [Local Path Provisioner](https://github.com/rancher/local-path-provisioner):o: [MetalLB](https://github.com/metallb/metallb):o: [Traefik](https://github.com/traefik/traefik) | :white_check_mark: [thomseddon/traefik-forward-auth](https://github.com/thomseddon/traefik-forward-auth)๋ฅผ ํตํ [Google OAuth](https://developers.google.com/identity/protocols/oauth2?hl=ko) Middleware |
| :two: | :o: [Argo CD](https://github.com/argoproj/argo-cd) | |
| :three: | :o: [Prometheus](https://github.com/prometheus/prometheus):o: [Grafana](https://github.com/grafana/grafana) | :white_check_mark: [Node Exporter Full](https://grafana.com/grafana/dashboards/1860-node-exporter-full/), [Traefik Official Kubernetes Dashboard](https://grafana.com/grafana/dashboards/17347-traefik-official-kubernetes-dashboard/) ์ฌ์ฉ ๊ฐ๋ฅ |
| :three: | :o: [Apache Airflow](https://github.com/apache/airflow) | :white_check_mark: [Kubernetes Executor](https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/executor/kubernetes.html) ์ฌ์ฉ |
| :three: | :o: [Nextcloud](https://github.com/nextcloud) | :white_check_mark: [Backend PostgreSQL ์ฌ์ฉ](https://zerohertz.github.io/home-server-cloud/#PostgreSQL) |
| :art: | :o: [@rldnd](https://github.com/rldnd) | :white_check_mark: ๋ชจ๋ ์๋น์ค๋ฅผ ํ๋ฒ์ ์ ์ํ ์ ์๋ portal ์ถ๊ฐ:white_check_mark: [GitHub Actions ๋ฐ Argo CD ๊ธฐ๋ฐ CI/CD ์ ์ฉ](https://zerohertz.github.io/cicd-init/) |```mermaid
%%{
init: {
'theme': 'default',
'themeVariables': {
'fontFamily': 'Times New Roman'
}
}
}%%
flowchart TD
user[User]
dns[Domain Namer Server: GoDaddy]
user--Domain request(service.zerohertz.xyz)-->dns
dns--DNS routing
(XXX.XXX.XXX.XXX)-->router
router--Port forwarding-->ingressgithub[GitHub]
click github "https://github.com/Zerohertz/k8s-on-premise" _blank
github--Webhook(argocd.zerohertz.xyz)-->dnsrouter--Google 2FA-->fail2ban
fail2ban-->sshslack[Slack Bot]
airflow-kubernetes-pod-operator-->slacksubgraph Home
router["Router
(XXX.XXX.XXX.XXX)"]
subgraph 0hz-controlplane
fail2ban[Fail2Ban]
ssh[SSH]
node-exporter[Node Exporter]
node-exporter-->prometheus
subgraph Kubernetes
kube-apiserver[kube-apiserver]
kube-scheduler[kube-scheduler]
kube-controller-manager[kube-controller-manager]
kubelet[Kubelet]
ingress[Ingress: Traefik]
cni[CNI: Calico]argo-cd-application-controller-->kube-apiserver
airflow-triggerer-->kube-apiserver
kube-apiserver-->kube-scheduler
kube-apiserver-->kube-controller-manager
kube-scheduler-->kubelet
kube-controller-manager-->kubeletstorage-class[Storage Class:
Local Path Storage]kubelet-.->Monitoring
kubelet-.->Airflow
kubelet-.->NextCloud
kubelet-.->airflow-kubernetes-pod-operatoringress--Ingress-->argo-cd-server
ingress--Ingress-->prometheus
ingress--Ingress-->grafana
ingress--Ingress-->airflow-webserver
ingress--Ingress-->nextcloudsubgraph Argo-CD
argo-cd-server[Server]
argo-cd-dex-server[Dex Server]
argo-cd-repo-server[Repo Server]
argo-cd-application-controller[Application Controller]
argo-cd-applicationset-controller[ApplicationSet Controller]
argo-cd-notifications-controller[Notifications Controller]
argo-cd-db[(Redis)]
argo-cd-server-->argo-cd-dex-server
argo-cd-server-->argo-cd-repo-server
argo-cd-server--Sync Apps-->argo-cd-application-controller
argo-cd-server-->argo-cd-applicationset-controller
argo-cd-server-->argo-cd-notifications-controller
argo-cd-repo-server-->argo-cd-db
argo-cd-application-controller-->argo-cd-repo-server
argo-cd-applicationset-controller-->argo-cd-repo-server
argo-cd-notifications-controller--Monitors Events-->argo-cd-server
endsubgraph Monitoring
prometheus[Prometheus]
grafana[Grafana]
prometheus-->grafana
endsubgraph Airflow
airflow-webserver[Webserver]
airflow-db[(PostgreSQL)]
airflow-statsd[statsd]
airflow-triggerer[triggerer]
airflow-kubernetes-pod-operator[KubernetesPodOperator]
airflow-webserver-->airflow-db
airflow-webserver-->airflow-statsd
airflow-webserver-->airflow-triggerer
endsubgraph NextCloud
nextcloud[NextCloud]
nextcloud-db[(PostgreSQL)]
nextcloud-->nextcloud-db
end
end
end
end
style user fill:#800a0a,color:#fff,stroke:#000
style dns fill:#1BDBDB,stroke:#000
style github fill:#000,color:#fff,stroke:#000
style slack fill:#4A154B,color:#fff,stroke:#000
style 0hz-controlplane fill:#f0a0a0,stroke:#800a0a
style Kubernetes fill:#82ACF5,stroke:#326CE5
style Argo-CD fill:#EF7B4D,stroke:#EF7B4D
style Monitoring fill:#F6A26C,stroke:#E6522C
style Airflow fill:#71BCFE,stroke:#017CEE
style NextCloud fill:#30A2F9,stroke:#0082C9
```- ๋ชจ๋ ์๋น์ค๋ `https://${SERVICE}.${DDNS}`์ Argo CD๋ก ๋ฐฐํฌ๋ฉ๋๋ค.
![]()
![]()
![]()