konfigurasjonsstyring, automatisering, endringskontroll og … · i jenkins - automatisk testing av...

Post on 11-Oct-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Konfigurasjonsstyring, automatisering,endringskontroll og overvåking

Jarle BjørgeengenUniversity of Oslo / USIT

November 9, 2011

Agenda

Om USIT

Motivasjon / bakgrunn

Automatisering

Tilordning av roller til maskiner

Overvåking

Nøkkelopplysninger om USIT

I Tjenesteleverandør for Universitet og Høgskolesektor.I Tett samarbeid med Uninett om nasjonale oppgaver.I Ca. 50 000 fil, print, e-post og web-app brukere ved UiO,

med forskjellige privilegier .I Utv. og drift av FS/Studentweb: benyttes Universiteter og

Høgskoler.I Utv. og drift av Cerebrum: gruppemedlemskap, DNS,

autorisering, import. og eksport.

Nøkkelopplysninger om USIT

I Utv og drift av den nasjonale autentiseringstjenesten"Moria".

I Drift av DB, file og e-post for Classfronter i Norden.I Tier 1 lagring for LHC i Cern.I Drift av flere HPC-klynger til forskning og tallknusing.I Preferanse for fri programvare og åpne standarder

Motivasjon / bakgrunn / perspektiv

I Vi leverer infrastruktur.I Maskiner, nett, lagring, redundans, skalering = infrastrukturI Hvorfor trenger vi dette ?I For å kjøre tjenester / applikasjoner for brukere.I Applikasjoner trenger ressurser for å virke.I Brukeropplevelsen blir dårlig hvis applikasjoner ikke virker.I For bedrifter: tap på bunnlinjen: tapt tid er tapte penger.

Motivasjon / bakgrunn / perspektiv

I Kost/nytte vurdering:I skalering, redundans, kompleksitetI ...vs...I viktighet

I Systemadministrasjon involverer mange forskjelligeoppgaver.

I Det er mange innfallsvinkler til oppgavene.I Vår er å automatisere så mye som mulig

Hvorfor automatisere ?

I Manuell drift har noen ulemper

I KJEDELIG - Hvorfor ikke la maskiner gjørede kjedelige oppgavene

I Høy sannsynlighet for feilI Skalerer ikkeI Lang leveransetid på endringer.

I Automatisering krever

I Tid til å utvikle fremfor å slukke branner.I Langsiktig satsningI Større kostnad i starten.I Eneste mulighet for oppnå stabilitet og skalering når miljøet

vokser.

Hvorfor automatisere ?

I Manuell drift har noen ulemperI KJEDELIG - Hvorfor ikke la maskiner gjøre

de kjedelige oppgaveneI Høy sannsynlighet for feilI Skalerer ikkeI Lang leveransetid på endringer.

I Automatisering krever

I Tid til å utvikle fremfor å slukke branner.I Langsiktig satsningI Større kostnad i starten.I Eneste mulighet for oppnå stabilitet og skalering når miljøet

vokser.

Hvorfor automatisere ?

I Manuell drift har noen ulemperI KJEDELIG - Hvorfor ikke la maskiner gjøre

de kjedelige oppgaveneI Høy sannsynlighet for feilI Skalerer ikkeI Lang leveransetid på endringer.

I Automatisering kreverI Tid til å utvikle fremfor å slukke branner.I Langsiktig satsningI Større kostnad i starten.I Eneste mulighet for oppnå stabilitet og skalering når miljøet

vokser.

Verktøy vi bruker ifm. automatisering

I Cfengine - Modell-drevet konfigurasjonsstyringI Script - shell / perlI PXE-boot - Pre-boot eXecution EnvironmentI Kickstart - Automatisert installasjon av RedHat ELI Git / svn - RevisjonskontrollI Gerrit - Endringskontroll og kode-vurdering (Cfengine)I Koji - byggesystem for rpm-pakker.I Jenkins - Automatisk testing av ny kode (Cfengine).I Kommer: Host-policy / roller i Cerebrum.

Cfengine - konfigurasjonsstyring

I Eget språk som uttrykker løfter om tilstand (policy)I Cfengine-komponenter leser løftene ...I .. og beholder systemet i beskrevet tilstand.I Hvert løfte verifiseres og repareres om nødvendig.I Sjekkes default hvert 5 minutt.I Veldig lav ressursbruk ved sjekking.I Community = fri. Nova = komersielle utvidelser

Cfengine - konfigurasjonsstyring

Cfengine - konfigurasjonsstyring

PXE / Kickstart

I Boot stack innebygget i nett-kortets firmwareI Maskin får IP fra DHCPI Kjerne og initiell ramdisk lastes over tftpI Kjerne booter og får IP på nytt fra DHCP.I Installer starter og leser kickstart-fil.I Maskinen installeres med bl. a. Cfengine bootstrapI Cfengine laster ned resten av konfigen

og konvergerer maskinen til beskrevet tilstand.I Maskin er klar til bruk

Endringskontroll / git / gerrit / jenkins

I Cfengine-kode vedlikeholdes i GerritI Gerrit:

I Kommer fra Android-prosjektetI Lar ikke-overlappende endringer flyte parallelt uavhengig.I Egen ssh-server, web-server, og git-implementasjonI git clone ssh://cfengine-scm.uio.no:29418/cfengine/UnixI git push origin ref HEAD:refs/for/masterI Endring testes automatisk av jenkinsI Vurdering av endring med kommentar i web-gui.I Publisering og produksjonssetting av endring.

Oversiktsbilde

Demo-video

Egen programvare: KOJI

I Brukes til å bygge Fedora og RHELI Bygging og release-håndtering av rpm-pakker.I Utrulling av pakker til yum-repo.I Cfengine sørger for at pakker er installert ...I .. gitt at de er tilgjengelig via yumI KOJI sørger for at de er tilgjengelig via yum

KOJI tags / targets

KOJI tags / targets

I kilde-filder og .spec-fil vedlikeholdes i git-repoI Tilgang til git-rep administreres vha. gitosisI Autentisering med ssh-nøklerI Bygging av nye versjoner med koji kommandoerI Koji autentiserer med ssl (x509) sertifikater.I koji build <build-target>

git://<git-server>/<repo-navn><commit-id>I koji koji move-pkg uio-el6-free-testing uio-el6-free

uio-thunderbird-3.1-3.el6

Host-policy modul i cerebrum

I Vi har allerede et maskinregister for registrering avdns-navn.

I Ny modul for å knytte maskinroller (policy) kommer snart.I Eksempelvis:

I web-serverI samba-serverI fysikk-maskinI oracle-server

I Atomer definer hva som skal gjøresI Roller inkluderer atomer og andre rollerI Roller defineres ut fra hvor de er relevant.I Roller knyttes til maskiner i cerebrum.I Roller blir til klasser i CfengineI Automatisk generert dokumentasjon for policy

Roller illustrert

Overvåking: Nagios

I Gir beskjed hvis noe ikke er som det skalI Kjører aktiv sjekk-kommando hvert 5 minuttI Hvilke sjekker som kjøres detekteres automatiskI Cfengine genererer roller som definerer om en maskin skal

overvåkes og hvordan.I Eksempler:

I hw-overvåking (forskjellig avhengig av leverandør)I kritiske prosesesserI Fyllingsgrad av filsystemerI Filsystem-kvoterI Nettverksinterface (bonding)I Cluster statusI Manglende backup

Overvåking: Collectd

I Samler inn ytelsesdata og lagrer i rrd-filer og csv-filerI Forskjellige grafe-verktøy for å visualisere data

I collectd-webI graphiteI visage-appI rrdtool graph

I Cfengine konfigurerer collectd hvis de er registrert itjenesteregisteret.

top related