Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
__test__
terraform-microservice-ecommerce
xebialabs
README.md
blueprint.yaml
xebialabs.yaml

README.md

Microservice Application on Azure Kubernetes Service

Introduction

Azure Kubernetes Service (AKS) allows you to deploy, manage, and scale containerized applications in the cloud using Kubernetes.

Use this blueprint to deploy a sample microservice-based application on AKS using Terraform, which defines the infrastructure that will run on AKS. The release template that the blueprint generates connects to an existing AKS cluster or provisions a new cluster and deploys a sample application to it.

Before you get started

If you're new to XebiaLabs blueprints, check out:

Prerequisites

  • XebiaLabs Release Orchestration and Deployment Automation up and running
    • Azure credentials that allow creating the infrastructure
  • A Jenkins server up and running (only if you want to publish your own Docker images)

Special instructions

  1. Fork the https://github.com/xebialabs/e-commerce-microservice repository
  2. Clone your fork of the repository
  3. Check out the gke-blueprint branch:
    git co -b gke-blueprint origin/gke-blueprint
    

For more detailed instructions, see Deploy an app to AWS using a blueprint Note: This blueprint uses the same branch as the Google GKE example

Security warning

This blueprint will store your Azure credentials as well as the cluster password token and the store admin password in plain text in a file called xebialabs/secrets.xlvals. This is not production-level secure. If you wish to use a more secure method for dealing with secrets and passwords, refer to the showcases/dictionaries-and-secret-stores blueprint for a demonstration that uses CyberArk Conjur or HashiCorp Vault to better store and handle secrets.

Usage

To use this blueprint, run xl blueprint in the forked e-commerce-microservice directory of the repository you just cloned and select:

azure/microservice-ecommerce

Tools and technologies

This blueprint includes the following tools and technologies:

Minimum required versions

This blueprint version requires at least the following versions of the specified tools to work properly:

  • XL Release: Version 9.0
  • XL Deploy: Version 9.0
  • XL CLI: Version 9.0

Information required

  • Azure Credentials
  • Azure Resource Group
  • Azure Region
  • The AKS cluster endpoint, if you are deploying to an existing cluster
  • Azure Storage Account for the Terraform state, if creating a new cluster
  • Kubernetes cluster credentials
  • The Kubernetes namespace

Output

  • Release templates
  • Terraform templates
  • Infrastructure:
    • AKS cluster (master, nodes)
    • Security infrastructure
  • A docker-compose setup for XL Release, XL Deploy and Jenkins

Notes

  • If you opt to use Jenkins in the release template that this blueprint generates, before you run the xl apply command, define a Jenkins server as a shared configuration in XL Release and put its name in the xlr-pipeline-ci-cd.yaml file. If you use the provided docker-compose files this will be automatically setup for you.
  • The YAML that the blueprint generates includes optional steps to remove the application and deprovision the cluster.

Labels

  • Cloud
  • Azure
  • Kubernetes
  • Terraform
You can’t perform that action at this time.