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许可证获得许可的。有关详细信息,请参见许可证文件。
有关任何查询或支持,请联系: