FUJITSU Tech Talk 2018/8/6 これからは OpenStack + Ansible で FUJITSU Cloud Service for OSS で使おう 富士通株式会社 クラウドサービス事業本部 ) ファウンデーションサービス統括部 マネージャー 岩松昇 0
自己紹介 岩松 昇 いわまつ のぼる n_iwamatsu@jp.fujitsu.com FUJITSU Cloud Service for OSSのOpenStack基盤の設計 開発責任者 富士通研究所にて OS 仮想化 クラウドの研究開発に従事した後 現所属に異動 オープンソースとは開発者として10数年の関わり OpenStack, Xen, Linux, QEMU, cobbler, MidoNetなどにコントリビュート 最近の発表 1 OpenStack Days Tokyo 2018 FUJITSU Cloud Service for OSSを支えるコンテナとCI/CD技術 Ansible Night Tokyo 2017.12 OpenStackをAnsibleで操る OpenStack Summit Sydney 2018 Lift-and-Shift Enterprise Workloads to K5 Bare Metal Service
アウトライン FUJITSU Cloud Service for OSS の紹介 第二世代基盤を提供開始 OpenStack 準拠の新サービス群 API エコシステムのこれまでとこれから 公式ドキュメント コマンドラインクライアントとAnsibleへの対応 Ansible + OpenStack Writing Your First Playbook 2
FUJITSU Cloud Service for OSS の紹介 3
FUJITSU Cloud Service for OSS とは 富士通が提供するパブリッククラウド 2015年9月提供開始 旧称: FUJITSU Cloud Service K5 OpenStackベース( 独自拡張)のIaaS 2018年6月に基盤刷新 名称変更 OpenStackを最新化 そのまま利用 OpenStack準拠 のクラウドに生まれ変わった http://jp.fujitsu.com/solutions/cloud/k5/ 4
FUJITSU Cloud Service for OSS: 第二世代基盤提供リージョン 西日本第三リージョン(6/29) 東日本第三リージョン(7/31)を提供開始 jp-east-3 UK Nordic Germany Spain jp-west-1 jp-east-2 jp-east-1 jp-west-2 US jp-west-3 Available Region New Region Region Planning 5
FUJITSU Cloud Service for OSS: OpenStack提供サービス 認証 証明書管理 仮想マシン ベアメタル Ironicによるベアメタル GPGPUインスタンス対応 仮想ネットワーク オブジェクトストレージ 仮想マシンとベアメタル SwiftとS3互換 DR対応予定 FWaaS OctaviaベースのLBaaS データベースサービス ブロックストレージ イメージ PostgreSQL(α版) オーケストレーション All Flash Storage データ持ち込みサービス FWaaS/LBaaS/Trove対応 https://www.openstack.org/project-mascots/ 6
FUJITSU Cloud Service for OSS: ベアメタルサービス VM trunk Nova/Neutronでベアメタルを配備 parent subnet0 subport1 subnet1 subport2 subnet2 ToR Ironicによるベアメタルサービス 既存システムからの移行を容易に Tag VLAN VMware ESXiをサポート Tag VLAN Overlay Network VMとベアメタル混在システムを簡単に L2/L3で相互通信可能 Neutron trunk 準拠のVLAN機能 VM VM https://wiki.openstack.org/wiki/neutron/trunkport 仮想マシン クラウドネイティブシステムとレガシーシステムの同居を実現 7 ESXi ベアメタルサーバー
FUJITSU Cloud Service for OSS: GPGPUインスタンス GPGPUインスタンスの提供 Nova PCI-passthroughによる GPUインスタンスをサポート VM https://wiki.openstack.org/wiki/gpus VM VM VM NVIDIA Tesla V100/P100 KVM vgpuにも対応予定 AI/VDIなどのワークロードに対応可能 GPU Passthrough 8 KVM vgpu (予定)
FUJITSU Cloud Service for OSS: データ持ち込み ボリューム転送 お客様データのCinder Volume化 お客様データを媒体として預かり Cinder Volumeとしてお客様Projectにお渡し お客様テナント サービステナント 弊社オペレーター VM お客様 データ Volume Transfer VM for OSS お客様の既存データの持ち込み 利用を簡単に 9
FUJITSU Cloud Service for OSS: クラウド基盤の設計方針 パブリッククラウドの運用で分かったこと クラウド基盤は要件 問題を事前把握できない お客様のワークロードを事前定義できない バグあり 未成熟なのは当り前 増設やバージョンアップで特性が動的に変わる for OSS のアプローチは すぐ直せる こと お客様システム VM VM Open Stack お客様システム VM Hypervisor Multi-vendor Hardware クラウド基盤 インフラ全体をすぐに設定変更できる クラウド基盤全てを Software-Defined に デリバリーコスト 時間を短縮する 全てをコンテナ化し 自動配備を実現 即座に問題を見つけ出しトラブルシュートできる 全ログをリアルタイム分析 VM 10
FUJITSU Cloud Service for OSS: クラウド基盤構成 IP Fabric/SDS 採用によるハードウェア機器設定のソフトウェア管理 OpenStack のコンテナ化と管理サービス群 ( 数 10 システム ) の OpenStack 管理 / コンテナ化 LCM OSS/BSS お客様システム Web お客様システム LB Audit /Analysis SDN ctrl. AP DB AP AP KVS AP 管理サービス用 OpenStack OpenStack SDN Server/SDS IP Fabric 11
FUJITSU Cloud Service for OSS API エコシステムのこれまでとこれから API ドキュメントのありか 第二世代基盤以降の API エコシステム対応 12
FUJITSU Cloud Service for OSS: 公式ドキュメントの現状 - 1 fujitsu cloud service for oss document でググっても 情報に辿り着けない 13
FUJITSU Cloud Service for OSS: 公式ドキュメントの現状 - 2 PDF しかない http://jp.fujitsu.com/solutions/cloud/k5/document/ 14
FUJITSU Cloud Service K5 Document で ググると これがWebマニュアル 15
機能説明書 API リファレンス ガイドが見つかる https://k5-doc.jp-east-1.paas.cloud.global.fujitsu.com/doc/jp/iaas/document/list/doclist_iaas.html 16
FUJITSU Cloud Service for OSS: 機能説明書 https://k5-doc.jp-east-1.paas.cloud.global.fujitsu.com/doc/jp/iaas/document/function-manual/index.html 17
FUJITSU Cloud Service for OSS: IaaS API リファレンス https://k5-doc.jp-east-1.paas.cloud.global.fujitsu.com/doc/jp/iaas/document/api-reference/index.html 18
FUJITSU Cloud Service for OSS: IaaS API ユーザーズガイド https://k5-doc.jp-east-1.paas.cloud.global.fujitsu.com/doc/jp/iaas/document/api-user-guide/ 19
FUJITSU Cloud Service for OSS: OpenStack API Ecosystem への対応 OpenStack Client コマンドラインクライアントの利用ガイドを公開予定!! # yum install centos-release-openstack-queens # yum install python2-openstackclient Ansible Ansible OpenStack Module を利用したサンプル Playbook を公開予定!! # yum install ansible # yum install python2-shade https://docs.ansible.com/ansible/latest/modules/list_of_cloud_modules.html#openstack 20
FUJITSU Cloud Service for OSS: Ansible + OpenStack Ansible で OpenStack を使う 21
Ansibleとは オープンソースの構成管理ツール ソフトウェアのインストールや設定を 自動的に行ってくれるもの 特徴 エージェントレス サーバー要らない YAMLで記述 簡単 1600を超えるモジュール 何にでも使える 冪等性 何度実行しても同じ https://www.ansible.com/ 22
Ansible は構成管理ツールで一番人気! Ansible Chef Puppet Google Trends: 過去 1 年間での Ansible/Chef/Puppet の人気度推移 23
クラウド上のシステム構築にAnsibleを利用するのは常識 AWS Ansible でググると 4,120,000件ヒット AWS Azure でググると 1,940,000件ヒット 24
Ansible AND クラウドサービス の検索ヒット件数 4,120,000 Ansible AWS Ansible Azure 1,940,000 966,000 Ansible OpenStack Ansible FUJITSU Cloud Service for OSS Ansible対応により 使える情報が増加 12,900 25
Ansible OpenStack Module AnsibleのOpenStack制御モジュール AnsibleのCloud Modulesの一部 ネットワーク作成 サブネット作成から サーバー作成 管理など 基本機能を網羅 48種類のモジュール FUJITSU Cloud Serviceは これから Ansible+OpenStack で どんどん使ってください https://docs.ansible.com/ansible/latest/modules/list_of_cloud_modules.html 26
FUJITSU Cloud Service for OSS: Writing Your First Playbook 27
Playbook (YAMLファイル)を作る ファイルは2つでOK for-oss-playbook/ clouds.yml OpenStackの認証情報 site.yml 実際のタスクを書くPlaybook 構築例 ネットワーク サブネット ルーター セキュリティグループ ルール プロジェクト demo-net キーペア demo-sg インスタンス demo-instance 28
clouds.yml の記述内容 clouds.yml clouds: jp-east-3: auth: auth_url: https://identity.jp-east-3.cloud.global.fujitsu.com/v3 username: <your account name> password: <your account passowrd> project_domain_name: <your domain name> user_domain_name: <your domain name> project_name: <your project name> project_id: <your project id> identity_api_version: '3' region_name: jp-east-3 29
site.yml ネットワーク サブネット作成 tasks: - name: create network os_network: OpenStack ネットワークモジュール cloud: jp-east-3 state: present name: demo-net - name: create subnet os_subnet: OpenStack サブネットモジュール cloud: jp-east-3 name: demo-subnet network_name: demo-net cidr: 10.122.0.0/24 dns_nameservers: 8.8.8.8 state: present 30
従来方式との比較 : ネットワーク作成 IaaS API ユーザーズガイド リソースの作成 / ネットワーク環境の構築 / ネットワーク作成 31
site.yml ルーター作成 - name: create router os_router: cloud: jp-east-3 name: demo-router state: present network: fip-net interfaces: - demo-subnet OpenStack ルーターモジュール 32
site.yml セキュリティグループ ルール作成 - name: create security group os_security_group: OpenStack セキュリティグループモジュール cloud: jp-east-3 state: present name: demo-sg - name: add security group rule os_security_group_rule: OpenStack SGルールモジュール cloud: jp-east-3 state: present security_group: demo-sg protocol: tcp port_range_min: 22 port_range_max: 22 remote_ip_prefix: 0.0.0.0/0 マネしないこと! 33
site.yml キーペア作成 - name: create keypair os_keypair: OpenStack キーペアモジュール cloud: jp-east-3 state: present name: demo-key register: keypair_info 34
site.yml インスタンス作成 - name: create instance os_server: OpenStack サーバーモジュール cloud: jp-east-3 state: present name: demo-instance image: "CentOS 7.3 64bit (English) 01" flavor: S3-1 key_name: demo-key security_groups: demo-sg network: demo-net auto_ip: no boot_from_volume: True Cinder volume を作成してブート volume_size: 35 35
まとめ FUJITSU Cloud Service for OSS は OpenStack 準拠 多数のOpenStackサービスを提供 第二世代基盤から APIがOpenStack 準拠に FUJITSU Cloud Service for OSS は Ansible で使える OpenStack AND Ansible でググれば 情報が得られる これからのシステム構築は全部 Ansibleでいける! OpenStack + Ansible のさらなる活用方法を皆さまと共有していきます! 36