SlideShare a Scribd company logo
1 of 23
Download to read offline
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
CloudStack
&
Terraform
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
Terraform?
➞ Provisioning
➞ Management
➞ on CloudStack
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
➞ Heinlein Support
➞ IT Consulting with 24/7 Linux support team (35 staff)
➞ Running ISP operations since 1992
➞ Vast experience of supporting core IT services for business of all sizes
➞ 24/7 Emergency Hotline: +49 30 40 50 5110
➞ LPIC-2 & LPIC-3-certified experts
➞ Competent to advise on any issues around Linux, servers, or DMZ
➞ Deals with incidents: Down times, Performance issues, Hacking attacks, Data loss
➞ Offers strategic advice: Revision, Planning, Consultancy, Configuration advice
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
Part 1:
Terraform
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
Terraform
What does it offer?
➞ Infrastructure as Code
➞ high level configuration syntax as blueprint of data center
➞ Execution Plans
➞ show changes before being applied
➞ Resource Graph
➞ parallelization of execution where possible
➞ Change Automation
➞ minimal interaction
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
Terraform
Where does it come from?
➞ created by HashiCorp
➞ also: Vagrant, Packer, Consul, Vault, Nomad, Serf, Sentinel
➞ initial release July 2014
➞ current release 0.12.21, February 2020
➞ written in Go
➞ https://github.com/hashicorp/terraform
➞ https://www.terraform.io/
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
Terraform
Why do I use it?
➞ I'm trainer for Ceph
➞ every student needs the same environment
➞ 6 - 12 VMs per environment, depending on course content
➞ up to 9 students plus trainer
➞ too much manual work
➞ we have CloudStack
➞ there's a CloudStack provider for Terraform
➞ https://www.terraform.io/docs/providers/cloudstack/index.html
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
Terraform
What can it do?
➞ Providers
provider "cloudstack" {
api_url = …
api_key = …
secret_key = …
}
➞ Resources
➞ "create things" depending on provider
➞ Modules
➞ Input Variables
➞ contain one or more resource definitions
➞ Output Values
➞ Variables
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
Terraform
What can it do?
➞ create network
resource "cloudstack_network" "net-01" {
zone = zone UUID
project = project UUID
name = "ceph-tn${var.student}-public"
display_text = "Ceph Academy TN ${var.student} Public"
cidr = "10.24.4.0/24"
network_domain = "ceph.heinlein-akademie.de"
network_offering = offering UUID
}
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
Terraform
What can it do?
➞ create instance
resource "cloudstack_instance" "vm" {
zone = zone UUID
project = project UUID
network_id = network UUID
ip_address = IP UUID
name = var.name
display_name = "TN ${var.student} ${var.name}"
service_offering = offering UUID
template = template UUID
keypair = var.keypair
expunge = true
}
➞
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
Terraform
What can it do?
➞ create disk volume
resource "cloudstack_disk" "disk-01" {
name = "tn${var.student}-${cloudstack_instance.vm.name}-01"
zone = zone UUID
project = project UUID
disk_offering = offering UUID
virtual_machine_id = cloudstack_instance.vm.id
attach = true
device_id = 4
}
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
Terraform
Afterwards
➞ Terraform does nothing inside the created VMs
➞ Ansible
➞ SaltStack
➞ Puppet
➞ Chef
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
Terraform Modules
➞ sub directories with main.tf
➞ terraform init after changing modules
➞ .
├── ceph-academy.tf
├── cephnode
│   └── main.tf
├── clientnode
│   └── main.tf
├── student
│   └── main.tf
└── variables.tf
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
Terraform
Projects
➞ Terraform directory ⇔ CloudStack project
➞ Terraform reads every .tf file in current working directory
➞ Terraform creates execution plan
➞ Terraform applies all changes
➞ adds new instances
➞ removes instances not in config any more
➞ state is saved in terraform.tfstate
➞ terraform refresh
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
Part 1:
Demo
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
instance.tf_init.tf
Simple Example
provider
"cloudstack"
resource
"cloudstack_ssh_keypair"
"rsander"
resource
"cloudstack_instance"
"instance01"
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
student/main.tfceph-academy.tf
Ceph Academy Example
provider
"cloudstack"
resource
"ssh_keypair"
"rsander"
resource
"cloudstack_network"
"public-net"
module
"trainer"
source = ./student
module
"student01"
source = ./student
resource
"cloudstack_network"
"cluster-net"
module
"ceph01"
source = ../cephnode
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
student/main.tf cephnode/main.tf
Ceph Academy Example
resource
"cloudstack_instance"
"vm"
resource
"cloudstack_network"
"public-net"
resource
"cloudstack_network"
"cluster-net"
resource
"cloudstack_nic"
"eth1"
resource
"cloudstack_disk"
"disk-01"
resource
"ssh_keypair"
"rsander"
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
➞ I am always happy to help and look forward to connecting with
you.
➞ Robert Sander
➞ Mail: r.sander@heinlein-support.de
➞ Phone: +49 30 40 50 51 43
➞ If it's urgent:
➞ Heinlein Support 24/7 Emergency hotline +49 30 40 50 5110
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
So far, so good.
Now it is your turn:
Time for questions and discussions!
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
We are looking for:
Administrators, consultants, and trainers
We are offering:
Interesting projects, appreciation and customer satisfaction,
opportunities to work independently, a great team, work-life
balance
...and of course: Linux, Linux, Linux...
http://www.heinlein-support.de/jobs
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
And finally...
➞ Thank you for your attention!
➞ We hope you had a productive day and wish you the best of
success
Hope to see you again soon!
Linux höchstpersönlich.
CloudStack & Terraform
[CloudStack EUG Meetup 2020]
Robert Sander <r.sander@heinlein-support.de>
Heinlein Support assists with all questions
around Linux servers
HEINLEIN AKADEMIE
Professional training by professionals: We convey the top
10% of knowledge: Acquire useful know-how and benefit
from our extensive practical experience.
HEINLEIN CONSULTING
The backup for your own Linux administration: LPIC-2-
certified professionals help with your CompetenceCall
emergencies, also available on SLAs covering 24/7-
availability.
HEINLEIN HOSTING
Business hosting tailored to your needs and professional
maintenance. Security and availability are our top
priorities.

More Related Content

What's hot

What's hot (20)

CloudStack EU User Group - Making stuff better through CloudStack
CloudStack EU User Group - Making stuff better through CloudStackCloudStack EU User Group - Making stuff better through CloudStack
CloudStack EU User Group - Making stuff better through CloudStack
 
Policy driven SDN in CloudStack
Policy driven SDN in CloudStack Policy driven SDN in CloudStack
Policy driven SDN in CloudStack
 
CloudStack IPv6 in production
CloudStack IPv6 in productionCloudStack IPv6 in production
CloudStack IPv6 in production
 
Telia latvija cloudstack
Telia latvija cloudstackTelia latvija cloudstack
Telia latvija cloudstack
 
Improving CloudStack for operators
Improving CloudStack for operatorsImproving CloudStack for operators
Improving CloudStack for operators
 
Cloud stack user group - Welcome
Cloud stack user group -  WelcomeCloud stack user group -  Welcome
Cloud stack user group - Welcome
 
CloudStack news
CloudStack newsCloudStack news
CloudStack news
 
CloudStack Container Service
CloudStack Container ServiceCloudStack Container Service
CloudStack Container Service
 
Introduction and news
Introduction and newsIntroduction and news
Introduction and news
 
Designing Lean CloudStack Environments for the Edge - IndiQus - CloudStack E...
 Designing Lean CloudStack Environments for the Edge - IndiQus - CloudStack E... Designing Lean CloudStack Environments for the Edge - IndiQus - CloudStack E...
Designing Lean CloudStack Environments for the Edge - IndiQus - CloudStack E...
 
Containers and CloudStack
Containers and CloudStackContainers and CloudStack
Containers and CloudStack
 
Introduction and CloudStack news
Introduction and CloudStack newsIntroduction and CloudStack news
Introduction and CloudStack news
 
Simplifying the Move to OpenStack
Simplifying the Move to OpenStackSimplifying the Move to OpenStack
Simplifying the Move to OpenStack
 
[OpenStack Day in Korea 2015] Track 2-6 - Apache Tajo on Swift
[OpenStack Day in Korea 2015] Track 2-6 - Apache Tajo on Swift[OpenStack Day in Korea 2015] Track 2-6 - Apache Tajo on Swift
[OpenStack Day in Korea 2015] Track 2-6 - Apache Tajo on Swift
 
Introductions & CloudStack news - Giles Sirett
Introductions & CloudStack news - Giles SirettIntroductions & CloudStack news - Giles Sirett
Introductions & CloudStack news - Giles Sirett
 
CloudStack EU user group - fast SAP provisioning
CloudStack EU user group - fast SAP provisioningCloudStack EU user group - fast SAP provisioning
CloudStack EU user group - fast SAP provisioning
 
Fast SAP system provisioning based on CloudStack
Fast SAP system provisioning based on CloudStack Fast SAP system provisioning based on CloudStack
Fast SAP system provisioning based on CloudStack
 
[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot
[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot
[OpenStack Day in Korea 2015] Track 2-2 - OpenStack for PaaS: Why it's Hot
 
Meshing OpenStack and Bare Metal Networks with EVPN - David Iles, Mellanox Te...
Meshing OpenStack and Bare Metal Networks with EVPN - David Iles, Mellanox Te...Meshing OpenStack and Bare Metal Networks with EVPN - David Iles, Mellanox Te...
Meshing OpenStack and Bare Metal Networks with EVPN - David Iles, Mellanox Te...
 
Adam Dagnall: Advanced S3 compatible storage integration in CloudStack
Adam Dagnall: Advanced S3 compatible storage integration in CloudStackAdam Dagnall: Advanced S3 compatible storage integration in CloudStack
Adam Dagnall: Advanced S3 compatible storage integration in CloudStack
 

Similar to Robert Sander: CloudStack and Terraform

Similar to Robert Sander: CloudStack and Terraform (20)

Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes
 
Exploring Phantom Traffic Jams in Your Data Flows
Exploring Phantom Traffic Jams in Your Data Flows Exploring Phantom Traffic Jams in Your Data Flows
Exploring Phantom Traffic Jams in Your Data Flows
 
CEPH DAY BERLIN - UNLIMITED FILESERVER WITH SAMBA CTDB AND CEPHFS
CEPH DAY BERLIN - UNLIMITED FILESERVER WITH SAMBA CTDB AND CEPHFSCEPH DAY BERLIN - UNLIMITED FILESERVER WITH SAMBA CTDB AND CEPHFS
CEPH DAY BERLIN - UNLIMITED FILESERVER WITH SAMBA CTDB AND CEPHFS
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
 
A hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stackA hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stack
 
From Zero to Hero - Nexinto
From Zero to Hero - NexintoFrom Zero to Hero - Nexinto
From Zero to Hero - Nexinto
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
 
Apache Spark with Hortonworks Data Platform - Seattle Meetup
Apache Spark with Hortonworks Data Platform - Seattle MeetupApache Spark with Hortonworks Data Platform - Seattle Meetup
Apache Spark with Hortonworks Data Platform - Seattle Meetup
 
AKS - Azure Kubernetes Services 101
AKS - Azure Kubernetes Services 101AKS - Azure Kubernetes Services 101
AKS - Azure Kubernetes Services 101
 
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAconCloud-native .NET-Microservices mit Kubernetes @BASTAcon
Cloud-native .NET-Microservices mit Kubernetes @BASTAcon
 
Steeltoe Meetup Toronto 4-18-2017
Steeltoe Meetup Toronto 4-18-2017Steeltoe Meetup Toronto 4-18-2017
Steeltoe Meetup Toronto 4-18-2017
 
Was is Docker? Or: Docker for Software Developers
Was is Docker? Or: Docker for Software DevelopersWas is Docker? Or: Docker for Software Developers
Was is Docker? Or: Docker for Software Developers
 
High-Performance FAAS with Nuclio
High-Performance FAAS with NuclioHigh-Performance FAAS with Nuclio
High-Performance FAAS with Nuclio
 
Connect Everything with NATS - Cloud Expo Europe
Connect Everything with NATS - Cloud Expo EuropeConnect Everything with NATS - Cloud Expo Europe
Connect Everything with NATS - Cloud Expo Europe
 
TIAD 2016 : Real-Time Data Processing Pipeline & Visualization with Docker, S...
TIAD 2016 : Real-Time Data Processing Pipeline & Visualization with Docker, S...TIAD 2016 : Real-Time Data Processing Pipeline & Visualization with Docker, S...
TIAD 2016 : Real-Time Data Processing Pipeline & Visualization with Docker, S...
 
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
 
London HUG 12/4
London HUG 12/4London HUG 12/4
London HUG 12/4
 
Machine Learning in the Enterprise 2019
Machine Learning in the Enterprise 2019   Machine Learning in the Enterprise 2019
Machine Learning in the Enterprise 2019
 
Introduction to TensorFlow
Introduction to TensorFlowIntroduction to TensorFlow
Introduction to TensorFlow
 
Openstack Benelux Conference 2014 Red Hat Keynote
Openstack Benelux Conference 2014  Red Hat KeynoteOpenstack Benelux Conference 2014  Red Hat Keynote
Openstack Benelux Conference 2014 Red Hat Keynote
 

More from ShapeBlue

More from ShapeBlue (20)

CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlueCloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
 
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlueCloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
 
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
 
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlueVM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
 
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHubHow We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
 
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
 
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
 
How We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIO
How We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIOHow We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIO
How We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIO
 
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
 
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
 
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
 
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
 
Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...
Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...
Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...
 
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
 
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
 
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
 
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
 
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
 
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
 
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

Robert Sander: CloudStack and Terraform

  • 1. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> CloudStack & Terraform
  • 2. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> Terraform? ➞ Provisioning ➞ Management ➞ on CloudStack
  • 3. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> ➞ Heinlein Support ➞ IT Consulting with 24/7 Linux support team (35 staff) ➞ Running ISP operations since 1992 ➞ Vast experience of supporting core IT services for business of all sizes ➞ 24/7 Emergency Hotline: +49 30 40 50 5110 ➞ LPIC-2 & LPIC-3-certified experts ➞ Competent to advise on any issues around Linux, servers, or DMZ ➞ Deals with incidents: Down times, Performance issues, Hacking attacks, Data loss ➞ Offers strategic advice: Revision, Planning, Consultancy, Configuration advice
  • 4. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> Part 1: Terraform
  • 5. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> Terraform What does it offer? ➞ Infrastructure as Code ➞ high level configuration syntax as blueprint of data center ➞ Execution Plans ➞ show changes before being applied ➞ Resource Graph ➞ parallelization of execution where possible ➞ Change Automation ➞ minimal interaction
  • 6. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> Terraform Where does it come from? ➞ created by HashiCorp ➞ also: Vagrant, Packer, Consul, Vault, Nomad, Serf, Sentinel ➞ initial release July 2014 ➞ current release 0.12.21, February 2020 ➞ written in Go ➞ https://github.com/hashicorp/terraform ➞ https://www.terraform.io/
  • 7. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> Terraform Why do I use it? ➞ I'm trainer for Ceph ➞ every student needs the same environment ➞ 6 - 12 VMs per environment, depending on course content ➞ up to 9 students plus trainer ➞ too much manual work ➞ we have CloudStack ➞ there's a CloudStack provider for Terraform ➞ https://www.terraform.io/docs/providers/cloudstack/index.html
  • 8. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> Terraform What can it do? ➞ Providers provider "cloudstack" { api_url = … api_key = … secret_key = … } ➞ Resources ➞ "create things" depending on provider ➞ Modules ➞ Input Variables ➞ contain one or more resource definitions ➞ Output Values ➞ Variables
  • 9. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> Terraform What can it do? ➞ create network resource "cloudstack_network" "net-01" { zone = zone UUID project = project UUID name = "ceph-tn${var.student}-public" display_text = "Ceph Academy TN ${var.student} Public" cidr = "10.24.4.0/24" network_domain = "ceph.heinlein-akademie.de" network_offering = offering UUID }
  • 10. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> Terraform What can it do? ➞ create instance resource "cloudstack_instance" "vm" { zone = zone UUID project = project UUID network_id = network UUID ip_address = IP UUID name = var.name display_name = "TN ${var.student} ${var.name}" service_offering = offering UUID template = template UUID keypair = var.keypair expunge = true } ➞
  • 11. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> Terraform What can it do? ➞ create disk volume resource "cloudstack_disk" "disk-01" { name = "tn${var.student}-${cloudstack_instance.vm.name}-01" zone = zone UUID project = project UUID disk_offering = offering UUID virtual_machine_id = cloudstack_instance.vm.id attach = true device_id = 4 }
  • 12. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> Terraform Afterwards ➞ Terraform does nothing inside the created VMs ➞ Ansible ➞ SaltStack ➞ Puppet ➞ Chef
  • 13. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> Terraform Modules ➞ sub directories with main.tf ➞ terraform init after changing modules ➞ . ├── ceph-academy.tf ├── cephnode │   └── main.tf ├── clientnode │   └── main.tf ├── student │   └── main.tf └── variables.tf
  • 14. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> Terraform Projects ➞ Terraform directory ⇔ CloudStack project ➞ Terraform reads every .tf file in current working directory ➞ Terraform creates execution plan ➞ Terraform applies all changes ➞ adds new instances ➞ removes instances not in config any more ➞ state is saved in terraform.tfstate ➞ terraform refresh
  • 15. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> Part 1: Demo
  • 16. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> instance.tf_init.tf Simple Example provider "cloudstack" resource "cloudstack_ssh_keypair" "rsander" resource "cloudstack_instance" "instance01"
  • 17. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> student/main.tfceph-academy.tf Ceph Academy Example provider "cloudstack" resource "ssh_keypair" "rsander" resource "cloudstack_network" "public-net" module "trainer" source = ./student module "student01" source = ./student resource "cloudstack_network" "cluster-net" module "ceph01" source = ../cephnode
  • 18. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> student/main.tf cephnode/main.tf Ceph Academy Example resource "cloudstack_instance" "vm" resource "cloudstack_network" "public-net" resource "cloudstack_network" "cluster-net" resource "cloudstack_nic" "eth1" resource "cloudstack_disk" "disk-01" resource "ssh_keypair" "rsander"
  • 19. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> ➞ I am always happy to help and look forward to connecting with you. ➞ Robert Sander ➞ Mail: r.sander@heinlein-support.de ➞ Phone: +49 30 40 50 51 43 ➞ If it's urgent: ➞ Heinlein Support 24/7 Emergency hotline +49 30 40 50 5110
  • 20. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> So far, so good. Now it is your turn: Time for questions and discussions!
  • 21. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> We are looking for: Administrators, consultants, and trainers We are offering: Interesting projects, appreciation and customer satisfaction, opportunities to work independently, a great team, work-life balance ...and of course: Linux, Linux, Linux... http://www.heinlein-support.de/jobs
  • 22. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> And finally... ➞ Thank you for your attention! ➞ We hope you had a productive day and wish you the best of success Hope to see you again soon!
  • 23. Linux höchstpersönlich. CloudStack & Terraform [CloudStack EUG Meetup 2020] Robert Sander <r.sander@heinlein-support.de> Heinlein Support assists with all questions around Linux servers HEINLEIN AKADEMIE Professional training by professionals: We convey the top 10% of knowledge: Acquire useful know-how and benefit from our extensive practical experience. HEINLEIN CONSULTING The backup for your own Linux administration: LPIC-2- certified professionals help with your CompetenceCall emergencies, also available on SLAs covering 24/7- availability. HEINLEIN HOSTING Business hosting tailored to your needs and professional maintenance. Security and availability are our top priorities.