SF Bay Area OpenStack Meetup Stacki Presentation

Preview:

Citation preview

Introduction to Stacki

Greg Bruno, PhDVP Engineering, StackIQ

Open Source Stack Installer

Stacki is a very fast and ultra reliable Linux server provisioning tool … at scale. With zero prerequisites for taking systems from bare metal to a ping and prompt.

How We Solve the Problem

Stacki Positioning

DevOps / Configuration Tool

DHCP /DNS / TFTPNetworkDiskOS

In-housedevelopeddeployment

tools

- Disk Array Controller Configuration- Disk Partitioning Configuration

Datacenter Architecture

Frontend

Network

Backend Backend Backend Backend

em1 em1em1 em1

em1

Download and Boot the ISO

Go to www.stacki.com and download the ISO ◦  It’s 1.2 GB ◦  “stacki” pallet plus stripped down CentOS 6.7

Boot the ISO on the host that will be your frontend

Frontend Services

Services to build backend nodes ◦  DHCP ◦  TFTP ◦  Named (optional)

Services to access backend nodes ◦  SSH key management ◦  Parallel execution shell

Host Configuration Spreadsheet

Frontend

Network

Backend Backend Backend Backend

em1 em1em1 em1

em1

Backend Installation

Save your Host Configuration spreadsheet as a CSV Import CSV on frontend ◦  “stack load hostfile file=hosts.csv”

Tell backend nodes to install on their next PXE boot ◦  “stack set host boot backend action=install”

PXE boot all backend nodes Done!

BitTorrent-Inspired Package Installation

Stacki

Customizing Your Hosts

Advanced Networking

Via Host Configuration spreadsheet, you can configure: ◦  Bonded interfaces ◦  VLANs ◦  Bridging ◦  Any combo of the above

Manage hosts in multiple subnets ◦  Build a single cluster from hosts in multiple subnets ◦  Manage hosts in multiple datacenters

Host Configuration Spreadsheet

Disk Controller Configuration Spreadsheet

Disk Partition Configuration Spreadsheet

Multiple Distributions

A frontend houses a default distribution ◦  Based on stripped down CentOS 6.7 or 7.2 ◦  Used to build backend nodes

Can add any number of new distributions to a frontend ◦  E.g., RHEL 6.x based distro, CentOS 6.5, etc.

Assign any backend node to any distro

Because my kid just went to college

Ubuntu

 Current support for Ubuntu 16.04 (Xenial Xerus)

 Backend nodes only ◦  Frontend runs CentOS

 Simple backend configuration ◦ Single disk ◦ Single network

UEFI

 Next gen BIOS  StackIQ customers asking for this  Really hard for end users

 iPXE ◦  HTTP ◦  More Scalable ◦  More Fault tolerant

 DHCP-less environments

REST Interface

 Stacki has a rich command line

 Now coupled with a REST interface ◦  Authenticated ◦  Access to all commands ◦  Except a few on the “naughty list”

Baseboard Management

 Whitebox ◦  Serial console ◦  Power on / off ◦  Next boot action ◦  Serial console

 Proprietary (Dell, HP) ◦  Firmware updates ◦  Remote virtual console ◦  Boot order

Multiple Versions

 Open Source ◦ RHEL/CentOS 6.x FEs build 6.x BEs ◦ RHEL/CentOS 7.x FEs build 7.x BEs

 Stacki Pro - Cross Building ◦ RHEL/CentOS 7.x FEs build 7.x and 6.x BEs

Discover Hardware Capabilities

 Collect MAC addresses and build a “skeleton” host configuration spreadsheet ◦ All ethernet networks ◦ BMCs ◦ Host-based VLANs ◦ Bonding

In the pipeline

High Availability for Frontends

 Active/Passive Configuration ◦ Dedicated passive frontend server Poll / Mirror database changes ◦ Mirror software repositories ◦ Git checkout latest config profiles Heartbeat protocol to determine when active dies

Storage System Pallets

 Track HW / SW deltas over time

 Software Example: ◦ Poll RPM changes on nodes ◦ Compare to t=0 ◦ Compare to software repository ◦  Log everything in DB

 “Pallet to Dumpster”

Life Cycle Management

Try It Out

stacki.com

Download - www.stacki.com

Source & Docs - github.com/StackIQ/stacki/wiki

Discuss - groups.google.com/forum/#!forum/stacki