Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

最近のJuju/MAAS について

293 views

Published on

Slideshare上のプレビューでは文字かけ、文字化けが発生します。ダウンロードしてご覧ください。

Published in: Engineering
  • Be the first to comment

最近のJuju/MAAS について

  1. 1. 最近のJuju/MAAS について 日本仮想化技術株式会社 技術部 遠山 洋平 2018年5月11日 rev.6 1
  2. 2. まとめ • Juju • パブリッククラウドからベアメタルまで幅広くサポート • Kubernetes、OpenStack、Hadoopなどのデプロイ • 最小構成からハイパースケール、冗長構成も • 便利なアプリケーションは増加中 • MAAS • 物理も仮想(KVM)もサポート • ネットワークアドレスを管理 • 手軽にベアメタルプロビジョニング • Jujuと組み合わせて大規模アプリケーションの管理、展開 2
  3. 3. 本日の内容 • 概要 • 動向 • 使い方 3
  4. 4. 概要 4
  5. 5. Ubuntuとは • イギリスの会社 Canonical が開発および支援 • オープンソース企業 • ユーザーコミュニティーも充実 • 顧客サポートも提供 → Ubuntu Advantage • UbuntuはDebianベース • Stable版....半年ごと、9ヶ月サポート。一般利用向け • LTS版........2年ごと、5年サポート。商用向け • 独自のEnterpriseアプリケーションをOSSで開発・提供 5
  6. 6. Jujuとは • アプリケーションの構成管理ツール • クラウドからベアメタルまでサポート • OSのデプロイから構成まで 6 OS SSH App Config OS SSH App Config Juju Ansible core
  7. 7. Jujuの概要 7 ※公式サイトから引用
  8. 8. MAASとは • Metal As A Serviceを提供 • ノード資源の管理 • 物理サーバー • Cisco UCS , HPE Moonshot , Intel RSD... • 仮想サーバー(KVM + Libvirt) • ネットワークの管理 • IPアドレスなど • デプロイメント/リリース • Ubuntu,CentOS(x86-64bitのみ),Windows... • 多アーキティチャー(x86,ARM32,ARM64,PPC64...) • BIOS/UEFI 8
  9. 9. MAASの概要 9 ※公式サイトから引用 • 電源の管理はIPMIを利用 • OSSで構成されている • DNS • DHCP • PXE • IPMI
  10. 10. Juju + MAAS 10
  11. 11. Juju + Azure 11→JujuでAzureを扱うための手順 AWS GCP Oracle Cloud(2.2) etc...
  12. 12. 最近の動向 12
  13. 13. CanonicalとKubernetes • Kubernetesのエンタープライズサポートを表明 • JujuのCharmやBundleが用意されている 13 ※公式サイトから引用 LONDON, U.K, Aug 23rd, 2017, Canonical today announced two consulting packages for enterprise Kubernetes deployments, and expanded enterprise support to include serverless infrastructure from Galactic Fog, container management workflows from Rancher, and Weave Cloud from Weaveworks.
  14. 14. 使い方 14
  15. 15. Jujuとコンポーネント • Juju CLI/GUI • 命令を出す • Juju bootstrap • 命令を受けて処理を実行する • インフラ • パブリッククラウド • OpenStack • ベアメタル(MAAS) • ローカルPC(LXD+LXC) 15 Amazon Web Services Microsoft Azure Google Cloud Platform Oracle Cloud Rackspace Cloud CloudSigma Cloud Joyent Cloud Canonical MAAS LXD Container Hypervisor VMware vSphere Jujuが現在対応しているクラウド
  16. 16. Jujuとデプロイ方式 • Juju Charms • 機能単体のデプロイ • Charm�Storeで検証済み • カスタマイズ可能 • Juju Bundle • 複数のアプリケーションの全自動デプロイ • OpenStack , Kubenetes , Hadoop etc... • 必要な情報はbundle.yamlに記述(ノード数/スペック) • カスタマイズ可能 16 % juju deploy "charm" % juju deploy "bundle"
  17. 17. Juju Charmの中身 • テキストデータ • 何らかの言語で書かれたスクリプト • Ubuntuで使える言語ならなんでも • 設定はYAML形式のテキストファイル • あとは • README • ドキュメント • バイナリー • テスト用コード 17
  18. 18. Bundleの例 description: Deploy the monitor tools. Prometheus and Grafana on LXC. series: xenial services: prometheus: charm: "cs:xenial/prometheus-5" num_units: 1 storage metrics-filesystem: rootfs options: install_method: snap web-listen-port: 9090 static-targets: 172.17.28.103:9100 annotations: gui-x: '676.2500610351562' gui-y: '1067.5' to: - lxd:10 18 grafana: charm: "cs:xenial/grafana-9" num_units: 1 options: install_method: apt admin_password: password5656 annotations: gui-x: '283.75' gui-y: '1065' to: - lxd:10 relations: - - 'grafana:grafana-source' - 'prometheus:grafana-source' machines: "10": series: xenial constraints: "arch=amd64 tags=monitor"
  19. 19. Juju CLI • juju add-model →モデル作成 • juju switch "model" →モデル切替え • juju add-machine →モデルにマシンを登録 • (例) juju add-machine �������������--constraints "arch=amd64 tags=monitor" • juju deploy "apps" --to X →デプロイ (コンテナへはlxd:X) • (juju add-unit) →スケールの拡大 • juju add-relation →設定と関連付け • juju gui →GUIのログイン情報の表示 19 App1 App2 App3 ... A Model
  20. 20. Juju GUI 20
  21. 21. MAAS Dashboard 21
  22. 22. 冗長構成にする • マスタースレーブ juju deploy mariadb juju config mariadb max-connections="5000" juju deploy -n 2 mariadb maria-slave juju config maria-slave max-connections="5000" juju add-relation mariadb:master maria-slave:slave • HAクラスターを利用 juju deploy openstack-dashboard juju add-unit -n 2 openstack-dashboard juju deploy hacluster dashboard-hacluster juju config openstack-dashboard vip="172.17.29.195" juju add-relation openstack-dashboard dashboard-hacluster 22 1:2構成 3ユニット
  23. 23. アップグレード • MAAS • sudo apt update • sudo apt upgrade • Juju • juju switch model • juju ssh X sudo apt update • juju ssh X sudo apt upgrade 23
  24. 24. Charmのアップデート • デプロイしたとき • juju deploy cs:trusty/mariadb-3 この場合 • mariadb-7に更新するにはモデルを切り替えて • juju upgrade-charm --revision -7 mariadb • バージョンを指定しなければ最新版に • juju upgrade-charm mariadb 24
  25. 25. エラーが発生したら • juju ssh "unit"でログインしてログを確認 • /var/log/juju etc... • 原因を取り除く • パラメーターを修正 • juju resolved "unit"で再開 • (うまく行けば)エラーの解決ができる 25
  26. 26. JujuでPrometheusとGrafana 1. prometheusとgrafanaチャームをデプロイ 2. prometheusチャームの設定に「static-targets」を追加 % juju config prometheus static-targets="x.x.x.x:9100,z.z.z.z: 9100" 3. デプロイしたチャーム毎に「node_exporter」をインストール • Package or Source 4. リレーション 5. Grafanaにソースを追加 26 カンマ区切り

×