An open API service indexing awesome lists of open source software.

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 ํ™˜๊ฒฝ ๊ตฌ์ถ• ๐Ÿ‘พ

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-->ingress

github[GitHub]
click github "https://github.com/Zerohertz/k8s-on-premise" _blank
github--Webhook(argocd.zerohertz.xyz)-->dns

router--Google 2FA-->fail2ban
fail2ban-->ssh

slack[Slack Bot]
airflow-kubernetes-pod-operator-->slack

subgraph 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-->kubelet

storage-class[Storage Class:
Local Path Storage]

kubelet-.->Monitoring
kubelet-.->Airflow
kubelet-.->NextCloud
kubelet-.->airflow-kubernetes-pod-operator

ingress--Ingress-->argo-cd-server
ingress--Ingress-->prometheus
ingress--Ingress-->grafana
ingress--Ingress-->airflow-webserver
ingress--Ingress-->nextcloud

subgraph 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
end

subgraph Monitoring
prometheus[Prometheus]
grafana[Grafana]
prometheus-->grafana
end

subgraph 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
end

subgraph 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๋กœ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.


argo-cd
portal
traefik