Kubethor ist eine Kubernetes -Management -Webanwendung, die mit Go and React erstellt wurde. Es bietet eine benutzerfreundliche Schnittstelle zur effizienten Verwaltung und Überwachung von Kubernetes-Clustern.
Frontend
Backend
docker pull kubethor/kubethordocker run -p 8080:8080 kubethor/kubethorWeitere Informationen zum Docker -Bild finden Sie auf der Seite Kubethor Docker Hub.
Hier ist ein Überblick über die Projektstruktur:
kubethor/
├── kubethor-frontend/ # React frontend
│ ├── public/ # Public assets
│ ├── src/ # React source code
│ ├── assets # Contains frontend assets
│ ├── components # Contains commonly used hooks and components
│ ├── layouts # Contains common page layouts
│ ├── pages # Contains pages component
│ ├── App.jsx
│ └── ... # Other frontend files
│ ├── package.json # Node.js dependencies
│ └── ... # Other frontend files
│
├── kubethor-backend/ # Go backend
│ ├── main.go # Main Go application
│ ├── go.mod # Go module dependencies
│ ├── api # Contains api's
│ ├── config # Contains configuration
│ ├── build.sh # Build script for standalone app
│ ├── k8s.yaml # Kubernetes deployment file
│ ├── Dockerfile # Kubernetes deployment file
│ ├── dist # Compiled React build (Need to copy from frontend folder after build)
│ └── ... # Other backend files and folders
│
├── README.md # Project README
└── ... # Other project files
kubethor-frontend/
public/ : Enthält statische Vermögenswerte wie Bilder, Schriftarten und die Index.html -Datei, die als Einstiegspunkt für die React -Anwendung dient.src/ : Der Hauptquellcode für die React -Anwendung.assets/ : Enthält Frontend -Vermögenswerte wie Bilder, Symbole und Stile.components/ : Enthält wiederverwendbare React -Komponenten und Hooks, die in der gesamten Anwendung verwendet werden.layouts/ : Enthält Layoutkomponenten, die die Struktur gemeinsamer Seitenlayouts definieren.pages/ : Enthält Seitenkomponenten, die unterschiedliche Ansichten oder Routen in der Anwendung darstellen.App.jsx : Die Hauptanwendungskomponente, die das Routing eingerichtet und das Kernlayout der Anwendung rendert.package.json : Definiert die Abhängigkeiten und Skripte von Node.js und Skripten für das Frontend -Projekt. kubethor-backend/
main.go : Die Haupt -GO -Anwendungsdatei, die den Backend -Server initialisiert und ausführt.go.mod : Definiert die GO -Modulabhängigkeiten für das Backend -Projekt.api/ : Enthält die API -Implementierungen, die der Backend -Server ausstellt.config/ : Enthält Konfigurationsdateien für verschiedene Umgebungen und Einstellungen, die vom Backend verwendet werden.build.sh : Ein Build -Skript, das zum Kompilieren der eigenständigen Backend -Anwendung und der Verwaltung des Build -Prozesses verwendet wird.k8s.yaml : Die Kubernetes -Bereitstellungsdatei, in der angegeben ist, wie die Backend -Anwendung in einem Kubernetes -Cluster bereitgestellt wird.Dockerfile : Die Docker Build -Datei, mit der ein Docker -Bild für die Backend -Anwendung erstellt wird.dist/ : Ein Verzeichnis, in dem der kompilierte React -Build nach dem Build -Prozess aus dem Frontend -Ordner kopiert wird. Dadurch kann das Backend die Frontend -Anwendung bedienen. Video:
Klonen Sie das Repository:
git clone [email protected]:sassoftware/kubethor.git
cd kubethorFrontend -Setup:
Navigieren Sie zum kubethor-frontend Verzeichnis:
cd ../kubethor-frontendInstallieren Sie die Abhängigkeiten:
npm installWenn Fehlerverwendung:
npm config set registry https://registry.npmjs.org/
npm install --verboseErstellen Sie die React -App:
npm run buildFür die Ausführung von React App in der Entwicklungsumgebung:
npm run devBackend -Setup:
Navigieren Sie zum kubethor-backend Verzeichnis:
cd ../kubethor-backend Kopieren Sie DIST-Ordner [React App Build auf Backend] von kubethor-frontend in kubethor-backend -Verzeichnis:
cp -r ../kubethor-frontend/dist/ ../kubethor-backendLaden Sie alle Abhängigkeiten herunter:
go mod downloadErstellen Sie die Go -Anwendung:
go build -o kubethor-backendStarten Sie das Backend:
Navigieren Sie zum backend -Verzeichnis:
cd kubethor-backendFühren Sie die Go -Anwendung aus:
./kubethor-backend Die Backend -Anwendung wird unter http://localhost:8080 ausgeführt.
Starten Sie die Frontend:
Navigieren Sie zum frontend -Verzeichnis:
cd ../kubethor-frontendStarten Sie den Entwicklungsserver:
npm run dev Die Frontend -Anwendung wird unter http://localhost:3000 ausgeführt.
Erstellen Sie die eigenständige Anwendung:
Navigieren Sie zum kubethor-backend Verzeichnis:
cd kubethor-backend Führen Sie das Skript build.sh aus:
./build.shHINWEIS: Das Skript
build.sherstellt die React-Anwendung, kopiert sie in den Ordnerkubethor-backendund einbettet sie dann in die ausführbare Go-Datei ein. Diese einzelne ausführbare Datei kann ausgeführt werden, um die gesamte Anwendung aufhttp://localhost:8080zu bedienen, ohne dass das Frontend separat ausführen muss.
Führen Sie die eigenständige Anwendung aus:
Starten Sie nach dem Ausführen build.sh die Anwendung:
./kubethor-backend Die Anwendung ist unter http://localhost:8080 verfügbar.
Da das Docker-Bild auch eine Art eigenständige Anwendung ist, stellen Sie sicher, dass Sie den neuesten dist Ordner in den Ordner kubethor-backend kopieren. Wenn Sie das Bild für die Bereitstellung auf einem Host-Server erstellen, ändern Sie mit Ihrem Hostnamen die API_BASE_URL und API_WS_URL in kubethor-frontend . Das build.sh -Skript erstellt die React-Anwendung und kopiert sie in den Ordner kubethor-backend . Es ist gut, build.sh zu laufen, bevor Sie Ihr Docker -Image erstellen.
Erstellen Sie das Docker -Bild:
Navigieren Sie zum kubethor-backend Verzeichnis:
cd kubethor-backendErstellen Sie das Docker -Bild:
docker build --no-cache -t kubethor-backend .Führen Sie den Docker -Container aus:
Führen Sie den Docker -Container aus:
docker run -p 8080:8080 kubethor-backendDrücken Sie zur Docker -Registrierung:
Melden Sie sich in Ihrer Docker -Registrierung an:
docker login YOUR_REGISTERY.comMarkieren Sie das Docker -Bild:
docker tag kubethor-backend:latest YOUR_REGISTERY.com/kubethor/kubethor-backend:latestDrücken Sie das Docker -Bild:
docker push YOUR_REGISTERY.com/kubethor/kubethor-backendBereitstellung in Kubernetes Cluster:
Navigieren Sie zum kubethor-backend Verzeichnis:
cd kubethor-backend Stellen Sie sicher, dass Sie über einen Kubernetes -Cluster ausgeführt werden und kubectl so konfiguriert sind, dass sie mit ihm interagieren.
Aktualisieren Sie die k8s.yaml Datei im Verzeichnis kubethor-backend mit Ihrem Docker Image-Link und Host-URL :
Wenden Sie die Kubernetes -Konfiguration an:
kubectl apply -f k8s.yaml -n my-namespaceGehen Sie nach erfolgreicher Bereitstellung zu Ihrer Host -URL
Hinweis: Stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen verfügen, um Ressourcen in Ihrem Kubernetes -Cluster bereitzustellen. Die
k8s.yaml-Datei enthält die Konfiguration für die Bereitstellung der Kubethor -Anwendung, einschließlich Bereitstellungs-, Service-, Eingrenz- und horizontaler Pod -Autoscaler und anderen Ressourcen, die für die Anwendung in einer Kubernetes -Umgebung benötigt werden.
Informationen zur Eröffnung eines Problems gegen dieses Repository finden Sie in der Datei Support.md -Datei.
Beiträge sind willkommen! Bitte lesen Sie unsere beitragenden Richtlinien für weitere Informationen.
Dieses Projekt ist unter der Apache 2.0 -Lizenz lizenziert. Weitere Informationen finden Sie in der Lizenzdatei.
Bei Anfragen oder Unterstützung wenden Sie sich bitte an: