Coder Social home page Coder Social logo

scratch's Introduction

Overview

Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.

If you would like to learn more about Spinnaker, please visit the Spinnaker website.

About Google Click to Deploy

Popular open stacks on Kubernetes packaged by Google.

Architecture

TODO: Create architecture diagram

Architecture diagram

This solution install a single instance of Spinnaker into a Kubernetes cluster. Our goal is to provide an easy initial installation experience, as well as an environment and workflow for ongoing management of Spinnaker by an individual or a team.

Spinnaker is composed of a number of individual micro services, and each will be deployed in their own Pods, managed by Deployment objects, behind Service objects.

Halyard is Spinnaker's configuration service and consists of a CLI and a daemon. The CLI will be installed in your Cloud Shell and the daemon will be installed in a Pod managed by a StatefulSet object.

Spin is Spinnaker's CLI. It will be installed in your Cloud Shell.

The Spinnaker solution will not be exposed to external traffic by default. A good initial step is accessing Spinnaker via port forwarding, and a script is included for automatically establishing port forwarding. In addition, the solution includes guidance and automation for exposing Spinnaker via a secure domain behind the Identity-Aware Proxy.

Installation

Quick install with Google Cloud Shell

You must use Google Cloud Shell to perform the installation.

Provision Spinnaker

Prerequisites

Set up command line tools

Cloud Shell has all the required tools pre-installed.

Create a Google Kubernetes Engine cluster

The Spinnaker installation process will create a new GKE cluster by default. If you would prefer to use an existing cluster, you must ensure that it has:

  • IP aliases enabled (since we are using a hosted Redis instance)
  • Full Cloud Platform scope for its nodes (if using the default service account)

Install the Solution

When you click on the "Open in Google Cloud Shell" button above, a tutorial pane will open with several copy/paste commands. As part of this process, a properties file will be generated. You can modify the values in the generated properties file to fine-tune the installation prior to launching the actual setup script.

When the initial installation process completes, you can use the remaining copy/paste commands to locate your Spinnaker deployment in the GKE Applications view, access Spinnaker via port-forwarding, expose Spinnaker securely, share Spinnaker with your teammates, and so on.

Ongoing Management of Spinnaker

The ongoing management workflow will be as follows:

  • Locate your Spinnaker installation by navigating to the newly-registered Kubernetes Application via the Applications view.
  • Click the link from the Spinnaker Application to open Cloud Shell and clone this repo
  • Ensure you are connected to the correct GKE cluster (that is, the one containing the Spinnaker deployment you intend to manage)
  • Pull all the config from the Spinnaker deployment into your Cloud Shell environment
  • Update the Cloud Shell tutorial pane to reflect the newly-pulled config
  • Make all of your changes using hal in Cloud Shell (often by simply copying & pasting commands); hal will apply its changes and perform its validation against a Halyard daemon running in Cloud Shell
  • Push your changes back to the Spinnaker deployment (a full config backup is implicitly pushed to a bucket as well)
  • Apply your changes to the Spinnaker deployment

There are scripts provided for each of these steps, and copy/paste commands and instructions are rendered in the Cloud Shell tutorial pane.

This approach allows for an Admin to manage multiple Spinnaker deployments, as the source of truth for the deployment's configuration is always the deployment itself. It also allows for easily sharing management of Spinnaker among multiple Admins.

scratch's People

Contributors

demobox avatar dorbin avatar spinnaker-ro avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.