devops, oci, cloudnative,

DevOps on Steroids with Oracle Stack Part 2

Vamsi Vamsi Follow Apr 14, 2019 · 3 mins read
DevOps on Steroids with Oracle Stack Part 2
Share this

This post we primarily focus on setting up of pre-requisites for the end to end DevOps environment using Oracle Cloud. Link to Part 1(TL;DR)

Definition of Terms

  • Oracle Kubernetes Engine is a managed service for running Production Grade Highly Available Kubernetes Clusters
  • Oracle Developer Cloud Service is a managed service to streamline software development and delivery
  • Wercker aka Oracle Container Pipelines is a managed container native continuous integration and delivery platform
  • Helm and Tiller are Client-Side and Server-Side Package Management tools for Kubernetes through abstractions called Charts
  • Monocular is a Web-UI for Helm and Tiller.
  • Spinnaker is a battle-tested Continuous Deployment Platform

Initial Setup

Setup Oracle Kubernetes Engine

--> Through Console ( Involves Button Clicks )
Tutorial --> Through a Terraform Script Link

Setup Oracle Developer Cloud Service (Dev-CS) / Github

--> Here's an interactive tutorial to setup Dev-CS Link
--> Just to setup Github-HelloWorld

Setup Oracle Container Pipelines / Wercker Account It’s Free!!

--> Here's a detailed tutorial on setting up your first Container Native Pipeline

Setting up Helm

Windows

  1. Install Choco — Package Manager Tutorial
  2. Open Powershell as Administrator and run the following commands

    choco install kubernetes-clichoco install kubernetes-helm

3. Setup the “kubeconfig” env variable to point to the directory where the file is downloaded.

1) Right Click My Computer → Properties → Advanced System Settings → Environment Variables → System variables → “KUBECONFIG” 
2) Right Click My Computer → Properties → Advanced System Settings → Environment Variables → User variables → “KUBECONFIG”

If you don’t have the kubeconfig file of Oracle Kubernetes Engine and don’t know how to download it please use this link

The Oracle Kubernetes Engine comes installed with Tiller, hence there is no need to install it separately, however, to ensure that the tiller pod is up to date

helm init 
helm init --upgrade --service-account tiller

Linux

Install and configure kubectl and helm on linux

Kubectl : LinkHelm : Link

Post Installation

helm init
helm init --upgrade --service-account tiller

Make Kubernetes Cloud Infrastructure Aware

Flex Volume Drivers and Provisioners: The FlexVolume Plugins and Provisioners provide Kubernetes the capability to become infrastructure aware, this usually comes pre-configured in the Oracle Kubernetes Engine. In case you don’t use the managed service and you’ve set it up the hard way, use links below to make Kubernetes, Cloud Infrastructure Aware

OCI Flex Volume Driver Install - LinkOCI Flex Volume Provisioner Install - Link

Set up Monocular

Monocular provides a Search and Discovery UI for Helm Repositories, Releases and Deployments and comes with a few simple and easy to use features. To install Monocular simply run the command

Read More about Monocular

1)Install an NGINX Ingress
helm install stable/nginx-ingress

2)Install Monocular
helm repo add monocular https://helm.github.io/monocularhelm install monocular/monocular

Setup Spinnaker

To be precise, Spinnaker would be a centralized task runner across all your Kubernetes clusters and the container pipelines and git repos. The best practice is to run spinnaker on a separate cluster and all other workloads in another cluster.

helm install --name spinnaker-test --namespace spinnaker stable/spinnaker --timeout 600

Spinnaker installation and setup could take quite sometime and hence timeout is specified to handle a fall back.

The methodology to tie all these tools together will be discussed in detail on the next post.

Join Newsletter
Get the latest news right in your inbox. We never spam!
Vamsi
Written by Vamsi Follow
Delighting Enterprise Customers with elegantly architected solutions on Oracle Cloud.