More Related Content
OpenStack を NetApp Unified Driver と NFS Copy Offload を使って拡張する Vol.002 Japan OpenStack User Group 34th Meetup - Handson Environment Using Kubernetes on Google Container Engine What's hot (19)
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク ネットワークエンジニアのための Puppet / Chef CloudFoundry 2 on Apache CloudStack 4.2.1 OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001 About OpenStack DBaas (trove) OpenStackクラウド基盤構築ハンズオンセミナー 第2日:講義No1 フルオープンソースでここまで出来る。OpenStackの構築と運用 100GbE NICを使ったデータセンター・ネットワーク実証実験 -メモ- Similar to クックパッドのスケーリング (20)
Personal Cloud Automation Infinite Debian - Platform for mass-producing system every second Kickstart, Puppet, Docker PXE @第一回成果報告会(2012/12/17) TAM 新人ディレクター システムスキルアップ プログラム第3回「Webサーバの選定」 Solaris 11 ディープダイブセミナー インストール編 「さくらのクラウド」スタートアップスクリプトを作ってみよう! - concrete5を題材に -(オープンソースカンファレンス2014 Shimane) Recently uploaded (9)
西都 採用サイト掲載用ピッチ資料 | 安心して働ける環境と成長できるキャリアパス Document from Suhani (2).pptx on the following topic Fellowship Co.,Ltd. Company Overview for Students 株式会社フライク_______採用ピッチ資料_____update20250801 Syslabo_Company Guide_for saleshub_20250808 「AI×仕事の進め方」研修資料.pptx RIZAPビジネスイノベーション株式会社 AI活用の成果が変わる!生成AI時代の速読・読解力トレーニング「AI Reading Lab」 【QYResearch】世界製薬業界の市場変革と将来展望における多角的な事業展開の探求 自動鉱山スキャナー、グローバルトップ11企業のランキングと市場シェア2025~2031年.pdf クックパッドのスケーリング
- 2. 自己紹介
■ 高田悟史(たかださとし)
■ 787万人を支えるインフラチーム
■ スケール関連を担当中
- 12. クックパッドのサーバー増設の流れ
サーバ管理ツール
Rails
boot用サーバ
(2-1)kickstart.cfgの取得
DHCP
(1)PXE Boot
tftp
New
(3)puppetd Apache
(2-2)パッケージ取得
puppetmasterd
- 16. kickstart.cfgを自動生成
■ http://ブートサーバ/deployment/kickstart
■ ホスト名
network --device eth0 --bootproto dhcp --hostname test1
■ %post に出力される
# eth0
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.0.1
NETMASK=255.255.255.0
EOF
- 17. PXE BootとKickstartとPuppet
サーバ管理ツール
Rails
boot用サーバ
(2-1)kickstart.cfgの取得
DHCP
(1)PXE Boot
tftp
New
(3)puppetd Apache
(2-2)パッケージ取得
puppetmasterd
- 20. Puppetの構成
puppetmasterd
(1)Manifestを取得
puppetd puppetd
(2)Manifestを実行
- 21. パッケージの統一(Passengerの例)
package {
'passenger':
provider => 'gem',
notify => Service['httpd'],
ensure => '2.2.5';
}
- 22. サーバごとに異なる設定(/etc/my.cnfの例)
■ Manifest
$mysql_server_id = $hostname ? {
db1 => 10001,
db2 => 10002,
db3 => 10003,
db4 => 10004,
default => 'error'
}
■ Template
server-id = <%= mysql_server_id %>
- 23. PXE BootとKickstartとPuppet
サーバ管理ツール
Rails
boot用サーバ
(2-1)kickstart.cfgの取得
DHCP
(1)PXE Boot
tftp
New
(3)puppetd Apache
(2-2)パッケージ取得
puppetmasterd
- 26. まとめ
■ サーバ増設のスピードは重要
■ OSのインストールにかかる時間は変わらな
いが、手間がかからなくなった
■ Puppetを導入して、ソフトウェアのインス
トール/設定の手間がほぼ0になった