151008 sgvlug automationautomang’basic’it’func>ons) •...

12
AUTOMATING BASIC IT FUNCTIONS Ma#hew Campbell 10/19/15 2 SGVLUG NonConfiden>al Do Distribute

Upload: others

Post on 30-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 151008 SGVLUG AutomationAutomang’basic’IT’func>ons) • Automaon’is’designed’to’make’iteasier’to’configure’ and’maintain’hundreds’or’thousands’of’servers’

AUTOMATING  BASIC  IT  FUNCTIONS  Ma#hew  Campbell  

10/19/15  2   SGVLUG  Non-­‐Confiden>al  -­‐  Do  Distribute  

Page 2: 151008 SGVLUG AutomationAutomang’basic’IT’func>ons) • Automaon’is’designed’to’make’iteasier’to’configure’ and’maintain’hundreds’or’thousands’of’servers’

Automa>ng  basic  IT  func>ons  

•  Background  –  Unix  OS  design  –  Anima>on  system  hardware  –  Process  automa>on  –  Enterprise  scale  

•  The  environment  –  The  home  router:  modem,  firewall,  dhcp,  named,  wap,  etc.  –  Home  IT  services:  file  sharing,  media,  environment,  ddns+h#p,etc.  –  Costs  of  automa>on:    bare  metal  or  virtual?  micro  compute?  

10/19/15  3   SGVLUG  Non-­‐Confiden>al  -­‐  Do  Distribute  

Introduc>on  

Page 3: 151008 SGVLUG AutomationAutomang’basic’IT’func>ons) • Automaon’is’designed’to’make’iteasier’to’configure’ and’maintain’hundreds’or’thousands’of’servers’

Automa>ng  basic  IT  func>ons  

•  Automa>on  is  designed  to  make  it  easier  to  configure  and  maintain  hundreds  or  thousands  of  servers  

•  Major  automa>on  systems:  Chef,  Puppet,  Anisble,  Salt  –  Chef  and  Puppet  are  based  on  Ruby  –  “Puppet  arguably  enjoys  the  biggest  mindshare”  (at  >me  of  prin>ng)  

–  “Salt  scales  through  delega>on,  Puppet  through  self-­‐service”  –  “Puppet  and  Chef  appeal  to  developers  while  Salt  and  Ansible  are  more  a#uned  to  Sysadmins”  

10/19/15  4   SGVLUG  Non-­‐Confiden>al  -­‐  Do  Distribute  

Frameworks  

Page 4: 151008 SGVLUG AutomationAutomang’basic’IT’func>ons) • Automaon’is’designed’to’make’iteasier’to’configure’ and’maintain’hundreds’or’thousands’of’servers’

Automa>ng  basic  IT  func>ons  

•  Common  aspects  of  automa>on  frameworks  –  Define  “Infrastructure  as  Code”  –  Client  /  Server  architecture  –  SSH  communica>ons  –  Cer>ficate  based  authen>ca>on  and  encryp>on  –  Version  control  of  configura>on  defini>ons  –  Can  be  extended  by  downloading  modules  –  Operated  through  a  Web  UI  and/or  CLI  –  Cross  placorm  solu>ons  

10/19/15  5   SGVLUG  Non-­‐Confiden>al  -­‐  Do  Distribute  

Frameworks  

Page 5: 151008 SGVLUG AutomationAutomang’basic’IT’func>ons) • Automaon’is’designed’to’make’iteasier’to’configure’ and’maintain’hundreds’or’thousands’of’servers’

Automa>ng  basic  IT  func>ons  

•  Why  automate  your  home  IT?  –  Good  experience  for  your  resume  (home  ===  enterprise)  –  Reliability,  Recovery,  and  End  of  Life  –  Ease  of  maintenance  and  support  –  Central  defini>on  for  IP  security  –  Technology  currency  –  Documen>ng  state  and  process  

10/19/15  6   SGVLUG  Non-­‐Confiden>al  -­‐  Do  Distribute  

Why?  

Page 6: 151008 SGVLUG AutomationAutomang’basic’IT’func>ons) • Automaon’is’designed’to’make’iteasier’to’configure’ and’maintain’hundreds’or’thousands’of’servers’

INSTALLATION  –  THE  PUPPET  EXAMPLE  

10/19/15  7   SGVLUG  Non-­‐Confiden>al  -­‐  Do  Distribute  

Page 7: 151008 SGVLUG AutomationAutomang’basic’IT’func>ons) • Automaon’is’designed’to’make’iteasier’to’configure’ and’maintain’hundreds’or’thousands’of’servers’

Automa>ng  basic  IT  func>ons  

•  Install  the  puppetmaster  service  sudo  rpm  -­‐ivh  h#p://yum.puppetlabs.com/puppetlabs-­‐release-­‐el-­‐7.noarch.rpm    sudo  dnf  install  –y  puppet-­‐server  

•  Install  the  puppet  agent  sudo  dnf  install  –y  puppet  

•  Firewall  port  8140  •  Configure  the  server  •  “Node”  Authen>ca>on  •  Running  an  update  manually  •  Scheduling  con>nuous  updates  

10/19/15  8   SGVLUG  Non-­‐Confiden>al  -­‐  Do  Distribute  

Installa>on  

Page 8: 151008 SGVLUG AutomationAutomang’basic’IT’func>ons) • Automaon’is’designed’to’make’iteasier’to’configure’ and’maintain’hundreds’or’thousands’of’servers’

Automa>ng  basic  IT  func>ons  

•  Modules  –  Manifests  

•  Classes  vs.  Defines  include  linux::users  linux::administrators  {  ‘ma#’:  uid  =>  1000,  shell  =>  ‘/bin/tcsh’  }  linux::administrators  {  ‘lan’:  uid  =>  1010,  shell  =>  ‘/bin/bash’  }  

–  Files  –  Templates  –  Metadata.json  

•  Environments  •  Puppecorge™,  Puppet  documenta>on  and  Puppet  Types    

10/19/15  9   SGVLUG  Non-­‐Confiden>al  -­‐  Do  Distribute  

Configura>on  

Page 9: 151008 SGVLUG AutomationAutomang’basic’IT’func>ons) • Automaon’is’designed’to’make’iteasier’to’configure’ and’maintain’hundreds’or’thousands’of’servers’

Automa>ng  basic  IT  func>ons  

/etc/puppet/manifests/site.pp  node  default  {  

 include  common  }  node  ‘fileserver.myhome.com’  {  

 include  common    include  nfs_server  

}  node  ‘services.myhome.com’,  ‘backupservices.myhome.com’  {  

 include  common    include  dhcp_server    include  ntp_server    include  ddns_server  

}  

10/19/15  10   SGVLUG  Non-­‐Confiden>al  -­‐  Do  Distribute  

Configura>on  

Page 10: 151008 SGVLUG AutomationAutomang’basic’IT’func>ons) • Automaon’is’designed’to’make’iteasier’to’configure’ and’maintain’hundreds’or’thousands’of’servers’

Automa>ng  basic  IT  func>ons  

•  /etc/puppet/environments/produc>on/modules/<name>/manifests/init.pp  #  Defini>on:  linux                                                                                                                            #  #  Descrip>on:  Manage  sorware  and  services  common  to  all  linux  hosts  #  #  Usage:  #      include  linux  #  #  Op>ons:  #      None    class  linux  {          #  Create  common  linux  users          include  linux::users            #  Install  default  linux  packages          include  linux::packages  }  

10/19/15  11   SGVLUG  Non-­‐Confiden>al  -­‐  Do  Distribute  

Configura>on  

Page 11: 151008 SGVLUG AutomationAutomang’basic’IT’func>ons) • Automaon’is’designed’to’make’iteasier’to’configure’ and’maintain’hundreds’or’thousands’of’servers’

Automa>ng  basic  IT  func>ons  

•  Examples  – Webserver/init.pp  – webserver::files.pp  – webserver::imageu>ls.pp  – firewalld::templates/service.xml.erb  – /usr/lib/firewalld/services/misterhouse.xml  – house::init.pp  

10/19/15  12   SGVLUG  Non-­‐Confiden>al  -­‐  Do  Distribute  

Configura>on  

Page 12: 151008 SGVLUG AutomationAutomang’basic’IT’func>ons) • Automaon’is’designed’to’make’iteasier’to’configure’ and’maintain’hundreds’or’thousands’of’servers’

h#p://ma#swiki.seilcampbells.com/index.php5?>tle=Automa>on_Server    h#ps://docs.puppetlabs.com/references/latest/type.html#file    h#ps://forge.puppetlabs.com/    h#p://www.infoworld.com/ar>cle/2609482/data-­‐          center/data-­‐center-­‐review-­‐puppet-­‐vs-­‐chef-­‐vs-­‐ansible-­‐vs-­‐salt.html  

References  

10/19/15  13   SGVLUG  Non-­‐Confiden>al  -­‐  Do  Distribute