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

  1. Docker
    • ISSPA images are packed using Dockerfile.
    • Images are uploaded to DockerHub: seddon2001/isspa:v1.
  2. 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

  1. CodeServer:
    • Browser-based VS Code provides an easy-to-use alternative to traditional SSH.
    • Includes terminal access and port mapping.
  2. Nginx:
    • Resolves RosBridge port issues through reverse proxying and HTTP header modification.