Kubethor는 Go and React를 사용하여 구축 된 Kubernetes 관리 웹 응용 프로그램입니다. 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/ : React 응용 프로그램의 진입 점으로 사용되는 이미지, 글꼴 및 index.html 파일과 같은 정적 자산이 포함되어 있습니다.src/ : React 응용 프로그램의 기본 소스 코드.assets/ : 이미지, 아이콘 및 스타일과 같은 프론트 엔드 자산이 포함되어 있습니다.components/ : 응용 프로그램 전반에 사용되는 재사용 가능한 반응 구성 요소 및 후크가 포함되어 있습니다.layouts/ : 공통 페이지 레이아웃의 구조를 정의하는 레이아웃 구성 요소가 포함되어 있습니다.pages/ : 응용 프로그램의 다른 뷰 또는 경로를 나타내는 페이지 구성 요소가 포함되어 있습니다.App.jsx : 라우팅을 설정하고 응용 프로그램의 핵심 레이아웃을 렌더링하는 기본 응용 프로그램 구성 요소.package.json : 프론트 엔드 프로젝트의 node.js 종속성 및 스크립트를 정의합니다. kubethor-backend/
main.go : 백엔드 서버를 초기화하고 실행하는 Main Go 응용 프로그램 파일.go.mod : 백엔드 프로젝트의 GO 모듈 종속성을 정의합니다.api/ : 백엔드 서버가 노출하는 API 구현이 포함되어 있습니다.config/ : 백엔드에서 사용하는 다양한 환경 및 설정에 대한 구성 파일이 포함되어 있습니다.build.sh : 독립형 백엔드 응용 프로그램을 컴파일하고 빌드 프로세스를 관리하는 데 사용되는 빌드 스크립트.k8s.yaml : Kubernetes 클러스터에 백엔드 응용 프로그램을 배포하는 방법을 지정하는 Kubernetes 배포 파일.Dockerfile : 백엔드 응용 프로그램을위한 Docker 이미지를 만드는 데 사용되는 Docker 빌드 파일.dist/ : 빌드 프로세스 후에 컴파일 된 React 빌드가 프론트 엔드 폴더에서 복사되는 디렉토리. 이를 통해 백엔드는 프론트 엔드 응용 프로그램을 제공 할 수 있습니다. 동영상:
저장소 복제 :
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 --verboseReact 앱 빌드 :
npm run build개발 환경에서 React App을 실행하려면 :
npm run dev백엔드 설정 :
kubethor-backend 디렉토리로 이동하십시오.
cd ../kubethor-backend kubethor-frontend 에서 kubethor-backend 디렉토리로 Dist Folder [React App Build에 반응하기 위해 React App Build] 복사 :
cp -r ../kubethor-frontend/dist/ ../kubethor-backend모든 종속성 다운로드 :
go mod downloadGo 응용 프로그램 구축 :
go build -o kubethor-backend백엔드 시작 :
backend 디렉토리로 이동하십시오.
cd kubethor-backendGo 응용 프로그램 실행 :
./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-backendDocker 이미지 구축 :
docker build --no-cache -t kubethor-backend .Docker 컨테이너를 실행하십시오.
Docker 컨테이너를 실행하십시오.
docker run -p 8080:8080 kubethor-backendDocker Registry로 밀기 :
Docker 레지스트리에 로그인하십시오.
docker login YOUR_REGISTERY.comDocker 이미지 태그 :
docker tag kubethor-backend:latest YOUR_REGISTERY.com/kubethor/kubethor-backend:latestDocker 이미지를 누르십시오 :
docker push YOUR_REGISTERY.com/kubethor/kubethor-backendKubernetes 클러스터에 배포 :
kubethor-backend 디렉토리로 이동하십시오.
cd kubethor-backend Kubernetes 클러스터가 실행되고 kubectl 이 상호 작용하도록 구성되어 있는지 확인하십시오.
Docker 이미지 링크 및 호스트 URL을 사용하여 kubethor-backend 디렉토리의 k8s.yaml 파일을 업데이트하십시오.
Kubernetes 구성을 적용하십시오.
kubectl apply -f k8s.yaml -n my-namespace배포가 성공한 후 호스트 URL로 이동하십시오
참고 : Kubernetes 클러스터에 리소스를 배포하는 데 필요한 권한이 있는지 확인하십시오.
k8s.yaml파일에는 배포, 서비스, 유입 및 수평 포드 오토 스캘러 및 Kubernetes 환경에서 실행되는 데 필요한 기타 리소스를 포함하여 Kubethor 응용 프로그램을 배포하기위한 구성이 포함되어 있습니다.
이 저장소에 대한 문제를 여는 방법에 대한 정보는 support.md 파일을 참조하십시오.
기부금을 환영합니다! 자세한 내용은 기고 가이드 라인을 읽으십시오.
이 프로젝트는 Apache 2.0 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.
문의 나 지원을 받으려면 다음으로 연락하십시오.