View
27
Download
0
Category
Preview:
Citation preview
#GlobalAzure
Azure DevOps y PowershellDesired State Configuration (DSC)
Fabián Calvo
Experto en cacharros varios...
■Muchos servidores a configurar con diferentes roles
■Configurar servidores de forma rápida para escalar
■Servidores con configuración idéntica
■Servidores con diferente configuración
■Personas con capacidad de alterar la configuración
■Actualizaciones de Configuración
■Equipos diferentes para diferentes “partes” de configuración
Retos Diarios
■Es un Framework que se relaciona con Azure Automation, parte dePowershell 4.0
■Nativo en W2012R2, disponible desde W2008R2 mediante descarga
Desired State Configuration
■Gestión de máquinas en host y nube
■Se integra con herramientas de gestión de laconfiguración como Puppet o Chef
■No instalamos máquinas, solodeclaramos como deben ser
Cambio de Modelo
• Resolución de Dependencias
• Configuración deseada (Intent)
• Logging y Gestión de Errores
• Resilencia al reinicio• Repetición de la
Automatización• Específicos por Tecnología
Configuración
Recursos
Motor DSC
Scripts Clásicos
Retos para aplicación a nivel Empresarial
¿Cómo cambio configuraciones sin afectar el servicio?
¿Como hago seguimiento de los cambios?
¿Cómo limito el acceso?
■Nos proporciona un entorno securizado con control de acceso
■Localización centralizada para:
Azure DSC
■Credenciales
■Programaciones
■Certificados
■Conexiones
■Variables
■Módulos
■Nos proporciona información actual e histórica de forma visual y detallada
■Y nos permite integrar nuestro código con control de código fuente
Modelos de Ejecución: Push vs Pull
ZIP
Configuración(Script)
Recursos DSC
Nodo Configuración
(MOF)
Authoring Staging
checksum
Execution Pull Server
ZIPNodo
Configuración(MOF)
Report Data
Relación entre DSC y Azure Resource Manager (ARM)
Resource Manager Definir Infraestructura
Un modelo de ejecución
Permite instalar software
Permite definir Templates y programación gráfica
DSC Configurar Infraestructura
Ejecución periódica y capacidad de corregir o avisar
Permite instalar software
Permite configuraciones “Parciales” y dos modos de ejecución
100 % Compatibles. Trabajan mejor juntos
■Paradigma distinto de la Imperativa (haz uno, luego dos, luego tres)
■Se establecen objetivos, afirmaciones o restricciones
■Con las declaraciones se establece el estado final correcto
■Más cercana al lenguaje natural
La programación Declarativa
Habilitar o deshabilitar roles y características
Gestionar configuraciones de Registro
Gestionar Archivos y Características
Arrancar, para y gestionar proceso y servicios
Gestionar usuarios locales, y grupos
Desplegar nuevos paquetes de software
Gestionar variables de entorno
Ejecutar Scripts de Powershell
Elementos a gestionar
Se añaden dos palabras reservadas a Powershell: Configuration y Node
Configuration define una familia de configuraciones en las que normalmente existe una relación
Node define las características asociadas comúnmente con un rol
Cada Node se convertirá en un fichero MOF que se subirá al servidor de configuraciones (incluido en la cuenta de Azure Automation)
Sintaxis
Estándar:
File, User, Group, WindowsFeature, Service, Registry, Package, Environment
Custom:
GitHub: https://github.com/Powershell/
xSQLServer, xSharePoint, xNetworking, xDnsServer, xExchange, xWebAdministration, xWindowsUpdate, xStorage, xDisk
Otros Recursos:
ResKit Wave 10
Repositorio GitHub: PowerShell/DSCResources
Recursos
■Compilar configuración en un conjunto de ficheros (MOF) para cada servidor
# Compile MOF files for each assigned server
SharePointHost -NodeName "SP2013SV1","SP2013SV12"
■Ejecutar Start-DSCConfiguration para copiar el fichero y ejecutar la
configuración
# Copy MOF file to node(s) and invoke the configuration
Start-DSCConfiguration -Path .\ SharePointHost -Wait -Verbose –Force
■O registro a través del Portal de Azure
Pasos de Ejecución
■Azure Automation simplifica la automatización y la
configuración a través de nubes e infraestructura local
■DSC: fiable, alta disponibilidad, y escalablilidad
■Azure DSC: DSC con seguridad, escenarios pull y push, y
servicio de reporting
■Se integra de forma nativa con ARM
Puntos esenciales
■Aprovisionar recursos de cloud fabric con Powershell Workflow Activitesusando Azure Runbooks
■Configurar el sistema operativo y requisitos de aplicación dentro de las
máquinas virtuales de Azure con Powershell DSC
■Publicar las configuraciones de Powershell DSC a una cuenta de Azure Automation
■Usar los Agentes de Azure VM para aplicar las configuraciones de Powershell DSC
■Muy recomendable: Ojo con las versiones!
Que utilizar en cada caso
■Orquestar todo el proceso de aprovisionamiento con Azure Automation o Azure Resource Manager
DSC vs DCM
DCM
Entorno Estable
Servidores Individuales
Debe estar onPremise
DSC
Entorno muy cambiante
Roles de Servidores
Solución basada en Nube
Recommended