SlideShare a Scribd company logo
1 Day Cloud on Your Lab 
- Apach CloudStack Advent Calendar ‘14 - 
Japan CloudStack User Group, 
Apache CloudStack Project, 
Go Chiba @go_chiba
About Me 
 Go Chiba 
– 某SIer勤務 
*Stackとかいじってます 
Apache CloudStack は趣味です 
– Apache CloudStack コミッター兼PMC メンバー 
メイン: ドキュメント/GUIの日本語化 
その他: コミッター選出, マーケティング. . .etc 
– Contact 
mailto: go.chiba@gmail.com | gochiba@apache.org 
Twitter: @go_chiba
Introduction 
本資料はApache CloudStack Advent Calendar 2014 
12/8用の資料になります。 
まだチャレンジ中の内容を 
含むため何かありましたら 
Twitter/Mailなどで 
お声かけください
Introduction 
 最近のCloudStackの状況 
– Cloud Stack 4.5の新機能をチラ見するby @yterukawa 
– Apache CloudStack 4.5.0 をコンパイルして使ってみる 
by @giraffeforestg 
少しずつだが3rd Party連携がチラホラ 
最新機能だけでなく既存の機能も確認しておきたい
Introduction 
 ユーザー的観点 
やっぱ気になる最新バージョン 
でもビルド出来るか心配... 
そもそも開発じゃないのにビルドとか... 
 コミュニティ的観点 
ユーザーからのフィードバックは大事、とても大事... 
ユーザーへの配慮が足りない?(How to Buildのみ...)
In addition... 
 ユーザー/Devのギャップ 
– もっとユーザーフレンドリーな方法を 
 デザインが難しい 
– All-in-One だけじゃ物足りない(HA構成とか) 
 お手軽に触りたい 
– その日のうちに触れる環境を
そこで... 
+
Why Ansible? 
 sshでシンプル 
– 泥臭いオペレーションも自動化できそう 
 pythonistaだから 
– まぁ、最悪コードみればいいべ的な 
 ラップトップ環境を想定 
– 数台の小規模環境ならSSHベースでもいいんじゃね?
Environments 
MBA(Mid 2011) 
VirtualBox : v4.3.14 r95030 
Vagrant : v1.6.5 
Ansilbe : v1.7.2 
CloudStack : 4.6-SNAPSHOT(master)
Details 
 開発メンバーの1人でもあるRohit氏のplaybookを参考 
– https://github.com/bhaisaab/peppercorn 
 CentOS向けのタスクを追加 
- name: Download packages(RedHat) 
when: ansible_os_family == "RedHat“ # Check OS Familly 
get_url: dest=/home/vagrant/{{ item }} 
url={{ jenkins_url }}{{ item }} 
with_items: 
- cloudstack-agent-4.6.0-SNAPSHOT.el6.x86_64.rpm 
- cloudstack-awsapi-4.6.0-SNAPSHOT.el6.x86_64.rpm
Details 
 本家のビルド済みパッケージを利用 
– http://jenkins.buildacloud.com 
– 最新のコード 
– ”ある程度” Stable
Details 
 githubからcloneしてhostsファイルを修正 
 その後、ansible-playbookでplaybookを実行 
☁ $ git clone https://github.com/go/TestCloud.git 
13:03:10 
Cloning into 'TestCloud'... 
remote: Counting objects: 53, done. 
remote: Compressing objects: 100% (33/33), done. 
remote: Total 53 (delta 2), reused 50 (delta 2) 
Unpacking objects: 100% (53/53), done. 
Checking connectivity... done. 
☁ $ cd TestCloud 
13:03:56 
☁ TestCloud [master] $ ansible-playbook –i hosts playbook.yml
Details 
 roles 
– kvm 
KVMインストール 
bridge設定など 
– nfs 
NFS用ディレクトリ作成など 
– mysql 
MySQLインストール 
設定ファイルのコピーなど 
– management 
CloudStackインストール 
初期設定など 
. 
├── README.md 
├── Vagrantfile 
├── hosts 
├── playbook.yml 
└── roles 
├── common 
│ ├── handlers 
│ └── tasks 
├── kvm 
│ ├── files 
│ ├── handlers 
│ ├── tasks 
│ └── templates 
├── management 
│ ├── meta 
│ ├── tasks 
│ └── vars 
├── mysql 
│ ├── handlers 
│ ├── tasks 
│ ├── templates 
│ └── vars 
└── nfs 
├── files 
└── tasks
Result 
 とりあえずサービスが動くところまで確認
Issues 
 遅い! 
– 本家のJenkinsサーバー/リポジトリが遅い...(回線の問題?) 
– 国内リポジトリ作る? 
OR 
– Code baseでパッケージビルドまでやっちゃう?
Issues 
 美しくない! 
– 土日でゴリゴリしたからまだ不十分な点が多々あり 
– ネットワーク周り 
– 変数の集約化(バージョン, IPとか) 
– Distribution部分のモジュール化(RedHat, Ubuntu) 
- name: Install basic packages(Ubuntu) 
when: ansible_os_family == “Ubuntu“ # そもそもDistribution毎にファイル分割するべき... 
... 
- name: Install basic packages(RedHat) 
when: ansible_os_family == "RedHat“ 
...
TODO 
 冪等性の向上 
> 少しでもデプロイを早く!, 条件チェックを見直し 
 変数を整理 
> 複数バージョンを対象にデプロイできるように 
- name: Setup CloudStack database 
shell: cloudstack-setup-databases cloud:cloudpassword@localhost --deploy-as=root -i 
{{ ansible_ssh_host }} 
when: cloudstackinstalled|success # 条件は正しいか? 
run_once: true 
args: 
creates: /var/lib/mysql/cloud # DBが作られていない場合は?
TODO 
 All-in-One構成以外を定義 
> マルチノードやHA構成もお手軽に試せるように 
– 分散VR 
– Inter VPC network ...etc
Happy Merry Christmas!! 
それではみなさん良いクリスマスを♪

More Related Content

PDF
Apache CloudStack -コントリビューションの手引き-
Go Chiba
 
PDF
AWSをコードで定義する
Sugawara Genki
 
PDF
AWS Lambdaで作るクローラー/スクレイピング
Takuro Sasaki
 
PDF
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Takeshi Mikami
 
PDF
Elixir Meetup #1 Loggerの構造と拡張
Sugawara Genki
 
PDF
Rally Updates Mitaka and Next step for Newton
Yuki Nishiwaki
 
PDF
Lambdaによるクラウド型言語の実装
Sugawara Genki
 
PDF
前座Lambda
Akio Katayama
 
Apache CloudStack -コントリビューションの手引き-
Go Chiba
 
AWSをコードで定義する
Sugawara Genki
 
AWS Lambdaで作るクローラー/スクレイピング
Takuro Sasaki
 
Apache Airflow入門 (マーケティングデータ分析基盤技術勉強会)
Takeshi Mikami
 
Elixir Meetup #1 Loggerの構造と拡張
Sugawara Genki
 
Rally Updates Mitaka and Next step for Newton
Yuki Nishiwaki
 
Lambdaによるクラウド型言語の実装
Sugawara Genki
 
前座Lambda
Akio Katayama
 

What's hot (20)

PDF
Single Command Deployのための gradle-aws-plugin講座
都元ダイスケ Miyamoto
 
PDF
Serverless frameworkでお手軽lambda運用 at #nseg #93
ko ty
 
PPTX
Serverless frameworkを使ってみた話 at #nseg #90
ko ty
 
PDF
はじめての Gatling
Naoya Nakazawa
 
PDF
DevStackで始めるCloud FoundryとBOSH
i_yudai
 
PDF
LocalStack
chibochibo
 
PDF
20140930 anything as_code
Sugawara Genki
 
PDF
20140612_Docker上でCloudStackを動かしてみる!!
Midori Oge
 
PDF
aws上でcloud foundryを構築してみた
kokuboyuichi
 
PDF
DynamoDBのまえにキャッシュおく奴
Sugawara Genki
 
PDF
Leap MotionとLambdaで「第九」を鳴らしてみる
Tsuyoshi Seino
 
PDF
イケてる分析基盤をつくる
Atsushi Hayakawa
 
KEY
Leiningen超速入門
Kiyotaka Kunihira
 
PDF
Kubernetes helm & helmc
Aya Ozawa (Igarashi)
 
PDF
MSPとしてのオペチー向けReadOnly IAMポリシー
Makoto Miida
 
PDF
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
Naoto TAKAHASHI
 
PDF
Cloud Foundry V2を、もうちょっと深掘りしよう
Kazuto Kusama
 
PDF
nginxのログを非スケーラブルに省メモリな方法で蓄積する
Atsushi Hayakawa
 
PDF
serverless framework + AWS Lambda with Python
masahitojp
 
PPTX
AKS と ACI を組み合わせて使ってみた
Hideaki Aoyagi
 
Single Command Deployのための gradle-aws-plugin講座
都元ダイスケ Miyamoto
 
Serverless frameworkでお手軽lambda運用 at #nseg #93
ko ty
 
Serverless frameworkを使ってみた話 at #nseg #90
ko ty
 
はじめての Gatling
Naoya Nakazawa
 
DevStackで始めるCloud FoundryとBOSH
i_yudai
 
LocalStack
chibochibo
 
20140930 anything as_code
Sugawara Genki
 
20140612_Docker上でCloudStackを動かしてみる!!
Midori Oge
 
aws上でcloud foundryを構築してみた
kokuboyuichi
 
DynamoDBのまえにキャッシュおく奴
Sugawara Genki
 
Leap MotionとLambdaで「第九」を鳴らしてみる
Tsuyoshi Seino
 
イケてる分析基盤をつくる
Atsushi Hayakawa
 
Leiningen超速入門
Kiyotaka Kunihira
 
Kubernetes helm & helmc
Aya Ozawa (Igarashi)
 
MSPとしてのオペチー向けReadOnly IAMポリシー
Makoto Miida
 
GitHubのリポジトリ(32個)を 覗いてみよう。 ただし、READMEだけね
Naoto TAKAHASHI
 
Cloud Foundry V2を、もうちょっと深掘りしよう
Kazuto Kusama
 
nginxのログを非スケーラブルに省メモリな方法で蓄積する
Atsushi Hayakawa
 
serverless framework + AWS Lambda with Python
masahitojp
 
AKS と ACI を組み合わせて使ってみた
Hideaki Aoyagi
 
Ad

Similar to 1day cloud on_your_lab (20)

PDF
Cloud OS「Apache CloudStack」をお手軽に使ってみる方法
samemoon
 
PPTX
Devops4cloudlbuilder ja
Go Chiba
 
PDF
OpenStack & Ansible で実現する自動化
Hideki Saito
 
PPTX
Community_Update_JP
Go Chiba
 
PDF
cloudstack devcloud
Kimihiko Kitase
 
PPTX
Ansible ではじめるインフラのコード化入門
Sho A
 
PDF
20130803 OSC@Kyoto CloudStackユーザー会
samemoon
 
PDF
Apache CloudStack Documentation
Kimihiko Kitase
 
PDF
20131019 OSC@Tokyo CloudStackユーザー会
samemoon
 
PDF
第14回cloudstackユーザー会
samemoon
 
PDF
CloudStack Collaboration Conference 2013 レポート
samemoon
 
PDF
使ってみよう CloudStack
samemoon
 
PDF
第12回CloudStackユーザ会_ApacheCloudStack最新情報
Midori Oge
 
PDF
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
Masahito Zembutsu
 
PPTX
OpenStack本番環境の作り方 - Interop 2016
VirtualTech Japan Inc.
 
PPTX
作られては消えていく泡のように儚いクラスタの運用話
Tsuyoshi Torii
 
PDF
20130714 July Tech Festa 日本CloudStackユーザー会
samemoon
 
PDF
実環境での運用自動化とその管理方法 - OpenStack Days 2017 講演資料
VirtualTech Japan Inc.
 
PDF
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
Masaya Aoyama
 
PDF
Kube con + cloudnativecon 2017 社内報告会(外部公開用)
Masaya Aoyama
 
Cloud OS「Apache CloudStack」をお手軽に使ってみる方法
samemoon
 
Devops4cloudlbuilder ja
Go Chiba
 
OpenStack & Ansible で実現する自動化
Hideki Saito
 
Community_Update_JP
Go Chiba
 
cloudstack devcloud
Kimihiko Kitase
 
Ansible ではじめるインフラのコード化入門
Sho A
 
20130803 OSC@Kyoto CloudStackユーザー会
samemoon
 
Apache CloudStack Documentation
Kimihiko Kitase
 
20131019 OSC@Tokyo CloudStackユーザー会
samemoon
 
第14回cloudstackユーザー会
samemoon
 
CloudStack Collaboration Conference 2013 レポート
samemoon
 
使ってみよう CloudStack
samemoon
 
第12回CloudStackユーザ会_ApacheCloudStack最新情報
Midori Oge
 
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
Masahito Zembutsu
 
OpenStack本番環境の作り方 - Interop 2016
VirtualTech Japan Inc.
 
作られては消えていく泡のように儚いクラスタの運用話
Tsuyoshi Torii
 
20130714 July Tech Festa 日本CloudStackユーザー会
samemoon
 
実環境での運用自動化とその管理方法 - OpenStack Days 2017 講演資料
VirtualTech Japan Inc.
 
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
Masaya Aoyama
 
Kube con + cloudnativecon 2017 社内報告会(外部公開用)
Masaya Aoyama
 
Ad

More from Go Chiba (15)

PPTX
RancherJP振り返ってみた
Go Chiba
 
PPTX
Kubernetesと暮らすRancherな生活
Go Chiba
 
PPTX
DockerCon '17 Feedback -User Stories- at Docker Meetup Tokyo
Go Chiba
 
PPTX
DockerCon '17 Feedback and Introduction of Longhorn at Rancher JP
Go Chiba
 
PPTX
DockerCon '17 Feedback at PaaS JP
Go Chiba
 
PPTX
Introduction of Rancher at OSC Tokyo 17 Spring
Go Chiba
 
PPTX
GUI&基本操作、CLI編
Go Chiba
 
PPTX
CI/CD with Rancher CLI + Jenkins
Go Chiba
 
PPTX
Introduction of skippbox
Go Chiba
 
PPTX
CCCEU Feedback
Go Chiba
 
PPTX
Japan stats2014
Go Chiba
 
PPTX
Instruction to build Apache CloudStack docs with Sphinx
Go Chiba
 
PDF
Presentation on Japanese doc sprint
Go Chiba
 
PDF
Apache CloudStack 日本語ドキュメント翻訳会資料
Go Chiba
 
PDF
How to contribute Apache CloudStack
Go Chiba
 
RancherJP振り返ってみた
Go Chiba
 
Kubernetesと暮らすRancherな生活
Go Chiba
 
DockerCon '17 Feedback -User Stories- at Docker Meetup Tokyo
Go Chiba
 
DockerCon '17 Feedback and Introduction of Longhorn at Rancher JP
Go Chiba
 
DockerCon '17 Feedback at PaaS JP
Go Chiba
 
Introduction of Rancher at OSC Tokyo 17 Spring
Go Chiba
 
GUI&基本操作、CLI編
Go Chiba
 
CI/CD with Rancher CLI + Jenkins
Go Chiba
 
Introduction of skippbox
Go Chiba
 
CCCEU Feedback
Go Chiba
 
Japan stats2014
Go Chiba
 
Instruction to build Apache CloudStack docs with Sphinx
Go Chiba
 
Presentation on Japanese doc sprint
Go Chiba
 
Apache CloudStack 日本語ドキュメント翻訳会資料
Go Chiba
 
How to contribute Apache CloudStack
Go Chiba
 

1day cloud on_your_lab

  • 1. 1 Day Cloud on Your Lab - Apach CloudStack Advent Calendar ‘14 - Japan CloudStack User Group, Apache CloudStack Project, Go Chiba @go_chiba
  • 2. About Me  Go Chiba – 某SIer勤務 *Stackとかいじってます Apache CloudStack は趣味です – Apache CloudStack コミッター兼PMC メンバー メイン: ドキュメント/GUIの日本語化 その他: コミッター選出, マーケティング. . .etc – Contact mailto: [email protected] | [email protected] Twitter: @go_chiba
  • 3. Introduction 本資料はApache CloudStack Advent Calendar 2014 12/8用の資料になります。 まだチャレンジ中の内容を 含むため何かありましたら Twitter/Mailなどで お声かけください
  • 4. Introduction  最近のCloudStackの状況 – Cloud Stack 4.5の新機能をチラ見するby @yterukawa – Apache CloudStack 4.5.0 をコンパイルして使ってみる by @giraffeforestg 少しずつだが3rd Party連携がチラホラ 最新機能だけでなく既存の機能も確認しておきたい
  • 5. Introduction  ユーザー的観点 やっぱ気になる最新バージョン でもビルド出来るか心配... そもそも開発じゃないのにビルドとか...  コミュニティ的観点 ユーザーからのフィードバックは大事、とても大事... ユーザーへの配慮が足りない?(How to Buildのみ...)
  • 6. In addition...  ユーザー/Devのギャップ – もっとユーザーフレンドリーな方法を  デザインが難しい – All-in-One だけじゃ物足りない(HA構成とか)  お手軽に触りたい – その日のうちに触れる環境を
  • 8. Why Ansible?  sshでシンプル – 泥臭いオペレーションも自動化できそう  pythonistaだから – まぁ、最悪コードみればいいべ的な  ラップトップ環境を想定 – 数台の小規模環境ならSSHベースでもいいんじゃね?
  • 9. Environments MBA(Mid 2011) VirtualBox : v4.3.14 r95030 Vagrant : v1.6.5 Ansilbe : v1.7.2 CloudStack : 4.6-SNAPSHOT(master)
  • 10. Details  開発メンバーの1人でもあるRohit氏のplaybookを参考 – https://github.com/bhaisaab/peppercorn  CentOS向けのタスクを追加 - name: Download packages(RedHat) when: ansible_os_family == "RedHat“ # Check OS Familly get_url: dest=/home/vagrant/{{ item }} url={{ jenkins_url }}{{ item }} with_items: - cloudstack-agent-4.6.0-SNAPSHOT.el6.x86_64.rpm - cloudstack-awsapi-4.6.0-SNAPSHOT.el6.x86_64.rpm
  • 11. Details  本家のビルド済みパッケージを利用 – http://jenkins.buildacloud.com – 最新のコード – ”ある程度” Stable
  • 12. Details  githubからcloneしてhostsファイルを修正  その後、ansible-playbookでplaybookを実行 ☁ $ git clone https://github.com/go/TestCloud.git 13:03:10 Cloning into 'TestCloud'... remote: Counting objects: 53, done. remote: Compressing objects: 100% (33/33), done. remote: Total 53 (delta 2), reused 50 (delta 2) Unpacking objects: 100% (53/53), done. Checking connectivity... done. ☁ $ cd TestCloud 13:03:56 ☁ TestCloud [master] $ ansible-playbook –i hosts playbook.yml
  • 13. Details  roles – kvm KVMインストール bridge設定など – nfs NFS用ディレクトリ作成など – mysql MySQLインストール 設定ファイルのコピーなど – management CloudStackインストール 初期設定など . ├── README.md ├── Vagrantfile ├── hosts ├── playbook.yml └── roles ├── common │ ├── handlers │ └── tasks ├── kvm │ ├── files │ ├── handlers │ ├── tasks │ └── templates ├── management │ ├── meta │ ├── tasks │ └── vars ├── mysql │ ├── handlers │ ├── tasks │ ├── templates │ └── vars └── nfs ├── files └── tasks
  • 15. Issues  遅い! – 本家のJenkinsサーバー/リポジトリが遅い...(回線の問題?) – 国内リポジトリ作る? OR – Code baseでパッケージビルドまでやっちゃう?
  • 16. Issues  美しくない! – 土日でゴリゴリしたからまだ不十分な点が多々あり – ネットワーク周り – 変数の集約化(バージョン, IPとか) – Distribution部分のモジュール化(RedHat, Ubuntu) - name: Install basic packages(Ubuntu) when: ansible_os_family == “Ubuntu“ # そもそもDistribution毎にファイル分割するべき... ... - name: Install basic packages(RedHat) when: ansible_os_family == "RedHat“ ...
  • 17. TODO  冪等性の向上 > 少しでもデプロイを早く!, 条件チェックを見直し  変数を整理 > 複数バージョンを対象にデプロイできるように - name: Setup CloudStack database shell: cloudstack-setup-databases cloud:cloudpassword@localhost --deploy-as=root -i {{ ansible_ssh_host }} when: cloudstackinstalled|success # 条件は正しいか? run_once: true args: creates: /var/lib/mysql/cloud # DBが作られていない場合は?
  • 18. TODO  All-in-One構成以外を定義 > マルチノードやHA構成もお手軽に試せるように – 分散VR – Inter VPC network ...etc
  • 19. Happy Merry Christmas!! それではみなさん良いクリスマスを♪