Quantcast
Channel: ウィリアムのいたずらの、まちあるき、たべあるき
Viewing all articles
Browse latest Browse all 7268

JTF2014に行って来た その4 OpenStack Swift+Puppet

$
0
0
22日、JTF2014に行って来た話のつづき

「OpenStackSwift」をPuppetで数百台自動構築して見えた課題と現状のベストプラクティス

をメモメモ



・自己紹介

1.OpenStackSwiftとは
米国RackSpaceのオンラインストレージサービスで使われていた基盤ソフト
IaaS(nova)で使うならVMイメージのバックアップストレージ
世界中でエンタープライズ用途の適用

技術概要
・Proxyは振り分け、Storageはデータ格納
・リングファイル(郵便番号と住所の対応みたいなの)
・冗長度を確保しながらデータを書く→自動復旧

Proxyを増やすとスループットが増える
Storageを増やせば、容量が増える

Swiftを使うのは
・スケールアウト型
・長期保存型
・高速・性能重視
Swiftリードに性能が出る

利用例
・階層型ストレージ
  バックエンド

2.数百台自動構築

自動構築に至った理由と目標
構築サーバー数百台、検証本番合計6セット
→自動構築

kickstart
puppet 設定ファイルのデプロイ
subversion マニュフェスト及び構築資材の配布
pssh 並列シェルの実行(ぱられるしぇる)
IPMI 電源管理

puppetを利用する上の懸念
終局見積もりは千台をこえる、Puppetマスタは耐えられるか
ローカルデプロイ方式
 (クライアント/サーバー方式ではなく)
 理由:証明書

4ステップ
・構成サーバーIPMIで電源ON
・KickstartでOS入れる
・資材とマニュフェストをチェックアウト
・puppetを使って一括ファイルデプロイ

自動試験も
・Tempest(てんぺすと):Swift
 コミュニティ版1パターン通ればOK
・Tempestでできないこと
  TempestはAPI試験しかしない
  自分で作る部分も

遭遇したトラブル
・検証環境のファイルを本番環境にデプロイ
・違う理由で止まっていたプロセス→puppetの実行で意図せず起動
・設定が反映されていないものがあり、想定外の事象

なぜ起きる
・本番環境へのプロビジョニング運用は正しくないのでは
  puppetは悪くない→ヒューマンエラー

3.これからのインフラプロビジョニング
「1度構成したサーバーには2度と変更を加えない。
 更新時は新たな環境に差し替え」

OSのイメージ作成から一貫してプロビジョニング
 →Packer,Docker

Packer みっちぇるはしもとが作っている

Packerユースケース
  クラウドの移行

Dockerの特徴
・ポータビリティ
・バージョニング
・API

基本はPackerを使っておく、Dockerはプラットフォーム

これからのプロビジョニングのベストプラクティス
・コード化したインフラ/アプリ/テストコードをCIと連携してプロビジョニングする

今後取り組むべき課題
・DBはImmutable
・ログ管理
・RHEL5
・プライベートリポジトリ管理

Immutableなインフラ→PackerとDocker

Viewing all articles
Browse latest Browse all 7268

Trending Articles