Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vagarnt と Terraform 私の利用法

Vagarnt と Terraform 私の利用法

VagrantをK8s用学習環境として利用しています。minikubeなどがあるのに何故Vagrantを利用するのか、その理由や、K8sクラスタのセットアップについて説明します。そして、Terraform は IBM Cloudでも利用できることをご紹介します。

Maho Takara

July 03, 2020
Tweet

More Decks by Maho Takara

Other Decks in Technology

Transcript

  1. お話する人 たから まほ 高良 真穂 IBM Cloud テクニカルセールス & エバンジェリスト

    通称 コンテナおじさん 所属 日本アイ・ビー・エム株式会社 クラウド&コグニティブソフトウェア事業本部
  2. 著書の中で、 マルチノード Kubernetes クラスタの 学習環境として活用 Master Node1 Node2 パソコンOS ハイパーバイザー

    HVフロントエンド 仮想マシン Linux OS コンテナ実行環境 コンテナ・オーケストレータ 役割 マルチノード Kubernetes学習環境 Windows / macOS Virtual Box Vagrant Linux (Ubuntu) VM Docker CE Kubernetes Linux (Ubuntu) VM Docker CE Kubernetes Linux (Ubuntu) VM Docker CE Kubernetes
  3. Vagrantで学習環境を作った理由 Master Node1 Node2 パソコンOS ハイパーバイザー HVフロントエンド 仮想マシン Linux OS

    コンテナ実行環境 コンテナ・オーケストレータ 役割 マルチノード Kubernetes学習環境 Windows / macOS Virtual Box Vagrant Linux (Ubuntu) VM Docker CE Kubernetes Linux (Ubuntu) VM Docker CE Kubernetes Linux (Ubuntu) VM Docker CE Kubernetes • クラウドの課金を心配せずに利用できる • マスターノードに入って確認できる • マルチノードのノード障害の振る舞いを確認できる • クラスタの一部を壊して影響の確認ができる • 読者自身がソフトウェア構成を変更できる
  4. 起動できるK8sクラスタ環境 .11 Host Only 172.16.20.0/24 enp0s8 ホスト名 master enp0s3 10.0.2.15

    CPU Core x2 RAM 2GB OS Ubuntu 16.04 NAT enp0s9 .91 Bridged 192.168.1.0/24 .12 enp0s8 ホスト名 node1 enp0s3 CPU Core x1 RAM 1GB OS Ubuntu 16.04 NAT enp0s9 .92 .13 enp0s8 ホスト名 node2 enp0s3 CPU Core x1 RAM 1GB OS Ubuntu 16.04 NAT enp0s9 .93 10.0.2.15 10.0.2.15 192.168.1.0/24 BBルータ インターネット ブロードバンドルータのネットワーク パソコン内の仮想マシンとネットワーク環境 BBルータのDHCPで、パソコンにアサインされたIPアドレス .25 ブリッジ DHCP 192.168.1.25 パソコン Static 192.168.1.91 master Static 192.168.1.92 node1 Static 192.168.1.93 node2 この仮想環境で利用するBBルータ上のIPアドレス
  5. Terraform の役割 ✓ クラウドの仮想環境操作を抽象化 Azure, GCP, AWS の操作を共通化 IBM Cloudでも利用可能

    • え ✓ クラウド環境構築と管理の自動化 Infrastructure as Codeとしてクラウドを設定 目的状態を記述することで変更や追加も管理 ✓ オーケストレーション クラウドのネットワーク、VPC、サービス そして、仮想サーバーのセットを自動構築
  6. プロバイダ・プラグインを変更すれば同じフローで管理可能 テンプレート Terraform コマンド IBM プロバイダ プラグイン IBM Cloud API

    Endpoint コマンド実行 プロビジョニング実施 目的状態 Terraform コマンド AWS プロバイダ プラグイン AWS API Endpoint main.tf パラメータ
  7. まとめ • Vagrantは K8s学習環境の構築に最適 • Terraform は IBM Cloudで利用可能 •

    IBM Cloud Schematics は Terraform管 理支援 • IBM Cloud では リファレンスアーキテク チャーをTerraformのターンキーで起動 パーソナルな