Upload
others
View
99
Download
0
Embed Size (px)
Citation preview
Unix-Admin/Consultant
Schulungen.Beratung.TroubleshootinginjederForm.Prozesseplanen(Excel)undNetzwerkeneuverkabeln(Axt).
„Handbuchleser“
Rudder
Wer bin ich?
1995 2016Delix-
SUSE----- -- ---------FreeBSD-------------------------------------------------
RedHat-- --- ----------- ---Irix-----------
HP-UX ------------------------------AIX-------------------
Reliant-- - - - ---Solaris----- ------------Tru64-------
AlpineLinux!!!
Rudder
Portable?
1993
CFEnginewirdveröffentlicht.EsgehtnurnochumGeschmacksrichtungen.(ISConf,bcfg2,puppet,chef,fabric,salt,ansible,...)Automatisierungistjetztverfügbar.
Rudder
Evolution?
1995
MorganStanleydokumentiertIhrAuroraSystem.
(undwird15JahrespätermitdenInfosgehackt)
Bestpracticessindjetztverfügbar.
Rudder
Evolution?
1999
Automatisierung istverfügbar.Aberwirmachenallesmanuell.SkriptenkannehnurderM.
„DenScriptingHostschaltenwireinfachab,wennwirdenIloveyouentfernen.DamüssenwirjaehandenRechner!“
Rudder
Evolution?
2001
Automatisierung istverfügbar.Aberwirdürfenallesnurmanuellmachen.
„LiebervielekleineFehleralseinenKompletten!“
Rudder
Evolution?
2005-2010
Automatisierung istverfügbar.Wirsetzenjetztalle2JahreaufeinneuesTool!
„Wennichauf200HostseinRPMdeploye,kipptdasOracleum.“„DumusstdenRolloutinG-R-U-P-P-E-N machen!“
Rudder
Evolution?
2011-2015
Automatisierung istverfügbar.„WirhabendafürdamalsunsereigenesTool
massgeschneidert,daskanndasambesten.“
InPython.MitSed.OderinXML.MitPerl.Odermitallem,wasdawar.Gleichzeitig.DerEntwickleristweg.Esfunktionierthintenundvornenicht.
Rudder
Evolution?
2016DieToolswerdenbesser,aber...MankanneinenvollenOS-Rolloutbrauchen,umAdmin-UserzuverteilenMankann eineDatenbank“truth.truth“nennen.EinfalschesKommakönnte einlandesweitesDeploymentkaputtmachen.JedesToolkannwirklich gut kaputteConfigserzeugen.
Rudder
Wie läuft’s?
2016DieToolswerdenbesser,aber...aucheinfacher.Füruns!
Aber...müsstensieauchfürandere einfacherwerden?
Rudder
Wie läuft’s?
Do not edit – managed by Puppet!Do not edit Managed by SpacewalkDO NOT EDIT: MANAGED BY SALT!DO NOT EDIT! Managed by ChefDO NOT EDIT MANAGED BY BND MAVEN LIFECYCLE PLUGINThis file is managed by systemd-resolved(8). Do not edit.
Besser:# Generated by NetworkManager# Ansible managed file, do not edit directly
Rudder
Knigge?
Wiedrübergestolpert– vorzweiJahrensollteichsuchen...
HilfevonMariusDucea(Chef-User)dankLOPSA
„Esmusshaltbittealles können.“
Rudder
WovorichAngst hatte:
- Eigenbauten - habeichschonDREImalgesehen- "DONOTEDITTHISFILE"- "WennDeinProblemnichtzuunseremToolpasst,hastDudasfalsche
Problem“- „Lassliegen,dasmachtderX“- „ChangeManagement?KennstDuServerSpec?“
Rudder
Skalierbar1 Master
Aufteilbar (DB,LDAP,Syslog)
0....N Relays (Webserver, SyslogReflektor)
0....2000 Nodes (Clients)proRelay
Masterknapp2GBHeapje1000Clients
Rudder
Besonderheiten
NurStandardsoftware
KleinerAgent(outofBandManagement)
Schnell
KeinlokalesRubyetc.,maximalPerl
JederNodeistautark
Policieskönnensichdynamisch anpassen
Rudder
DatenflussNodessendenInfos(OCS/Fusion)
NodesholensichPolicy
NodessendenBerichte(Syslog)
MastererrechnetSOLL/IST->Compliance
InventarinfoskönnenEinflusshaben
Berichtenicht
Masterhatkeinen ZugriffaufNodes
Rudder
Demosrelativ„echte“Umgebung
2VMhosts,~30VMs
4verschiedeneOS
Autopatching
SysloganELK
Monitoring
Rudder
DemosNodeaufnehmen
ToolAufbau
sudo(StandardTechnique)
Suchenachlfd.Apache(NutzbarmitGruppen)
Deploymentviarekurs.Kopie?
neuerHostaufnehmen, DynGroups
ChangeManagement
API(Externalproperties,Nodelisto.ae.)
AnsiblemitRudderInventory
Rudder
Nodes acceptenNodegeneriertsichseinePriv/Pubkeys
NodessendenInfos(OCS/Fusion)
XMLFilemit„Inventory“
ServerprüftInventory
Admin(oderAPI)mussannehmen
Key,Client-UUIDundRelaywerdenverknüpft
Rudder
Node Details
Leichtlesbar/strukturiert
Stammdaten
UUID
PubKey
HardwareInfos
Filesysteme,Prozesse,Envvars
Rudder
Node Compliance
AlledenHostbetreffendenSettings
Status,keineHistorie
VolleDetailtiefe
GutfürDebuggingoderEinzelauskunft
Rudder
GruppendynamikStatischeGruppensindfix(Hostnamenetc.)
DynamischeGruppenentstehenausSuchen
nachAttributenimInventar
nachKey-Value,viaAPIgesetzt
AND/OR,Regex
automatischaktualisiert
NeueSystemelandenohneZutun inGruppen
Rudder
DirektivenAdmin/DeverstellenpassendeStandardmethoden
Benutzerfreundlich
1st/2ndLevelkannsieproblemlosverwenden
versioniert,upgradebar
Inputvalidierungetc.
Tooltips...
Javascript...
Rudder
RulesDirektiven*Gruppen
GruppenkönnenalsEXCLUDErein
CompliancewirdaufRule-Basisgerechnet
DirektivensindnurmittelsRulesaktiv
GruppensindnurmittelsRulesaktiv
DasistdiePolicy!
Rudder
ReportingJedeerstellteRegelbedeuteteinen„SOLL“-Report
DieAusführungdesAgentensendetdiePolicy-
VerarbeitungzumServer(„IST“-Report)
RuddererrechnetanhandeingehenderMeldungen
ProzentsatzSystememitIST=SOLL
Ergebnis:ComplianceStatus
Rudder
RulesStatusistfürjedeDirektivedarstellbar
StatusistfürjedenHostderGruppendarstellbar
Änderungsrate istsichtbar
KeineÄnderungen->AlsoStabil->Alsosuper
Rudder
ComplianceJedeRulehat„Gesamtstatus“
KannStatusjederDirektiveineinerRulesehen
KannStatusjedesEinzelsettingsinDirektivesehen
KannStatusjedes(vonderRulebetroffenen)Nodes
sehen
Debugging,Statusauskunft
Rudder
NCF-EditorSpassübersetzung:OurCodeworks
NCF:FrameworkvollerStandardmethoden
ErgänztmitPointandClickWebinterface
Dependenciesetc.
UnitTestsproMethode
WirdbeimSpeichernfürRudderlesbargemacht
Gehtnatürlichaucheinfachpervi:-)
Rudder
sys.knowledgeLadbareDaten
OS-Abstration(sshd vs.openssh vs.openssh-server)
Infrastrukturdaten
BrauchtContributions!!!
Rudder
DesignZuallenObjektklassengibtesCategories
ErlaubtSortierung
VariablenhabenPrioritäten,könnensichüberlagern
GUISuche leistungsfähig
Namenskonventionenhelfen
Rudder
DesignReporting/CompliancewertezurPriorisierung
Change-RatenvonPolicieszurPriorisierung
„Wassollteichzuerstrichten“
Rudder
DesignUpdatesbrauchenAuditlog-Eintrag
Alles hatDescription-Felder
AuchdieDescriptions sindperAPIzugreifbar
Rudder
DesignSyslogmeldungensindgutgrepbar
Complianceproblemewerdengelogged
Weiterleitbar– andereToolsanbinden
HealthAPI- andere
Rudder
Andere ToolsComplianceLogssindweiterleitbar(z.b.Logstash)
API– Nodehealthabfragbar
API– Nodeinventoriesabfragbar
Plugins:Cobbler,Rundeck,Ansible...
Rudder
WorkflowsTrackinginDBparallelzuAuditlogs
Unterbaugit(wiemeistens:)
PerAPIverwaltbar
ValidatorRolekannkomplettanderesTeamsein
Lektion:Oberflächezählt,derUnterbaureichtnicht.
Rudder
Properties
FremddateninRudderladen
PerAPIverwaltbar
InGruppenverwendbar,baldauchimCodeselbst
CMDB-Status
Anwendungsteams
Freeze/offenfürÄnderungen
Rudder
CFE Integration
Rudder kommtnormalmitCFEngine3Community-Version
Normation,dieFirmahinterRudder istCFEngine Partnerund hat
eigeneC-Entwickler,hilftsehrfürschnelleWorkaroundsbei
CFEngine Bugs
Rudder
Ansible Plugin
ÜbergabepunktConfigurationManagementgen
Orchestration
24x7managementvsadhoc/jenkins
Kannauchgather_facts:noundgenauereGruppen
liefern
Rudder
TakeawayIchkannPolicyrichtigdesignen
GUIundCLIhelfenbeimPolicynachvollziehen
Rudderistbequemfürmich
DurchReportinghabeichmehrEinsichten
Rudder
Links!www.rudder-project.org
https://www.rudder-project.org/rudder-api-doc/
https://www.rudder-project.org/doc-
3.2/_installation.html
freenode:#rudder
@FlorianHeigl1
Rudder