infra as code sapppro casual 札幌の開催趣旨とtest-kitchenの話

Post on 06-Aug-2015

626 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Infrastructure as Code CasualSapporo #0

Social Twitter: marcy_terui Facebook: marcy.terui Github: marcy-terui

Work R&D (Automation, IoT) Dev for Ops Cloud Architecting

Cloud, Infrastructure

AWS認定でぶおっぷすえんじーにゃ AWS以外も触りたいお年頃 クラウドゆとり世代っぽい

Infrastructure as Code

Chef歴2年

最近は周辺ライブラリ作ったり(OSS) YAPC落ちたorz

誰ですか?Masashi Terui

照井 将士

所属 ジグソー株式会社 サービスユニット技術開発グループ リーダー

アラサー2児の父

余談ですが

Assosiate Level

Developer

SysOps Administrator

Proffesional Level

DevOps Engineer

えっ(゜o゜; そういうことじゃないよね?www

海外のDevOps Engineerは日本で言うところの

自動化おじさんっぽい

試験問題もそんな感じだったし、 GitHubでChef周りにいる人達を見てもとわりとそんな感じ

経緯

一人でやってると割と辛い

誰かとシェアしたかった

去年、東京・関西に混ぜてもらって

一回やってみたけど、一人で運営と思うと。。。

仲間ができたのでやってみよう

やりやすい、楽しくカジュアルな感じで

趣旨

これは(一般的な)コミュニティではない

自分は代表ではない、ただの言い出しっぺ

権威も上下関係もない

同窓会や近況報告会でもない

セミナー・勉強会形式とか、ハンズオンとかやらない

定期開催ではない

好きなことを話したい人が集まって好きな様に話す

一方向な勉強会ではなく、双方向シェアする

実践してほしい(そして次回があればは話してほしい)

次回があるかは皆様次第です。 話したいこと、聞きたいことがあったら言ってください。

はい次

Test-Kitchenを中心とした Cookbook(Playbook)開発フロー

Test-Kitchen is 何

Cookbookのテストに必要な一連のワークフローを

支援するユーティリティ

gem install test-kitchen

YAMLで記述(ERBになってるのでコード埋め込みも可能)

プラガブル(1.4からさらに強化)

並列実行可能

これがない生活は考えられない(自分は)

Driverインスタンスの立ち上げ・管理を行う

元々はプラグインといえばほぼコレのことだった

kitchen-vagrant(VirtualBox)

kitchen-ec2

kitchen-azure_vm

kitchen-azureもあるけど動かない(から作った)

kitchen-docker_cli

kitchen-dockerもあるけど更新遅い・DockerでSSH使いたくない(から作った)

and more

Provisionerプロビジョニングを行う

chef-solo chef-zero shell kitchen-ansibleその場で依存モジュール入れてAnsibleのビルド初めたり、Busser(後述)でテストする

ためにRuby入れたり、まずソース汚いから色々考えなおした方が良いと思った kitchen-itamae kitchen-provisioner-local_shellプロビジョニングフレームワーク毎回インストールしなくてよくね?(から作った)Kitchen-verifier-shellのほぼ丸パクリ(作者許可済み) and more

Transportコマンドやファイルの転送を行う

何故、Transporterにしなかったのか?

ssh

kitchen-winrm

kitchen-ec2は対応してる模様

kitchen-azure_vmは。。。pull req待ってます(ボソ

kitchen-docker_cli

and more

Verifierテストを行う

busser

busser-serverspecが事実上デファクト

kitchen-verifier-shell

元々、対象の外からつついてテストしようというServerspecや、外からテストして

なんぼというInfratasterは、できるならセットアップ済みの環境からさくっと叩き

たい by sawanoboly氏

これは他には無いかも(知らない)

CentOSはDockerで高速に

Amazon LinuxはEC2で

Chef-Zeroでプロビジョニング

Itamaeも試してみよっか

Serverspecでテスト

全パターン並列でやっちゃおう

--- platforms: - name: centos-6.6 - name: amazon-2015.03 image_id: ami-1ab3ce73 transport: name: ssh username: ec2-user ssh_key: ~/.ssh/id_rsa provisioner: name: chef-zero driver: name: docker_cli transport: name: docker_cli suites: - name: chef run_list: - kitchen/recipes/default.rb - name: itamae provisioner: name: itamae run_list: - recipe/default.rb

source "https://rubygems.org"

gem 'test-kitchen' gem ‘kitchen-docker_cli' gem 'kitchen-ec2' gem 'kitchen-itamae'

$ bundle install —binstub $ ./bin/kitchen test -c 6 -p

番外編

Test-KitchenでShell-VerifierとDockerCli-Driverで

高速にServerspecテストを回す

http://qiita.com/Marcy/items/8a85ae78a21787f57bca

DockerCli-Driver + LocalShell-Provisoner(Itamae) +

Shell-Verifier(Serverspec)でTest-Kitchen最速フロー

http://qiita.com/Marcy/items/7ca000f83d08266ee352

Enjoy!!

top related