Kubethor เป็นเว็บแอปพลิเคชันการจัดการ Kubernetes ที่สร้างขึ้นโดยใช้ GO และ React มันมีอินเทอร์เฟซที่ใช้งานง่ายเพื่อจัดการและตรวจสอบกลุ่ม Kubernetes ได้อย่างมีประสิทธิภาพ
ส่วนหน้า
แบ็กเอนด์
docker pull kubethor/kubethordocker run -p 8080:8080 kubethor/kubethorสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับภาพนักเทียบท่าเยี่ยมชมหน้า 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 ที่ทำหน้าที่เป็นจุดเริ่มต้นสำหรับแอปพลิเคชัน Reactsrc/ : ซอร์สโค้ดหลักสำหรับแอปพลิเคชัน Reactassets/ : มีสินทรัพย์ส่วนหน้าเช่นรูปภาพไอคอนและสไตล์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 ที่ระบุวิธีการปรับใช้แอปพลิเคชันแบ็กเอนด์บนคลัสเตอร์ KubernetesDockerfile : ไฟล์ Build 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 [REACE APP BULD เพื่อแบ็กเอนด์] จาก 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
เนื่องจากอิมเมจนักเทียบท่ายังเป็นแอปพลิเคชั่นแบบสแตนด์อโลนประเภทหนึ่งให้แน่ใจว่าคุณคัดลอกโฟลเดอร์ dist ล่าสุดลงในโฟลเดอร์ kubethor-backend หากคุณกำลังสร้างภาพเพื่อปรับใช้บนเซิร์ฟเวอร์โฮสต์ตรวจสอบให้แน่ใจว่าได้เปลี่ยน API_BASE_URL และ API_WS_URL ใน kubethor-frontend ด้วยชื่อโฮสต์ของคุณ สคริปต์ build.sh สร้างแอปพลิเคชัน React คัดลอกไปยังโฟลเดอร์ kubethor-backend เป็นการดีที่จะเรียกใช้ build.sh ก่อนที่จะสร้างภาพนักเทียบท่าของคุณ
สร้างภาพนักเทียบท่า:
นำทางไปยังไดเรกทอรี kubethor-backend :
cd kubethor-backendสร้างภาพนักเทียบท่า:
docker build --no-cache -t kubethor-backend .เรียกใช้คอนเทนเนอร์ Docker:
เรียกใช้คอนเทนเนอร์ Docker:
docker run -p 8080:8080 kubethor-backendผลักดันไปยัง Docker Registry:
ลงชื่อเข้าใช้รีจิสทรีนักเทียบท่าของคุณ:
docker login YOUR_REGISTERY.comแท็กภาพนักเทียบท่า:
docker tag kubethor-backend:latest YOUR_REGISTERY.com/kubethor/kubethor-backend:latestผลักดันภาพนักเทียบท่า:
docker push YOUR_REGISTERY.com/kubethor/kubethor-backendปรับใช้กับคลัสเตอร์ Kubernetes:
นำทางไปยังไดเรกทอรี kubethor-backend :
cd kubethor-backend ตรวจสอบให้แน่ใจว่าคุณมีคลัสเตอร์ Kubernetes ที่ทำงานอยู่และ kubectl ที่กำหนดค่าให้โต้ตอบกับมัน
อัปเดตไฟล์ k8s.yaml ในไดเรกทอรี kubethor-backend ด้วย ลิงก์รูปภาพ Docker และ URL โฮสต์ :
ใช้การกำหนดค่า Kubernetes:
kubectl apply -f k8s.yaml -n my-namespaceหลังจากการปรับใช้ที่ประสบความสำเร็จไปที่ URL โฮสต์ของคุณ
หมายเหตุ: ตรวจสอบให้แน่ใจว่าคุณมีสิทธิ์ที่จำเป็นในการปรับใช้ทรัพยากรกับคลัสเตอร์ Kubernetes ของคุณ ไฟล์
k8s.yamlมีการกำหนดค่าสำหรับการปรับใช้แอปพลิเคชัน Kubethor รวมถึงการปรับใช้บริการการเข้าและแนวนอน POD Autoscaler และทรัพยากรอื่น ๆ ที่จำเป็นสำหรับแอปพลิเคชันเพื่อทำงานในสภาพแวดล้อม Kubernetes
ดูไฟล์ Support.md สำหรับข้อมูลเกี่ยวกับวิธีการเปิดปัญหากับที่เก็บนี้
ยินดีต้อนรับ! โปรดอ่านแนวทางการสนับสนุนของเราสำหรับข้อมูลเพิ่มเติม
โครงการนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต Apache 2.0 ดูไฟล์ใบอนุญาตสำหรับรายละเอียด
สำหรับข้อสงสัยหรือการสนับสนุนใด ๆ โปรดติดต่อ: