"Linux" "Services" "SaaS" Spinnaker

Source: Internet
Author: User

Tags: class access LAN PIP component trigger open source project configuration ring

1. Introduction

1.1. Description:

Spinnaker is an open source project for Netflix and a continuous delivery platform that is positioned to quickly and consistently deploy products to multiple cloud platforms. Spinnaker streamlines the deployment process by decoupling releases from each cloud platform, reducing the complexity of platform migrations or the use of a cloudy desktop deployment, which natively supports Google, AWS EC2, Microsoft Azure, Kubernetes, and A cloud platform such as OpenStack, and it seamlessly integrates with other continuous integration (CI) processes such as Git, Jenkins, Travis CI, Docker Registry, Cron Scheduler, and more. In short, Spinnaker is a platform dedicated to delivering out-of-the-box cluster management and deployment capabilities across multiple platforms.

1.2. Official website:

Https://www.spinnaker.io

1.3. Ebook

https://www.spinnaker.io/ebook/#continuous-delivery-with-spinnaker

1.4. Reference Articles

78717151

2. Architecture

2.1. Micro-Service Description

Component Name Component description Port
Deck The browser-based UI 9000
Gate The API Gateway. The Spinnaker UI and all APIs callers communicate with Spinnaker via Gate 8084
Orca The orchestration engine. It handles all AD-HOC operations and pipelines. 8083
Clouddriver Responsible for all mutating calls to the cloud providers and for indexing/caching all deployed resources. 7002
Front50 Used to persist the metadata of applications, pipelines, projects and notifications. 8080
Rosco

The bakery.

It's used to produce machines images (for example GCE images, AWS AMIs, Azure VM images). It currently wraps Packer, but would be a expanded to support additional mechanisms for producing images.

8087
Igor Used to trigger pipelines via continuous integration jobs in systems like Jenkins and Travis CI, and it allows Jenkins/tra Vis stages to being used in pipelines. 8088
Echo

Spinnaker ' s eventing bus.

It supports sending notifications (e.g. Slack, email, hipchat, SMS), and acts on incoming webhooks from services like Gith Ub.

8089
Fiat

Spinnaker ' s authorization service.

It is used to query a user's access permissions for accounts, applications and service accounts.

7003
Kayenta Provides automated canary Analysis for Spinnaker. 8064
Halyard

Spinnaker ' s Configuration service.

Halyard manages the lifecycle of each of the above services. It is interacts with these services during Spinnaker startup, updates, and rollbacks.

8090

2.2. System Dependencies

2.3. Architecture: Cluster management and deployment management

Cluster management is primarily used to manage resources on the cloud, and it is divided into the following blocks:

    • Server Group: Service groups, which are resource management units, identify deployable components and underlying configuration settings, and associate a load balancer and security group, when deployed, the service group is equivalent to a set of running instances of the software instance (VM instance, Kubernetes pods).
    • Cluster: A cluster, a user-defined, logical grouping of service groups.
    • Applications: Application is a logical grouping of clusters.
    • Load Balancer: Loads balanced to redirect external network traffic to machine instances in a service group, and you can also specify a set of rules for health monitoring of machine instances in a service group.
    • Security group, which defines the network access rights, a firewall rule consisting of IP, port, and communication protocols.

The deployment management feature is used to create a continuous delivery process, which can be divided into pipelines and phases.

    • Pipeline

      The core of deployment management is the pipeline, in the definition of spinnaker, the pipeline consists of a series of stages (stages). The pipeline can be manually triggered or configured to trigger automatically, such as when the Jenkins Job is completed and when the Docker Images is uploaded to the warehouse, a CRON timer, a stage in another pipeline. At the same time, pipelines can configure parameters and notifications to send mail messages when they are executed at some stage of the pipeline. Spinnaker has built in some stages, such as executing a custom script, triggering a Jenkins task, and so on.

    • Stage

      Stage in Spinnaker, it can be used as a function of the automatic building module of the pipeline. We can define the execution order of each stage in the pipeline arbitrarily. Spinnaker provides a number of stages for us to choose from, such as performing a release (Deploy), executing a custom script, triggering the Jenkins Task (Jenkins), and so on, with a powerful feature.

    • Deployment policy

      Spinnaker supports granular deployment strategies such as red/black (blue/green) deployment, multi-stage environment deployment, rolling red/Black Strategy, Canary Publishing, and more. Users can use different deployment strategies for each environment, for example, the test environment can use red/black policies, the production environment uses the rolling red/black strategy, it encapsulates the necessary steps, the user does not need complex operations, you can achieve enterprise-level online.

"Linux" "Services" "SaaS" Spinnaker

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

Tags Index: