More Related Content
決済システム内製化に向けたプラットフォーム構築 - PCF・BOSHによるオブザーバブルプラットフォーム Oracle GoldenGate for Big Data 12.2 セットアップガイド 分散環境におけるDocker とオーケストレーション 20220427-k8s-meetup-tokyo.pdf インセプションデッキのひな形(PPT形式:ダウンロード用) What's hot (20)
OCHaCafe#5 - 避けては通れない!認証・認可 【Unity道場Houdini編】Houdini Engine とプロシージャル法 分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料) Harbor RegistryのReplication機能 FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応) インセプションデッキのひな形(PDF形式:説明表示版) 大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05) Nutanix.でインテリジェントなDR Leapを使う Kubernetes で実践するクラウドネイティブ DevOps "監視とオブザーバビリティ"編 / Cloud Native DevOps with K... よく聞くけど、「SharePoint リストの 5,000 件問題」ってなんなの? ONIC-Japan-2019-OVN public Oracle GoldenGate Studioセットアップガイド データベース屋がHyperledger Fabricを検証してみた Viewers also liked (20)
Introduction to Cross Site Scripting ( XSS ) 100 Text Loans, Text Loans د. فوزية اخضر - تطبيق تجربة مدرسة المستقبل الشاملة - المعرض والمنتدى الدولي ل... NVM Lensink Gussinklo Makelaardij Presentatie World Economic Forum, la grande sciocchezza Social by Design REMIXED by Geoff Colon Lawyer in Vietnam Oliver Massmann Trans Pacific Partnership Agreement - Ratif... Plan Social Media Wawawiwa Design Buddhist Temple Dhammakaya Thai Policy Paper ESCENARIOS PROSPECTIVOS DE LA SEGURIDAD EN COLOMBIA FRENTE AL PR... Páginas Israelíticas – 3 – Amar las almas y no llorar Jill Watson Instructional Approaches that Set SLIFE up to succeed (and are go... Non-technical risks and their impact on mining - Trench, Sykes & Packey - Oct... Tackling complexity in giant systems: approaches from several cloud providers MUDE SUA VIDA! COMO ESTÁ A SUA SAÚDE? Encuesta Bogotá Cómo Vamos - Fragmento Canal Capital y Sec. Cultura Sexuality education in_europe Similar to Puppetのススメ (20)
Puppet Best Practices? at COOKPAD Chef Casual Talk Vol.1 最近、日本でPuppetの影が薄くなって悲しいので、 ここであえてPuppetの話をする OpenStackクラウド基盤構築ハンズオンセミナー 第1日:講義No2 関西オープンソース 2008 30days Albumの裏側 配布用Supervisordによるnode.jsの運用 商用ミドルウェアのPuppet化で気を付けたい5つのこと ネットワークエンジニアのための Puppet / Chef 今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~ OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo2 PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~ Personal Cloud Automation はてなにおける継続的デプロイメントの現状と Docker の導入 More from Gosuke Miyashita (20)
Walter ファミリーの紹介 at Shibuya.go#1 Serverspec at Testing Framework Meeting Serverspec at July Tech Festa 2013 Serverspec at hbstudy #45 Maglica - A Simple Internal Cloud Tool at #techkayac Inside Sqale's Backend at RubyConf Taiwan 2012 Inside Sqale's Backend at YAPC::Asia Tokyo 2012 Inside Sqale's Backend at Sapporo Ruby Kaigi 2012 Assurer - a pluggable server testing/monitoring framework Open Source System Administration Framework - Func How Danga::Socket handles asynchronous processing and how to write asynchrono... Danga::Socketの非同期処理の仕組みとPerlbalで非同期処理するプラグインを書く方法 Xen Summit 2008 Tokyo - Operating Xen domains through LL(Perl/Python) with li... Puppetのススメ
- 23. クラスでリソースをまとめる「sudo」クラスを定義class sudo{package { ‘sudo’: ensure => latest, alias => sudo } file { ‘/etc/sudoers’: source => 'puppet://server/module/sudoers', mode => 440, owner => $default_owner, group => $default_group, alias => sudoers }}node ‘mail.hoge.com’ { include sudo }package リソースfile リソースクラスをノードに適用
- 24. クラスを継承するbase クラスを定義class base { file { "/my/file": content => template("base.erb") }}class sub inherits base { # override the content File["/my/file"] {content => template("other.erb") }} base クラスを継承した sub クラスを定義base クラスの /my/file リソースの属性を上書き
- 25. リソースの依存関係file { '/etc/ssh': source => puppet://server/module/ssh,recurse => true,notify => Service[ssh]}service { 'ssh': name => sshd, ensure => running,subscribe => File[‘/etc/ssh’]}/etc/ssh以下のファイルに変更があれば、sshサービスリソースに再起動を促す/etc/sshリソースに変更があれば、サービスを再起動するnotifyかsubscribeのどちらか一方だけ定義すればOK
- 33. マニフェストを適用(クライアント/サーバ版)クライアントで適用# /usr/sbin/puppetd --server puppet.hoge.com \--no-daemonize --verbose --onetimeinfo: No classes to storeinfo: Caching catalog at /var/puppet/state/localconfig.yamlnotice: Starting catalog runnotice: //File[/etc/passwd]/mode: mode changed '777' to '644'notice: Finished catalog run in 0.03 seconds
- 43. Apacheマニフェスト(つづき)file { ‘/etc/httpd/conf.d/hoge.conf’: source => “puppet://$server/hoge.conf”, notify => Service[‘httpd’];‘/etc/httpd/conf.d/fuga.conf’: source => “puppet://$server/fuga.conf”, notify => Service[‘httpd’];}
- 65. execを濫用したマニフェストexec { 'sysctl add':command => 'echo "net.ipv4.netfilter.ip_conntrack_max = 131072" >> /etc/sysctl.conf \ && /sbin/sysctl -p',onlyif => "test -f /etc/sysctl.conf",unless => "grep 'net.ipv4.netfilter.ip_conntrack_max' /etc/sysctl.conf 2>/dev/null"}
- 68. Facter変数$ facterarchitecture => x86_64domain => hoge.comfacterversion => 1.5.7fqdn => puppet.hoge.comhardwareisa => x86_64hardwaremodel => x86_64hostname => h026id => miyainterfaces => eth0,eth1,sit0ipaddress => 192.168.10.26ipaddress_eth0 => 192.168.10.26ipaddress_eth1 => 192.168.122.106is_virtual => false...
- 87. ShadowPuppetclass ManifestExample< ShadowShadow::Manifest recipe :sample recipe :mysql, {:root_password=> 'OMGSEKRET'}defsample exec :foo, :command => '/bin/echo "foo" > /tmp/foo.txt' package :foo, :ensure => :installed file '/tmp/example.txt', :ensure => :present, :contents => Facter.to_hash_inspectenddef mysql(options) ...endend
- 93. リソースタイプに微妙なものがリソースタイプには、file, user, group, package, service, cron といったものがある上の例は、割りとOSに普遍的なものだけど、中にはnagios_command, nagios_contact, nagios_hostといった、Nagios固有のものがある。(Nagios固有のタイプで14もあり、リファレンスの中でも目立ってる)アプリケーション固有のものは、コアに入れないでモジュールにした方がいいのでは?