29
Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o.

pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

  • Upload
    ngotu

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

Automatizace správy linuxové infrastruktury pomocí

Katello a Puppet

LinuxDays 201510.10.2015

Milan Zelenka @ ENLOGIT s.r.o.

Page 2: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

● Co je životní cyklus IT systémů a jak lze zautomatizovat

● Představení jednotlivých nástrojů

● Srovnání s Red Hat Satellite 6

● Ukázka nasazení Katello v DEMO infrastruktuře

● Otázky a diskuze

Obsah přednášky

Page 3: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

Životní cyklus IT systémů

Automatizace správy linuxové infrastrukturypomocí

Katello a Puppet

Page 4: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

Životní cyklus IT systémů

OSProvisioning

Aktualizace a patching

Správa výpočetních zdrojů(HW, cloud, storage, …)

Instalační média

Šablony a standardy

Správalicencí / subskripcí

SW repozitáře(vlastní / cizí)

Zavedení systému do monitoring nástrojů

Konfigurace systémových

parametrů

Konfigurace aplikace

Reporty aktuálnosti konfigurace

Testování nových balíků a patchů

Nastavení zálohování

Deploymentaplikací

Konfiguračnímanagement

Reporting amonitoring

Page 5: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

● IT Administrátor

○ se nestará o jednotlivé servery

○ vyvíjí systém, který to dělá za něj

● Úrovně automatizace

○ provisioning

○ konfigurační management

Automatizace procesů

Page 6: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

● Velký počet IT systémů

○ Masivní nárůst systémů díky vlastnostem Virtualizace a Cloud

■ každá služba má svůj OS

■ trend horizontálního škálování (scale-out)

● Vznik nových prostředí - tlak na rychlost

● Standardizace

○ Eliminace “konfiguračních specialit” a odchylek od standardu

○ Auditování změn konfigurace

Kdy se hodí automatizovat IT správu

Page 7: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

Představení jednotlivých nástrojů

Automatizace správy linuxové infrastrukturypomocí

Katello a Puppet

Page 8: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

OSProvisioning

Aktualizace a patching

Správa výpočetních zdrojů(HW, cloud, storage, …)

Instalační média

Šablony a standardy

Správalicencí / subskripcí

SW repozitáře(vlastní / cizí)

Zavedení systému do monitoring nástrojů

Konfigurace systémových

parametrů

Konfigurace aplikace

Reporty aktuálnosti konfigurace

Testování nových balíků a patchů

Nastavení zálohování

Puppet KATELLO

Deploymentaplikací

Konfiguračnímanagement

Reporting amonitoring

Puppet vs. Foreman vs. Katello

Page 9: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

Puppet

Automatizace správy linuxové infrastrukturypomocí

Katello a Puppet

Page 10: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

● Nástroj pro konfigurační management

● Používá vlastní jazyk pro popis konfigurace systému

○ Puppet modul

■ popisuje systémové zdroje a jejich stavy

○ Veřejný repozitář modulů Puppet Labs a Example42

● Client - Server (Puppet Master - Puppet Agent)

○ (Modul lze aplikovat i lokálně)

● Podpora Linux, Unix i Windows

● Puppet Dashboard

Puppet

Page 11: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

Managed VMs

.pp

Puppet Master(Katello)

Puppet ModulesRepository

SYNC

CONFIG

REPORT

System admin

Application admin

ReportsHostsHostgroups

EnvironmentsSmart Parameters

Manifest

Puppet

Page 12: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

class simple_web ( $webtitle = 'titulek webu', $webcontent = 'obsah webu' ) {

package { 'httpd' : ensure => installed, }

service { 'httpd' : ensure => running, enable => true, require => Package['httpd'], }

file { 'web_index' : path => '/var/www/html/index.html', ensure => file, owner => 'apache', group => 'apache', mode => '664', content => template('simple_web/index.html.erb'), notify => Service['httpd'], require => Package['httpd'], }}

.../modules/simple_web/manifests/init.pp

Ukázka Puppet modulu

Page 13: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

<html>

<head><title><%= @webtitle %></title></head>

<body><%= @webcontent %></body>

</html>

.../modules/simple_web/templates/index.html.erb

Ukázka Puppet modulu

Page 14: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

Foreman

Automatizace správy linuxové infrastrukturypomocí

Katello a Puppet

Page 15: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

● Provisioning systémů

○ Bare metal, Amazon EC2,

Google Compute Engine,

OpenStack, Libvirt, oVirt/RHEV,

VMware a další...

● Konfigurační management

○ Integrace Puppet

○ Podporuje také Salt a Chef

○ Reporting

● Web admin rozhraní

Foreman

Page 16: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

● Provisioning

○ automatizovaná příprava systému od A do Z…

○ čistá instalace (kickstart) nebo ze šablony

○ bare metal nebo přímé provázání s virt. infrastrukturou

○ podpora DOCKER

Foreman - provisioning

Page 17: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

Katello

Automatizace správy linuxové infrastrukturypomocí

Katello a Puppet

Page 18: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

● Vychází z Foreman a zahrnuje všechny jeho vlastnosti

● Navíc přidává:

○ Content Management

■ Synchronizace veřejných repozitářů (yum, puppet)

■ Řízení přístupů pomocí aktivačních klíčů

■ Vyváření pohledů (Views) nad repozitáři

■ Lifecycle management

○ Subscription Management

■ např. pro RHEL, nebo vlastní SW

Katello

Page 19: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

● Life Cycle Management

○ Content views (pohledy)

○ Synchronizace obsahu s

■ Red Hat CDN

■ externími repository

● yum, puppet, docker

○ Federated life cycle management

■ Capsule Server

Katello - Life Cycle Management

CentOS 7 REPO Own SW

EPEL

Version 3 Version 2 Version 1

DEVVersion 3

Include/Exclude Rules

TESTVersion 2

PRODVersion 1

Page 20: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

Katello - Capsule Server

● Capsule Server

○ snížení zátěže centrálního serveru

○ zvýšení redundance

○ redukce datového toku

● Aktuální limit: 100 aktivních spojení na Puppet Master

● Záleží na run-interval Puppet agentů a počtu Puppet modulů

Katello ServerPrague

Capsule ServerBrno

Capsule ServerOstrava

Page 21: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

External Repositories

KatelloIntegrated Capsule

pulpRepository

Management

CandlepinSubscription Management

Katello Capsule

RPMs

Puppet Master

Puppet Modules

Katello Capsule

RPMs

Puppet Master

Puppet Modules

Katello Capsule

RPMs

Puppet Master

Puppet Modules

Site A Managed Hosts

Katello Agent (Gofer)

Puppet Agent

Subscription Manager

Site C Managed Hosts

Katello Agent (Gofer)

Puppet Agent

Subscription Manager

Site B Managed Hosts

Katello Agent (Gofer)

Puppet Agent

Subscription Manager

Katello - Architektura

Page 22: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

● Další vlastnosti

○ Subscription Management

○ Web GUI, CLI, API

○ Multi-tenant

○ User and group role-based access control (RBAC)

(s možností napojení na adresářové služby)

○ Platform system discovery (Metal-as-a-Service)

Katello - Další vlastnosti

Page 23: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

Srovnání sRed Hat Satellite

Automatizace správy linuxové infrastrukturypomocí

Katello a Puppet

Page 24: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

● Enterprise nástroj

○ vendor support

○ certifikace (HW, SW, ISO, lidé, …)

● Red Hat Satellite 5

○ opensource projekt Spacewalk

● Red Hat Satellite 6

○ vychází Katello

○ aktuální verze 6.1

Red Hat Satellite

Page 25: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

Více informací

Automatizace správy linuxové infrastrukturypomocí

Katello a Puppet

Page 26: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

● Puppet, Foreman a Katello - přenechte správu serverů strojům

○ 2 denní kurz pro IT administrátory

○ Instalace a konfigurace Katello

○ Tvorba Puppet modulů

○ Nastavení IT procesů

● Nejbližší termín: 9. 11. – 10. 11. 2015

Více na www.datascript.cz - OpenSource kurzy

DataScript kurz

Page 27: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

Enlogit s.r.o.

Page 28: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

Děkuji

Automatizace správy linuxové infrastruktury

pomocí

Katello a Puppet

Milan [email protected]/milanzelenka

www.enlogit.com

Page 29: pomocí Katello a Puppet - linuxdays.cz · Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays 2015 10.10.2015 Milan Zelenka @ ENLOGIT s.r.o

DEMO

Automatizace správy linuxové infrastrukturypomocí

Katello a Puppet