Kubethor是使用GO和React構建的Kubernetes管理Web應用程序。它提供了一個用戶友好的接口,可以有效地管理和監視Kubernetes群集。
前端
後端
docker pull kubethor/kubethordocker run -p 8080:8080 kubethor/kubethor有關Docker圖像的更多詳細信息,請訪問Kubethor Docker Hub頁面。
這是項目結構的概述:
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/ :包含靜態資產,例如圖像,字體和index.html文件,可作為React應用程序的輸入點。src/ :React應用程序的主要源代碼。assets/ :包含圖像,圖標和样式等前端資產。components/ :包含在整個應用程序中使用的可重複使用的反應組件和鉤子。layouts/ :包含定義通用頁面佈局結構的佈局組件。pages/ :包含代表應用程序中不同視圖或路由的頁面組件。App.jsx :設置路由並呈現應用程序的核心佈局的主要應用程序組件。package.json :定義了前端項目的node.js依賴項和腳本。 kubethor-backend/
main.go :初始化並運行後端服務器的主GO應用程序文件。go.mod :定義後端項目的GO模塊依賴項。api/ :包含後端服務器公開的API實現。config/ :包含用於後端使用的不同環境和設置的配置文件。build.sh :用於編譯獨立後端應用程序並管理構建過程的構建腳本。k8s.yaml :指定如何在Kubernetes群集上部署後端應用程序的Kubernetes部署文件。Dockerfile :用於為後端應用程序創建Docker映像的Docker構建文件。dist/ :構建過程後,從前端文件夾中復制編譯的反應構建的目錄。這允許後端為前端應用程序服務。 影片:
克隆存儲庫:
git clone [email protected]:sassoftware/kubethor.git
cd kubethor前端設置:
導航到kubethor-frontend目錄:
cd ../kubethor-frontend安裝依賴項:
npm install如果有任何錯誤使用:
npm config set registry https://registry.npmjs.org/
npm install --verbose構建React應用程序:
npm run build用於在開發環境中運行的React應用程序:
npm run dev後端設置:
導航到kubethor-backend目錄:
cd ../kubethor-backend複製DIST文件夾[React App Build to Backend]從kubethor-frontend到kubethor-backend目錄:
cp -r ../kubethor-frontend/dist/ ../kubethor-backend下載所有依賴項:
go mod download構建GO應用程序:
go build -o kubethor-backend開始後端:
導航到backend目錄:
cd kubethor-backend運行GO應用程序:
./kubethor-backend後端應用程序將在http://localhost:8080上運行。
開始前端:
導航到frontend目錄:
cd ../kubethor-frontend啟動開發服務器:
npm run dev前端應用程序將在http://localhost:3000上運行。
構建獨立應用程序:
導航到kubethor-backend目錄:
cd kubethor-backend運行build.sh腳本:
./build.sh注意:
build.sh腳本構建了react應用程序,將其複製到kubethor-backend文件夾中,然後將其嵌入到GO的可執行文件中。可以運行此單個可執行文件,以在http://localhost:8080上為整個應用程序提供服務,而無需單獨運行前端。
運行獨立應用程序:
運行build.sh後,啟動應用程序:
./kubethor-backend該應用程序將在http://localhost:8080提供。
由於Docker映像也是一種獨立應用程序,因此請確保將最新的dist文件夾複製到kubethor-backend文件夾中。如果要構建用於在主機服務器上部署的圖像,請確保使用主機名更改kubethor-frontend中的API_BASE_URL和API_WS_URL 。 build.sh腳本構建了React應用程序,將其複製到kubethor-backend文件夾中。在構建docker映像之前,可以運行build.sh 。
構建Docker圖像:
導航到kubethor-backend目錄:
cd kubethor-backend構建Docker圖像:
docker build --no-cache -t kubethor-backend .運行Docker容器:
運行Docker容器:
docker run -p 8080:8080 kubethor-backend推到Docker註冊表:
登錄到您的Docker註冊表:
docker login YOUR_REGISTERY.com標記Docker圖像:
docker tag kubethor-backend:latest YOUR_REGISTERY.com/kubethor/kubethor-backend:latest按下Docker圖像:
docker push YOUR_REGISTERY.com/kubethor/kubethor-backend部署到Kubernetes群集:
導航到kubethor-backend目錄:
cd kubethor-backend確保您有一個Kubernetes群集運行,並配置為與之交互的kubectl 。
使用您的Docker Image鏈接和主機URL更新kubethor-backend目錄中的k8s.yaml文件:
應用Kubernetes配置:
kubectl apply -f k8s.yaml -n my-namespace成功部署後,轉到您的主機URL
注意:確保您有必要的權限將資源部署到Kubernetes群集。
k8s.yaml文件包含用於部署Kubethor應用程序的配置,包括部署,服務,入口和水平POD Autoscaler以及在Kubernetes環境中運行的應用所需的其他資源。
有關如何針對此存儲庫打開問題的信息,請參見support.md文件。
歡迎捐款!請閱讀我們的貢獻指南,以獲取更多信息。
該項目是根據Apache 2.0許可證獲得許可的。有關詳細信息,請參見許可證文件。
有關任何查詢或支持,請聯繫: