Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Tech-circle #4 Consulハンズオンセミナー

1.237 visualizaciones

Publicado el

3/25に実施した
Tech-Circle 第4回Consul ハンズオンセミナー資料となります。

併せて実践手順下記3つを参照ください。
http://qiita.com/_BSmile_/items/c43484ee31885b89c081
http://qiita.com/_BSmile_/items/fa6e6c19e05fec1bb52a
http://qiita.com/_BSmile_/items/f788e27c064aab2697ba

Publicado en: Tecnología
  • Sé el primero en comentar

Tech-circle #4 Consulハンズオンセミナー

  1. 1. Tech-circle #4 Consulハンズオンセミナー
  2. 2. 悲しいお知らせです
  3. 3. From: xxxxx To: Tech-Circle Hi TechCircle, Stickers are on the way! Xxxxx という返事が。 Feb. 20th 我々、TechCircleチームは、皆様に喜んで頂くため Conslのステッカーが欲しいと開発元へ依頼しました。
  4. 4. _人人人人人人人人人人人人_ > 間に合いませんでした < >返信あったの2月20日だよ!<  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
  5. 5. Who am I? “Name” : “ ”わたなべ はやと , “Age” : “33” , “Conpany” : “ ”株式会社 アーベルソフト , “Family” : [ “ ”家内1 , “ ”一姫二太郎 ] , “Account” : [ { “Twitter” : “@_BSmile_”, ※アンダースコア忘れずに。 “github” : “https://github.com/bsmile/” , “qiita” : “http://qiita.com/_BSmile_” }
  6. 6. Agenda 1. Consulについて 2. Consulを体験してみよう 3. LT でConsulについて深く・カジュアルに 4. 最後に
  7. 7. What's Consul 1. Consulについて
  8. 8. 1. Consulについて Consulとは hashicorp社によって作成された 4つの機能をもった クラスタ管理型オーケストレーションツール
  9. 9. 1. Consulについて Consulとは ・ 必要とする物は ConsulのBinaryファイル1つのみ (web-uiは別途必要) ・ Consulは 自身のシステムにAgentという形で 潜り込みServerへ情報を送る事が出来る ・ 状態を参照する為のweb画面は、オマケ程度 代表する4つそれぞれの機能を紹介していきます。
  10. 10. Consul Agent (Client) DC2 DC3DC1 1. Consulについて 1.1 Service Discovery Consulでサービスの監視を行う事と、登録されたサービスをDNSや HTTPを介して情報を共有する事が可能になります。 http db file DNS Request HTTP Request Consul Server
  11. 11. 1. Consulについて 1.1 Service Discovery [どういったサービス監視?] 例: redisチェック { "service": { "name": "redis", "tags": ["master"], "address": "127.0.0.1", "port": 8000, "checks": [ { "script": "/usr/local/bin/check_redis.py", "interval": "10s" } ] } } http://www.consul.io/docs/agent/services.html
  12. 12. 1. Consulについて 1.1 Service Discovery [検索] 例: DNSでの問い合わせによるサービスの確認 ubuntu@docker:~$ dig @172.17.0.2 -p 8600 redis.service.consul ANY – 略 -- ;; ANSWER SECTION: redis.service.consul. 0 IN A 172.17.0.3 – 略 --
  13. 13. 1. Consulについて 1.1 Service Discovery [検索] 例: HTTPでの問い合わせによるサービスの確認 ubuntu@docker:~$ curl -s -X GET http://172.17.0.2:8500/v1/health/checks/http | jq ".[]" { "ServiceName": "http", "ServiceID": "http", "Output": "200n", "Notes": "", "Status": "passing", "Name": "Service 'http' check", "CheckID": "service:http", "Node": "01412ac451a2" }
  14. 14. 1. Consulについて 1.2 FailureDetection(Health Checking) Consul ClientからServerに対して監視しているサービスやノードの状況を送 信する事が可能。 また、この「状況」に応じてConsul Agentはジョブを実行する事ができます。 Consul Agent (Server) Consul Agent (Client) http db file Response Code check Query check Disk Free(df) check Watch: Disk Extend
  15. 15. 例) Webサーバが停止した時 Consul-Agent側で webサーバをリスタートする スクリプトを実行させる ※ ハンズオンで実施します。 1. Consulについて 1.2 FailureDetection(Health Checking)
  16. 16. Consul Agent (Server) Consul Agent (Client) http 1. Consulについて 1.2 FailureDetection(Health Checking) 200 200 Not Responding if code -ne 200 ; then echo “Caution!” web-restart.sh fi Restart※ ※ Consulでは、execというオプション指定で任意のコマン ドをリーモート実行する事が可能  例) consul exec -node="ノード名" df -h
  17. 17. Consul Agent (Server) Consul Agent (Client) http 1. Consulについて 1.2 FailureDetection(Health Checking) Not Responding 情報を送信 if code -ne 200 ; then echo “Caution!” web-restart.sh fi Consul Serverの役割は  1. クライアントの情報を保持  2. クライアントの情報を複製  3. クラスタ化し、管理を容易にする watch(状態監視)
  18. 18. 1. Consulについて 1.3 MultiDatacenter Consul Agent (Client) DC2 DC3DC1 http db file Consul Server 新たなリージョンが誕生した場合で も、Consul Server間通信が可能な NW構成となっていれば、容易に拡 張する事が可能です。 ※ 一般的なインターネットグローバ ル回線を使用している場合はまた 別の話。 対応方法は、consul起動時のオプ ションに[ -dc newDC ]を追加すれ ば良いだけ。 (デフォルトはDC1)
  19. 19. 1. Consulについて 4つの機能について 1.4 KeyValueStore ConsulではKVSを実装しており、呼び出しにはHTTP APIを利用します。 作成方法は2つで 1. HTTP APIを使用 2. web-ui上からの作成 が可能となります。 また、KVSの変化をトリガーとさせる事も可能です。
  20. 20. Agenda 1. Consulについて 2. Consulを体験してみよう 4. 最後に 3. LT でConsulについて深く・カジュアルに
  21. 21. Ubuntu Server 14.04 LTS Docker Container1 (consul-sv1) Consul Agent Server WebUI Container2 (consul-cl1) Consul Agent Client nginx 2. Consulを体験してみよう [演習1]Consul ServerとClientを作成し、Clientをクラスタ ノードへJoinさせてみよう Join
  22. 22. Ubuntu Server 14.04 LTS Docker Container1 (consul-sv1) Consul Agent Server WebUI Container2 (consul-cl1) Consul Agent Client nginx 2. Consulを体験してみよう [演習2]Consulクライアント上のnginxが機能停止した事を サーバが検出し、新しくwebサーバを立ち上げてみよう Container3 (consul-fo) Consul Agent Client nginx Leave Join
  23. 23. Ubuntu Server 14.04 LTS Docker Container1 (consul-sv1) Consul Agent Server WebUI Container2 (consul-cl1) Consul Agent Client nginx 2. Consulを体験してみよう [演習]Consulクライアント上のwebサーバが機能停止した事を    Consulサーバが検出し、新しくwebサーバを立ち上げる Container3 (consul-fo) Consul Agent Client nginx [ハンズオン手順] Qiita参照 [Phase1.] Consul立ち上げから状態の確認まで 20min. 1 Master Container作成 2 Consul Agent起動 2.1 Consul-Server立ち上げ 2.1.1 Consul Server設定 2.1.2 Consulサーバ IP確認 2.1.3 Consul Agent Server起動前準備 2.1.4 Consul Agent( Server / WebUI )起動 2.2 Consul-Client立ち上げ 2.2.1 Consul Client設定 [Phase2.] 超簡易オーケストレーション体験 20min. 3 Nginx停止時の自動フェイルオーバー 3.1 Consul Server設定 3.2 フェイルオーバー確認
  24. 24. Consul container [ Phase1.Consul立ち上げから状態の確認まで 20min. ] Consul-server web-ui8500/TCP8500/TCP Consul-client nginx80/TCP10080/TCP 22/TCP 1. UbuntuサーバへSSHで接続 2. Consulバイナリが入った   dockerコンテナをDL 3. Consulコンテナを  server/client用に2台作成・起動 4. Consul web-ui / nginxの 確認はwebブラウザにて実施 Consul web-ui → http://IP:8500/ nginx → http://IP:10080/ 2. Consulを体験してみよう SSH コンソール Webブラウザ
  25. 25. 2. Consulを体験してみよう [ Phase2. 超簡易オーケストレーション体験 20min. ] Consul-server web-ui8500/TCP8500/TCP New Consul-client nginx80/TCP10080/TCP 22/TCP 1. UbuntuサーバへはSSHで接続 2. Consul Serverへwatch   コマンドを仕込む 3. Consul Clientのnginx停止 4. お茶を飲む 5. Consul web-ui / nginxを 確認。webブラウザにて実施 Consul web-ui → http://IP:8500/ nginx → http://IP:10080/ SSH コンソール Webブラウザ
  26. 26. Let's try 準備編:   goo.gl/LdIFFI ハンズオン編: goo.gl/grRFLE
  27. 27. Extra try! Extra Stage: goo.gl/6Lnztp
  28. 28. Agenda 1. Consulについて 2. Consulを体験してみよう 4. 最後に 3. LT でConsulについて深く・カジュアルに
  29. 29. Automated a workflow of the release using Consul koudaiiiさん Serfのことを時々でいいので 思い出してください poisoninghostさん Consul TemplateでMuninの 監視設定を自動化 zembutsuさん Consulにコントリビュートした話 foostanさん 2. LT でConsulについて深く・カジュアルに。
  30. 30. Agenda 1. Consulについて 2. Consulを体験してみよう 4. 最後に 3. LT でConsulについて深く・カジュアルに
  31. 31. 次回予告 6月に#5 Tech-Circleを予定。 次回は、5月にVersion3.0が登場予定の アレ。
  32. 32. 次回予告 Z
  33. 33. 本日はありがとうございました。 最後に 次回以降のテーマ決めや、今後の運営の参考のため ア ンケートにご協力お願いします。

×