Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
vMATechCon
2019 #vmatechcon2019
SDDC Deployment met Ansible en Terraform
• Rob van der Wouw
• Robin van Altena
vMATechCon
2019 #vmatechcon2019
Rob van der Wouw
• Infrastructuur consultant op het gebied van Netwerken en Virtualisatie.
Robin van Altena
• Infrastructuur consultant op het gebied van Server- en Netwerkvirtualisatie.
vMATechCon
2019 #vmatechcon2019
Agenda
• Intro
• Ansible t.o.v. Terraform
• Wat doen we met Ansible en hoe
• Wat doen we met Terraform en hoe
• Conclusie en vragen
• Links
vMATechCon
2019 #vmatechcon2019
Intro
• Waarom zijn we hiermee gestart? • Opdracht voor bouwen SDDC
• Wat willen we bereiken? • Herhaalbaar (eerst in lab, daarna in productie)• Geautomatiseerd• Infrastructure as Code• Achteraf controleerbaar bij audit (config vastgelegd)
• Waarom geen VCF?• VCF framework pas niet bij klantwensen en gewenste flexibiliteit• VCF is maar een deel van de configuratie
• Waarom hebben we voor Ansible en Terraform gekozen?• Volwassen automatiserings frameworks• Ondersteuning• Canvas / Schilderij
vMATechCon
2019 #vmatechcon2019
Ansible t.o.v. Terraform
• Wat kun je er mee?• Infrastructure as Code
• Overeenkomsten:• Multi cloud (VMware, Azure, AWS, etc..)
• Eenvoudige lichtgewicht architectuur
• Werkt met templates en inputbestanden
• Kan commando's uitvoeren op andere systemen
• Is geschikt om op te nemen in een DevOps CI/CD pipeline
vMATechCon
2019 #vmatechcon2019
Ansible t.o.v. Terraform
Ansible Terraform
Procedurele opzet: je bepaalt zelf in welke volgorde taken wordenuitgevoerd
Declaratief: beschrijf de gewenste eindsituatie (human readable)
Idempotent: meerdere malen uitvoeren geeft dezelfde uitkomst(mits de code dat toelaat!)
Graph: de Terraform provider moet weten welke afhankelijkheden erbestaan om in de juiste volgorde te werken
Stateless: moet telkens vergelijken met de werkelijkheid (langzaam), maar kan hierdoor wel beter omgaan met handmatig aangebrachtewijzigingen
Statefull: is afhankelijk van statefile en heeft dus problemen met handmatig aangebrachte wijzigingen
Voorziet in conditionele executie Condities zijn omslachtig en foutgevoelig
Hoge leer curve Lage leer curve
Is in staat het canvas te creëren waarop geschilderd kan worden Vereist een canvas waarop geschilderd kan worden
YAML (moeilijk) Hashicorp Configuration Language (HCL) (eenvoudig)
Zeer geschikt voor configuratiemanagement Zeer geschikt voor infrastructuur provisioning
vMATechCon
2019 #vmatechcon2019
Wat doen we met Ansible?
Netwerk
Hardware
ESXiDeploy
NTP DNS
ESXi ESXi ESXi
vCenter
N S X
Datacenter
Mgmt- Cluster Cluster Cluster Cluster
vDS N-vDS N-vDS N-vDS
VSAN
Transport Zone
VSAN VSAN VSAN VSAN
E D G E
vSS
T0
LCM
vRealize
Horizon
VM VM VM VM VM VM
VM VM VM VM VM VM
vMATechCon
2019 #vmatechcon2019
Wat doen we met Ansible?
• Playbooks met losse roles• SDDC
• vSphere• NSX-T
• vRealize Suite• Livecycle Manager
• vRealize Log Insight• vRealize Operations Manager• vRealize Network Insight
• Identity Manager• vRealize Automation
• SQL server• Horizon stack
• Ansible Vault
vMATechCon
2019 #vmatechcon2019
Wat doen we met Ansible - SDDC
vMATechCon
2019 #vmatechcon2019
Wat doen we met Ansible - vSAN
vsan-vcsa-deployer-sample.pyvsanmgmtObjects.py en vsanapiutils.pyuit vsan-sdk-python.zip in python home
vMATechCon
2019 #vmatechcon2019
Wat doen we met Ansible – vRealize LCM
vMATechCon
2019 #vmatechcon2019
Wat doen we met Ansible & Powershell?
• SDDC (vCenter en NSX)• Ansible via localhost en modules• Powershell vSAN en vMotion• ESXi via PXE
• vRealize LCM• Ansible via localhost, API en SSH
• vRA• Windows servers vanuit Template• Installatie Horizon via WinRM en Powershell
• VARS vs Inventory• Omgeving en specifieke variabelen• Conflicterende settings (SSH vs WinRM)
vMATechCon
2019 #vmatechcon2019
Wat doen we met Terraform en hoe?
• Randvoorwaarde: er staat een cloud-infrastructuur waaropgebouwd kan worden
• We bouwen tenant-omgevingen met Terraform
• Omgeving gebruikt later vRealize Automation voor tenant VM deployments (zou ook met Ansible/Terraform kunnen)• Bewuste keuze vanwege de integratie met vRealize Business
(kostentoerekening) en self service portal
vMATechCon
2019 #vmatechcon2019
Wat doen we met Terraform en hoe?
Netwerk
Hardware
ESXiDeploy
NTP DNS
ESXi ESXi ESXi
vCenter
N S X
Datacenter
Mgmt- Cluster Cluster Cluster Cluster
vDS N-vDS N-vDS N-vDS
VSAN
Transport Zone
VSAN VSAN VSAN VSAN
E D G E
vSS
T0 T1
LCM
vRealize
Horizon
Logical Switch Logical Switch
LB
vMATechCon
2019 #vmatechcon2019
Wat doen we met Terraform en hoe?
• Ervaringen• Eenvoudig om te leren• Declaratief werken verbergt de noodzaak om zelf de juiste volgorde te
bepalen• Declaratief werken ontslaat niet van de verantwoordelijkheid alle
benodigde objecten te specificeren (vb: een loadbalancer vereist veleobjecten alvorens het een werkend geheel kan worden)
• Vereist een vooraf gebouwde infrastructuur, de NSX-T provider kan nietNSX-T van scratch af opbouwen
• NSX-T provider is vooral gericht op de consumptie van vooraf ingerichtestructuren. Je kunt wel een Tier-0 router bouwen, maar deze configurerenblijft lastig). Pas vanaf Tier-1 kun je alles instellen
vMATechCon
2019 #vmatechcon2019
Conclusie en vragen
• Niet alles kan of gaat optimaal in Ansible en Terraform. Powershell(PowerCLI) blijft nodig• vb: vSAN
• Leercurve
• Er mist een en ander in de door VMware beschikbaar gesteldeAnsible-modules (vooral NSX-T routing)
• Herbruikbaar in VCF
• Ontwikkel met versiebeheer (Git)
vMATechCon
2019 #vmatechcon2019
Links
• vCenter deploy met Ansible
• http://virtualelephant.com/2018/09/10/deploy-vcenter-server-using-ansible/
• VMware modules Ansible• https://docs.ansible.com/ansible/latest/modules/list_of_cloud_modules.html#vmware
• Ansible modules voor NSX-T
• https://github.com/vmware/ansible-for-nsxt
• Terraform NSX-T provider
• https://github.com/terraform-providers/terraform-provider-nsxt
• Automating the new native VCSA bootstrap• https://www.virtuallyghetto.com/2017/05/automating-the-new-native-vcsa-bootstrap-easy-install-in-vsan-6-6.html
• vRealize Lifecycle Manager with Ansible• https://www.simplygeek.co.uk/2019/06/22/automating-vrealize-suite-lifecycle-manager-vidm-and-vrealize-automation-with-ansible-part-1-setting-
up-the-environment/
vMATechCon
2019 #vmatechcon2019
Vragen?