Skip to content

Kubernetes-based PaaS Platform Architecture

A Kubernetes-based PaaS (Platform as a Service) architecture extends the Kubernetes container orchestration system to create a complete software research, development, and deployment platform.^[400-devops__06-Kubernetes__k8s-paas__README.md]

Core Architecture

The platform is designed as a comprehensive ecosystem centered around the Kubernetes cluster.^[400-devops__06-Kubernetes__k8s-paas__README.md] Within this architecture, a wide array of infrastructure and tooling components are deployed directly onto the K8S cluster^[400-devops__06-Kubernetes__k8s-paas__README.md]. This design choice allows for the dynamic scaling of these services, as they run as containers within the cluster management environment rather than on static, separate servers.^[400-devops__06-Kubernetes__k8s-paas__README.md]

Key Components

The architecture integrates several critical tools to automate and manage the software delivery lifecycle:

  • Orchestration & Container Runtime: Utilizes Kubernetes for cluster management and [[Docker]] as the container engine.^[400-devops__06-Kubernetes__k8s-paas__README.md]
  • Registry & Storage: Employs Harbor as an enterprise-grade container registry and etcd for key-value storage.^[400-devops__06-Kubernetes__k8s-paas__README.md]
  • CI/CD:
    • Jenkins: Used for continuous integration and continuous construction/delivery.^[400-devops__06-Kubernetes__k8s-paas__README.md]
    • Spinnaker: Integrated for continuous delivery pipelines and deployment management.^[400-devops__06-Kubernetes__k8s-paas__README.md]
  • Configuration Management: Utilizes Apollo (specifically Apollo ConfigService, Portal, and AdminService) for centralized configuration management across microservices like Dubbo.^[400-devops__06-Kubernetes__k8s-paas__README.md]
  • Code Repositories: Supports GitLab and Gitee for version control.^[400-devops__06-Kubernetes__k8s-paas__README.md]
  • Monitoring & Observability:
    • Prometheus: Acts as the monitoring backbone for collecting Metrics from nodes, containers, and business applications.^[400-devops__06-Kubernetes__k8s-paas__README.md]
    • Grafana: Provides visualization for the Metrics collected by Prometheus.^[400-devops__06-Kubernetes__k8s-paas__README.md]
  • Logging: Integrates an ELK architecture (Elasticsearch, Logstash, Kibana) alongside Filebeat and Kafka for log aggregation and analysis.^[400-devops__06-Kubernetes__k8s-paas__README.md]
  • Service Discovery: Uses Zookeeper (specifically for Dubbo services) and CoreDNS.^[400-devops__06-Kubernetes__k8s-paas__README.md]

Operational Goals

The ultimate objective of this architecture is to achieve a high level of automation ("点点点" or "point-and-click") for deployment and maintenance operations.^[400-devops__06-Kubernetes__k8s-paas__README.md] By combining CI/CD pipelines with centralized configuration, monitoring, and logging, the platform aims to streamline the entire lifecycle from code commit to production deployment.

Sources

^[400-devops__06-Kubernetes__k8s-paas__README.md]