Skip to content

Spinnaker architecture

Spinnaker is an open-source, continuous delivery platform that provides flexible and configurable pipelines for automated deployment^[400-devops__06-Kubernetes__k8s-paas__08.spinaker部署与应用.md:55-56]. Its primary function is to manage cloud resources, specifically Infrastructure as a Service (IaaS) resources, and to manage the deployment of containers (such as those created by Jenkins) into Kubernetes clusters^[400-devops__06-Kubernetes__k8s-paas__08.spinaker部署与应用.md:63-65].

Core Microservices

Spinnaker is composed of several microservices, each handling a specific aspect of the CD process^[400-devops__06-Kubernetes__k8s-paas__08.spinaker部署与应用.md:71-91].

  • Deck: The web UI, referred to as the "click-click-click" page, which serves as the user interface for the platform^[400-devops__06-Kubernetes__k8s-paas__08.spinaker部署与应用.md:72-73].
  • Gate: The API gateway that acts as the entry point for external requests^[400-devops__06-Kubernetes__k8s-paas__08.spinaker部署与应用.md:74-75].
  • Igor: A component responsible for communicating with external build systems like Jenkins^[400-devops__06-Kubernetes__k8s-paas__08.spinaker部署与应用.md:76-77].
  • Echo: The messaging and notification component^[400-devops__06-Kubernetes__k8s-paas__08.spinaker部署与应用.md:78-79].
  • Orca: The task orchestration engine that controls the execution of pipelines and stages^[400-devops__06-Kubernetes__k8s-paas__08.spinaker部署与应用.md:80-81].
  • Clouddriver: The component responsible for interacting with and managing cloud infrastructure providers^[400-devops__06-Kubernetes__k8s-paas__08.spinaker部署与应用.md:82-83].
  • Front50: The component that manages persistent data, such as pipeline configurations and application settings^[400-devops__06-Kubernetes__k8s-paas__08.spinaker部署与应用.md:84-85].

Infrastructure Dependencies

In addition to its core microservices, Spinnaker relies on several supporting services to function^[400-devops__06-Kubernetes__k8s-paas__08.spinaker部署与应用.md:86-91].

  • Redis: Used for caching and transient data storage.
  • Minio: An S3-compatible object storage service used by Front50 to persist configuration and pipeline data.

Deployment Architecture

In a typical deployment (such as the Armory distribution on Kubernetes), Spinnaker services are exposed behind an Nginx proxy^[400-devops__06-Kubernetes__k8s-paas__08.spinaker部署与应用.md:91]. Nginx serves the static frontend assets from Deck and proxies API requests to the Gate service^[400-devops__06-Kubernetes__k8s-paas__08.spinaker部署与应用.md:91].

Sources

^[400-devops__06-Kubernetes__k8s-paas__08.spinaker部署与应用.md]