hands-on lab

Spinnaker Pipelines - Deploying Resources into Kubernetes

Intermediate
2h
235
4.7/5
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Lab description

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

In this lab scenario, you'll first install and configure Spinnaker into its own dedicated Kubernetes cluster. Next, you'll setup and configure a Spinnaker Pipeline which when triggered deploys resources (simple echoserver web application) into a Staging Kubernetes cluster. Finally, you'll extend this Spinnaker build and deployment configuration by adding in two more Pipelines, a Manual Judgement based Pipeline, and a Production Pipeline which promotes/deploys the validated resources into a Production Kubernetes cluster.

Lab Objectives

Upon completion of this lab, you will be able to:

  • Use Halyard to setup, configure and deploy Spinnaker into its own dedicated Kubernetes cluster
  • Use the Spinnaker web application to:
    • Setup a Kubernetes deployment Pipeline to deploy resources (simple echoserver web application) stored in GitHub into a Staging Kubernetes cluster
    • Setup a Manual Judgement based Pipeline to manually approve the resources created in the Staging Kubernetes cluster.
    • Setup a Kubernetes deployment Pipeline to deploy the validated and approved resources (simple echoserver web application) into the Production Kubernetes cluster
  • Test and validate the Staging and Production deployed cluster resources using the curl command and the browser

You should:

  • Be comfortable with basic Linux command line administration
  • Be comfortable with basic Kubernetes and Container based concepts

Lab Environment

This lab will start with the following AWS resources provisioned automatically for you:

  • 4 x EC2 instances - each assigned a public IP address:
    • ide.cloudacademy.platform.instance - provides a web-based IDE with integrated termina
    • spinnaker.k8s.cloudacademy.platform.instance - Spinnaker will be installed into the running Kubernetes cluster hosted on this instance
    • staging.k8s.cloudacademy.platform.instance - used to simulate a Staging environment, contains a running Kubernetes cluster
    • prod.k8s.cloudacademy.platform.instance - used to simulate a Production environment, contains a running Kubernetes cluster

To achieve the lab end state, you will be walked through the process of:

  • Using your local workstation browser to remotely connect to the ide.cloudacademy.platform.instance
  • Using the web-based IDE and integrated terminal, you'll complete the remainder of the stated Lab Objectives (above)

Updates

December 29th, 2022 - Updated the instructions and screenshots to reflect the latest UI

August 24th, 2020 - Updated the GitHub repository link to point to the correct repo

About the author
Avatar
Jeremy Cook, opens in a new tab
Content Lead Architect
Students
158,785
Labs
80
Courses
106
Learning paths
213

Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.

Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS).

Covered topics
Lab steps
Logging In to the Amazon Web Services Console
Connecting to the CloudAcademy Web based IDE
Examine K8s Cluster Setup
Examine Sample Web Application
Configure and Deploy Spinnaker
Configure Spinnaker Ingress
Create Staging Pipeline
Execute Staging Pipeline
Create Manual Approval Pipeline
Create Production Pipeline
Execute Full Pipeline Setup