on behalf of the NRC-KI Tier-1 team

Slides:



Advertisements
Similar presentations
About Me CTO, Individual Digital, Inc. (Startup) Author of ext/tidy, PHP 5 Unleashed, Zend Ent. PHP Patterns
Advertisements

Puppet for GENI Experiments
11.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 11: Introducing WINS, DNS,
Microsoft Internet Information Services 5.0 (IIS) By: Edik Magardomyan Fozi Abdurhman Bassem Albaiady Vince Serobyan.
MSc. Miriel Martín Mesa, DIC, UCLV. The idea Installing a High Performance Cluster in the UCLV, using professional servers with open source operating.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Managing User Desktops with Group Policy
1 Introduction to the tutorial for site managers Antonio Fuentes Red.es/RedIRIS EGEE/EUMedGrid/EELA Tutorial for Managers Sevilla,
The Art and Zen of Managing Nagios with Puppet Michael Merideth - VictorOps
1 Securing Data and Communication. 2 Module - Securing Data and Communication ♦ Overview Data and communication over public networks like Internet can.
Configuration Management with Cobbler and Puppet Kashif Mohammad University of Oxford.
INFSO-RI Enabling Grids for E-sciencE Installation and configuration of gLite Resource Broker Emidio Giorgio INFN EGEE-EMBRACE tutorial,
05/29/2002Flavia Donno, INFN-Pisa1 Packaging and distribution issues Flavia Donno, INFN-Pisa EDG/WP8 EDT/WP4 joint meeting, 29 May 2002.
1 caGrid Security Overview Mark Grand Senior Engineer caGrid Knowledge Center February 7, 2011.
Ariel Garcia LCG cluster installation, EGEE training, Ariel Garcia - IWR LCG Cluster Installation Forschungszentrum Karlsruhe in der Helmholtz-Gemeinschaft.
Semi-Automatic patch upgrade kit
ALICE Use of CMF (CC) for the installation of OS and basic S/W OPC servers and other special S/W installed and configured by hand PVSS project provided.
University of Bristol 5th GridPP Collaboration Meeting 16/17 September, 2002Owen Maroney University of Bristol 1 Testbed Site –EDG 1.2 –LCFG GridPP Replica.
CSE 548 Advanced Computer Network Security Trust in MobiCloud using Hadoop Framework Updates Sayan Cole Jaya Chakladar Group No: 1.
SAN DIEGO SUPERCOMPUTER CENTER Administering Inca with incat Jim Hayes Inca Workshop September 4-5, 2008.
Puppet at MWT2 Sarah Williams Indiana University.
Module 12: Configuring and Managing Storage Technologies
Linux Operations and Administration
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
SAM Sensors & Tests Judit Novak CERN IT/GD SAM Review I. 21. May 2007, CERN.
CSE 548 Advanced Computer Network Security Trust in MobiCloud using Hadoop Framework Updates Sayan Kole Jaya Chakladar Group No: 1.
Auditing Project Architecture VERY HIGH LEVEL Tanya Levshina.
System Administration Practice Homework6 - LDAP login + Puppet + Jail yench / lctseng / chchang2222.
EGEE-II INFSO-RI Enabling Grids for E-sciencE YAIM Overview MiMOS Grid tutorial HungChe, ASGC OPS Team.
INFSO-RI Enabling Grids for E-sciencE gLite C++ Configurator Practical experience gLite Configuration Meeting, March 1, 2005 Peter.
Disk Server Deployment at RAL Castor F2F RAL - Feb 2009 Martin Bly.
Dynamic staging to a CAF cluster Jan Fiete Grosse-Oetringhaus, CERN PH/ALICE CAF / PROOF Workshop,
Development of a Tier-1 computing cluster at National Research Centre 'Kurchatov Institute' Igor Tkachenko on behalf of the NRC-KI Tier-1 team National.
Alfresco on AWS Provisioning and deploying Alfresco solutions on Amazon Web Services.
Active Directory Domain Services (AD DS). Identity and Access (IDA) – An IDA infrastructure should: Store information about users, groups, computers and.
EGI-InSPIRE RI Pakiti Michal Prochazka, (Daniel Kouril)
Introduction to Ansible
1 Policy Based Systems Management with Puppet Sean Dague
Fedora Infrastructure Puppet Training Mike McGrath Fedora Infrastructure
INFSO-RI Enabling Grids for E-sciencE Workshop WLCG Security for Grid Sites Louis Poncet System Engineer SA3 - OSCT.
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com SSH Thomas Petazzoni Free.
Distributed Monitoring with Nagios: Past, Present, Future Mike Guthrie
Managing Systems with Puppet Eric Eisenhart SoCoSA August 7, 2007.
Introduction to Ansible
Jean-Philippe Baud, IT-GD, CERN November 2007
Renewal of Puppet for Australia-ATLAS
@ Bucharest DevOps Hacker Meetup
Site Administration Tools: Ansible
on behalf of the NRC-KI Tier-1 team
NGI and Site Nagios Monitoring
Dockerize OpenEdge Srinivasa Rao Nalla.
Dag Toppe Larsen UiB/CERN CERN,
High Availability Linux (HA Linux)
Dag Toppe Larsen UiB/CERN CERN,
Chapter 5 : Designing Windows Server-Level Security Processes
Introduction to Ansible
GWE Core Grid Wizard Enterprise (
Creating an Oracle Database
Installation, Configuration, Examples of use
IT Atoumation / Conf. Mgmt...
Artem Trunov and EKP team EPK – Uni Karlsruhe
Puppet
SSSD and OpenSSH Integration
Scaling Puppet and Foreman for HPC
Introduction to Ansible
Presented By - Avinash Pawar
The EU DataGrid Fabric Management Services
VirgoStaging Status F.Carbognani, S. Cortese, E. Pacaud.
Services & Settings lctseng.
Presentation transcript:

on behalf of the NRC-KI Tier-1 team Experience of puppet usage for management of Tier-1 GRID cluster at NRC “Kurchatov Institute” Igor Tkachenko on behalf of the NRC-KI Tier-1 team National Research Centre "Kurchatov Institute“ Moscow, Russian Federation

Introduction Puppet - is a condition-based configuration system Simple ruby-based language of manifests and templates NRC KI Tier-1 site use puppet to manage about 200 nodes No limitation for increasing number of managed nodes

Service configuration example Service configuration - is announcement a desired state like: “I want have running ssh service with configuration file sshd_config.$hostname” class sshd { package { "openssh-server": ensure => installed } file { "/etc/ssh/sshd_config": mode => 600, notify => Service["sshd"], require => Package["openssh-server"], source => "puppet://$site_settings::master/sysconf/ssh/sshd_config.$hostname", sourceselect => 'first' } service { "sshd": enable => true, ensure => 'running', require => [ File["/etc/ssh/sshd_config"], Package["openssh-server"], ],

Security Host-based and Certificate-based authorization Puppet-CA Host-based private area [x509] path /home/t1master/x509/%H allow * Group-based private area path ~ ^/file_(metadata|content)/private/bdii-site auth yes method find, search allow /^taxer[12].t1.grid.kiae.ru$/

Daemon vs manual launch Daemon mode Manual launch All manifests stored on master-node (single point of failure) Manifests applied automatically – all errors will be applied on all servers Hard to debug Every node ask master about updates every 30 minutes Every node have own copy of all manifests You may easy debug manifests on node and it does not affected to others Fully controlled updates Easy to configure for several sources of manifests One time sync

How to use manual launch Needed full repository of puppet modules with classes declaration on each node Two ways to apply: Apply class: puppets apply –e “include some_class” Apply file Need applied file that contain include directive puppet apply “my_file.pp”

Private data Some services may require private data in manifests (passwords, for example) There are several solutions: Parsing configuration files from private area Dummy classes in public area and classes with private data in special private area. Mix it while sync process

Sync example class sync inherits site_settings { File { owner => 'root', group => 'root', mode => 0600 } file { "/etc/puppet/": source => [ "puppet://$site_settings::master/private/$site_settings::host_type/puppet", "puppet://$site_settings::master/puppet/", ], ensure => 'directory', recurse => true, purge => true, force => true, ignore => ['.svn','.*.swp'], sourceselect => 'all',

Class-based and type-based configurations Two ways to configure service Class-based Type-based Simple Unclean order of applying types (but completely defined where it needed) Allow include other puppet classes Create ruby script for configuration Useful when you have to execute some scripts for service configuration

Puppet + pdsh A lot of manual puppet runs need mechanism for parallel running Group-based pdsh with groups like puppet groups allow to apply manifests exactly where you need it Typical usage pdsh –g wn ‘puppet apply –e “include sync”’ pdsh –g wn ‘puppet apply –e “include yum::install”’

Groups definition example class site_settings::groups inherits site_settings { case $fqdn { /^io\..*/ : { $group='eos-head' } /^sdns.*/ : { $group='dcache-namespace' } /^sddb[0-9]*\..*/ : { $group='dcache-db' } /^sdpm\..*/ : { $group='dcache-poolmanager' } /^sdhs\..*/ : { $group='dcache-head' } /^sdrm\..*/ : { $group='dcache-srm' } /^sdpd[0-9]+\..*/ : { $group='dcache-dpool'} /^sespd[0-9]+\..*/ : { $group='dcache-spool-x2'} /^seipd[0-9]+\..*/ : { $group='dcache-ipool'} /^lhcbsdns\..*/ : { $group='lhcbdcache-namespace' } /^lhcbsddb[12]\..*/ : { $group='lhcbdcache-db' } /^lhcbsdpm\..*/ : { $group='lhcbdcache-poolmanager' } /^lhcbsdhs\..*/ : { $group='lhcbdcache-head' } /^lhcbsdrm\..*/ : { $group='lhcbdcache-srm' } /^lhcbseipd[0-9]+\..*/: { $group='lhcbdcache-ipool'} /^tape-sdrm.*/: { $group='dcache-tape-head'} /^sd-p-t[0-9]+\..*/: { $group='dcache-tpool'} /^sdpe[0-9]+\..*/ : { $group='eos-dpool' } /^pit\..*/ : { $group='nfs' } /^seer\..*/ : { $group='scheduler'} /^orb\..*/ : { $group='nagios' } /^n[12][0-9][0-9]\..*/: { $group='wn' } /^taxer[12]\..*/: { $group='bdii-site' } /^horn[12]\..*/: { $group='bdii-top' } /^orange\..*/: { $group='apel'} /^calc[12]\..*/: { $group='cream-ce'} /^(rnag|rnag-sb)\..*/: { $group='ngi-nagios'} /^endb[12]\..*$/ : { $group='enstore-db' } 'enh.t1.grid.kiae.ru' : { $group='enstore-head' } 'rhole.t1.grid.kiae.ru' : { $group='vobox-alice' } default: { $group='test' } }

Questions, comments?