Container Virtualization
- Encapsulating the ISS Cloud environment into Docker images allows rapid deployment and isolation of operational environments.
- Using Kubernetes (K8S) to manage containers ensures that users’ requirements are dispatched to idle physical cars, controlling each node in the cluster.
- Leveraging KubeSphere for multi-user and multi-cluster unified distribution and operations management provides a user-friendly visual interface for administrators.
Resource Allocation and Environment Isolation
Virtualization and Scheduling
- Docker
- ISSPA images are packed using Dockerfile.
- Images are uploaded to DockerHub:
seddon2001/isspa:v1
.
- Kubernetes
- Containers are dispatched to designated physical nodes.
- Comprehensive node scheduling rules ensure exclusive use of each physical car.
Scheduling Based on Kubernetes
KubeSphere
- Built on Kubernetes
- Simplifies operations for administrators with a visual, wizard-like interface.
- Features remote control of nodes and real-time resource monitoring.
Django-Based Backend
- Handles user node requests via Django server.
- Executes Kubernetes commands (e.g.,
kubectl
) on master nodes to check node status and return container application results in JSON format. - Automatic container removal after a 2-hour usage period.
Edge Computing
KubeEdge & EdgeMesh
- Optimized for unreliable network conditions of edge nodes.
- Enables container scheduling and service connections even under weak networks.
Solutions for Network Challenges:
- Use EdgeMesh to bridge edge nodes and control nodes seamlessly.
- Supports port mapping between edge nodes and control nodes, allowing automatic and user-transparent service deployment.
Container-Associated Infrastructure
CodeServer and Nginx
- CodeServer:
- Browser-based VS Code provides an easy-to-use alternative to traditional SSH.
- Includes terminal access and port mapping.
- Nginx:
- Resolves RosBridge port issues through reverse proxying and HTTP header modification.