Slide 1

Slide 1 text

© 2021 Teapod 418 Ryoma Fujiwara OSS HCIソリューション Rancher Harvester 2021/2/16 Rancher meetup online #2

Slide 2

Slide 2 text

© 2021 Teapod 418 Ryoma Fujiwara 自己紹介 藤原 涼馬 所属組織 大手メディア&ソリューション企業のインフラエンジニア  兼 フリーランスITコンサル & エンジニア Rancher JPコアメンバー Cloud Native Days Tokyo 2020実行委員 近所に24時間ジムが出来て言い訳ができなくなったので ジム通いで毎日筋肉痛なのと、季節柄の花粉症が悩み

Slide 3

Slide 3 text

© 2021 Teapod 418 Ryoma Fujiwara 本日話すこと ● Rancher Harvesterとは? ● HCI(Hyper Converged Infrastructure)とは? ● Rancher Harvesterの仕組み ● Rancher Harvesterを触ってみる ● まとめとかいろいろ

Slide 4

Slide 4 text

© 2021 Teapod 418 Ryoma Fujiwara Rancher Harvesterとは

Slide 5

Slide 5 text

© 2021 Teapod 418 Ryoma Fujiwara Rancher Harvesterとは? ● OSSのHCIソリューションです ● Rancherの開発元であるRancher Labs社が中心となって開発しています ● 雑に言うと仮想マシンをk8s上で管理するための仕組みです https://rancher.com/blog/2020/announcing-harvester-open-source-hyperconverged-infrastructure-software

Slide 6

Slide 6 text

© 2021 Teapod 418 Ryoma Fujiwara 発表直後の様子 Publickeyさんで紹介されていたり、 https://www.publickey1.jp/blog/20/kubernetesharvesterrancher_labs.html 触ってみた記事を藤原が書いていたり https://note.com/ryoma_0923/n/n5dc18f50545a

Slide 7

Slide 7 text

© 2021 Teapod 418 Ryoma Fujiwara 発表直後の様子 Publickeyさんで紹介されていたり、 https://www.publickey1.jp/blog/20/kubernetesharvesterrancher_labs.html 触ってみた記事を藤原が書いていたり https://note.com/ryoma_0923/n/n5dc18f50545a ホントは発表前にリポジトリを見 つけて書き上げていたけれども発 表されてしまって慌てて公開

Slide 8

Slide 8 text

© 2021 Teapod 418 Ryoma Fujiwara エンタープライズグレードのKubernetesマネジメントツール Rancherといえば CNCF Sandboxプロジェクトに入っている 軽量k8sディストリビューション k3sを動かすための軽量Linuxディストリビューション k3OS クラウドネイティブ分散ブロックストレージ CNCF certifiedなk8sディストリビューション

Slide 9

Slide 9 text

© 2021 Teapod 418 Ryoma Fujiwara エンタープライズグレードのKubernetesマネジメントツール Rancherといえば CNCF Sandboxプロジェクトに入っている 軽量k8sディストリビューション k3sを動かすための軽量Linuxディストリビューション k3OS クラウドネイティブ分散ブロックストレージ CNCF certifiedなk8sディストリビューション クラウドネイティブ界の暴れ牛 (個人の感想です)

Slide 10

Slide 10 text

© 2021 Teapod 418 Ryoma Fujiwara Rancher Harvester Kubernetes上に構築された ハイパーコンバージドインフラストラクチャソリューション Rancher Harvester

Slide 11

Slide 11 text

© 2021 Teapod 418 Ryoma Fujiwara Rancher Harvester Kubernetes上に構築された ソリューション Rancher Harvester

Slide 12

Slide 12 text

© 2021 Teapod 418 Ryoma Fujiwara ハイパーコンバージドインフラストラクチャとは?

Slide 13

Slide 13 text

© 2021 Teapod 418 Ryoma Fujiwara ハイパーコンバージドインフラストラクチャとは? ● ハードウェアで定義された従来型のシステムのすべての要素を仮想化したもの ● ミニマムでも以下が提供されている必要がある ○ 仮想化されたコンピューティング機能の提供(ハイパーバイザ機能) ○ ソフトウェア定義されたストレージ(SDS) ○ ソフトウェア定義されたネットワーク ● 上記を複数台の汎用的なサーバ(一般にはx86サーバ)を束ねて提供する https://en.wikipedia.org/wiki/Hyper-converged_infrastructure

Slide 14

Slide 14 text

© 2021 Teapod 418 Ryoma Fujiwara ハイパーコンバージドインフラストラクチャとは? ● ハードウェアで定義された従来型のシステムのすべての要素を仮想化したもの ● ミニマムでも以下が提供されている必要がある ○ 仮想化されたコンピューティング機能の提供(ハイパーバイザ機能) ○ ソフトウェア定義されたストレージ(SDS) ○ ソフトウェア定義されたネットワーク ● 上記を複数台の汎用的なサーバ(一般にはx86サーバ)を束ねて提供する https://en.wikipedia.org/wiki/Hyper-converged_infrastructure リソースを拡張したい場合は追加の汎用的なサーバーを持ってきて追加するだけで 計算能力や記録容量を拡張することができる らしいです (正確かつ詳しいところはよくわからない部分もあるので補足期待)

Slide 15

Slide 15 text

© 2021 Teapod 418 Ryoma Fujiwara Rancher Harvesterの仕組み

Slide 16

Slide 16 text

© 2021 Teapod 418 Ryoma Fujiwara Rancher Harvesterの仕組み Rancher Harvester is an open source hyper-converged infrastructure (HCI) software built on Kubernetes https://github.com/rancher/harvester より

Slide 17

Slide 17 text

© 2021 Teapod 418 Ryoma Fujiwara Rancher Harvesterの仕組み Rancher Harvester is an open source hyper-converged infrastructure (HCI) software built on Kubernetes https://github.com/rancher/harvester より

Slide 18

Slide 18 text

© 2021 Teapod 418 Ryoma Fujiwara Rancher Harvesterの仕組み Rancher Harvester is an open source hyper-converged infrastructure (HCI) software built on Kubernetes https://github.com/rancher/harvester より

Slide 19

Slide 19 text

© 2021 Teapod 418 Ryoma Fujiwara HCIの要素を見直し 以下をKubernetesベースで提供する 仮想化されたコンピューティング機能の提供 (ハイパーバイザ) ソフトウェア定義されたストレージ ソフトウェア定義されたネットワーク

Slide 20

Slide 20 text

© 2021 Teapod 418 Ryoma Fujiwara HCIの要素を見直し 以下をKubernetesベースで提供する 仮想化されたコンピューティング機能の提供 (ハイパーバイザ) ソフトウェア定義されたストレージ ソフトウェア定義されたネットワーク Container Network Interface

Slide 21

Slide 21 text

© 2021 Teapod 418 Ryoma Fujiwara HCIの要素を見直し 以下をKubernetesベースで提供する 仮想化されたコンピューティング機能の提供 (ハイパーバイザ) ソフトウェア定義されたストレージ ソフトウェア定義されたネットワーク Container Network Interface https://github.com/containernetworking/cni Container Storage Interface https://github.com/container-storage-interface

Slide 22

Slide 22 text

© 2021 Teapod 418 Ryoma Fujiwara HCIの要素を見直し 以下をKubernetesベースで提供する 仮想化されたコンピューティング機能の提供 (ハイパーバイザ) ソフトウェア定義されたストレージ ソフトウェア定義されたネットワーク Container Network Interface https://github.com/containernetworking/cni Container Storage Interface https://github.com/container-storage-interface https://kubevirt.io/

Slide 23

Slide 23 text

© 2021 Teapod 418 Ryoma Fujiwara HCIの要素を見直し 以下をKubernetesベースで提供する 仮想化されたコンピューティング機能の提供 (ハイパーバイザ) ソフトウェア定義されたストレージ ソフトウェア定義されたネットワーク Container Network Interface https://github.com/containernetworking/cni Container Storage Interface https://github.com/container-storage-interface https://kubevirt.io/ https://github.com/intel/multus-cni https://longhorn.io/

Slide 24

Slide 24 text

© 2021 Teapod 418 Ryoma Fujiwara Rancher Harvesterの主要な構成要素 仮想化されたコンピューティング機能の提供 (ハイパーバイザ) ソフトウェア定義されたストレージ ソフトウェア定義されたネットワーク Container Network Interface https://github.com/containernetworking/cni Container Storage Interface https://github.com/container-storage-interface https://kubevirt.io/ https://github.com/intel/multus-cni https://longhorn.io/ Kubernetes Kubernetesを動かすためのOS k3OS https://k3s.io/ https://github.com/rancher/k3os + isoファイルなどを格納するために、 https://min.io/

Slide 25

Slide 25 text

© 2021 Teapod 418 Ryoma Fujiwara Rancher Harvesterの仕組みまとめ ● Kubernetes上でHCIを実現するためのツールです ● 基本的な要素(ハイパーバイザ/ストレージ/ネットワーク/OSまで含めたスタック)は すべてOSSで構成されています

Slide 26

Slide 26 text

© 2021 Teapod 418 Ryoma Fujiwara Rancher Harvesterを触ってみる

Slide 27

Slide 27 text

© 2021 Teapod 418 Ryoma Fujiwara 触って見るための2つの方法 ● 今回説明する方法 ● 配布されているISOからインストール ● 既存のk8sクラスタにHarvesterをデプロ イする方法 ● 下記記事で一応解説しています。 https://note.com/ryoma_0923/n/n5dc18f50545a

Slide 28

Slide 28 text

© 2021 Teapod 418 Ryoma Fujiwara 触って見るための2つの方法 ● 今回説明する方法 ● 配布されているISOからインストール ● 既存のk8sクラスタにHarvesterをデプロ イする方法 ● 下記記事で一応解説しています。 https://note.com/ryoma_0923/n/n5dc18f50545a

Slide 29

Slide 29 text

© 2021 Teapod 418 Ryoma Fujiwara 環境 ● Ubuntu 18.04 ● VirtualBox 6.1.18 ● 仮想マシンスペック ○ 4コア, 16GBメモリ, 100GBストレージ ○ VT-xやAMD-Vのネスト設定は有効化しておいたほうが良いかも

Slide 30

Slide 30 text

© 2021 Teapod 418 Ryoma Fujiwara isoの取得 harvesterのGitHubリポジトリのリリースからisoをダウンロードします。 (1.5GBあるので注意) https://github.com/rancher/harvester/releases/tag/v0.1.0

Slide 31

Slide 31 text

© 2021 Teapod 418 Ryoma Fujiwara 仮想マシンにマウントして起動 GRUBメニューからHarvesterのインストーラを起動できます

Slide 32

Slide 32 text

© 2021 Teapod 418 Ryoma Fujiwara インストールモードの選択 新規クラスタを作成するか、既存のHarvesterクラスタに参加するか聞かれるの で、新規クラスタの作成を選択します。

Slide 33

Slide 33 text

© 2021 Teapod 418 Ryoma Fujiwara テンポよく進めていく インストールするストレージの選択します。 (一つしか無いので今回は選択の余地なし) ノードを追加する際に必要となるトークンを設定します。 (実際にはもっとランダムなトークンにしてください) ノードにアクセスする際のパスワードを設定

Slide 34

Slide 34 text

© 2021 Teapod 418 Ryoma Fujiwara て、テンポよく進めていく SSH公開鍵のインポートを行います 管理ネットワークのインタフェースを選択します プロキシ、cloud-init設定

Slide 35

Slide 35 text

© 2021 Teapod 418 Ryoma Fujiwara インストール前の確認 Yesを選択

Slide 36

Slide 36 text

© 2021 Teapod 418 Ryoma Fujiwara インストールが始まります あとはしばし待つ

Slide 37

Slide 37 text

© 2021 Teapod 418 Ryoma Fujiwara 気づいたらGRUBメニューに戻っている 一度電ブチして、isoを除去した後に再度電源を投入します。 (ホントはもっと丁寧にしなきゃ駄目だと思います)

Slide 38

Slide 38 text

© 2021 Teapod 418 Ryoma Fujiwara GRUBの画面再び Start Harvesterが出てくるので、しばし待ちます。

Slide 39

Slide 39 text

© 2021 Teapod 418 Ryoma Fujiwara Harvesterの起動画面 しばし待つと、下記の画面が表示されます。Current statusがRunningになった ら準備は完了です。 VirtualBoxのNATインタフェースなので、ポートフォワード して、https://127.0.0.1:8443でつなぎます

Slide 40

Slide 40 text

© 2021 Teapod 418 Ryoma Fujiwara Welcome to Harvester はい、繋がりました 残念ながら日本語GUIはないので、英語UIのまま利用します。 初期ID/PASSは admin/password

Slide 41

Slide 41 text

© 2021 Teapod 418 Ryoma Fujiwara SSHキーを登録

Slide 42

Slide 42 text

© 2021 Teapod 418 Ryoma Fujiwara 仮想マシンイメージを登録 http://cloud-images.ubuntu.com/bionic/20210210/bionic-server-cloudimg-amd64.img

Slide 43

Slide 43 text

© 2021 Teapod 418 Ryoma Fujiwara 仮想マシンイメージのインポートが完了

Slide 44

Slide 44 text

© 2021 Teapod 418 Ryoma Fujiwara 仮想マシンの作成

Slide 45

Slide 45 text

© 2021 Teapod 418 Ryoma Fujiwara 仮想マシンの作成 ボリュームやネットワークも設定できるものの、一旦は最小の設定で

Slide 46

Slide 46 text

© 2021 Teapod 418 Ryoma Fujiwara しばし待つ......

Slide 47

Slide 47 text

© 2021 Teapod 418 Ryoma Fujiwara ぬわ〜 (とは言えなんとなく、VirtualBoxで動かしているのがアカン気がしています VMWare ESXiで試してみる......??)

Slide 48

Slide 48 text

© 2021 Teapod 418 Ryoma Fujiwara VitrualBoxではなく(このマシン&)Appモードで動かすと動く いける。 WebVNC ターミナルからのssh

Slide 49

Slide 49 text

© 2021 Teapod 418 Ryoma Fujiwara まとめ ● Rancher HarvesterはOSSのHCIソリューションです ● isoからインストールして利用するbare-metalと、既存のk8sクラスタを使う Appモードが存在します(但し後者は開発用) ○ 少なくともbare-metalについては藤原の環境ではVirtualBoxでは動きませんでした (bare-metalなので当然と言えば当然) ○ VMWare ESXiでのネストでは動作する模様(幸い手元に1台あるので試してみます) ■ https://github.com/rancher/harvester/wiki/App-Mode-Testing-using-VMware-ESXi ○ Appモードではまず動きます。 ■ Appモードでの構築手順は、https://note.com/ryoma_0923/n/n5dc18f50545aを参照 してください。

Slide 50

Slide 50 text

© 2021 Teapod 418 Ryoma Fujiwara [補足] ARMサポートしないの? ● する気はあるみたいです。(https://github.com/rancher/harvester/issues/371) ○ 現時点ではHarvesterよりはkubevirtのARM64サポート待ちな状態 (https://github.com/kubevirt/kubevirt/pull/3415) ○ どうもvielmetti(https://github.com/vielmetti)という方がARM64サーバ(AmpereのCPU)を 提供した模様(https://github.com/WorksOnArm/cluster/issues/203) ● v0.2.0のマイルストーンに含まれています

Slide 51

Slide 51 text

© 2021 Teapod 418 Ryoma Fujiwara [補足] Roadmap? ロードマップはあります(https://github.com/rancher/harvester/wiki/Roadmap)が、 IssuesのMilestoneを見たほうが良さそうです(どうも乖離があります。 https://github.com/rancher/harvester/milestone/5)

Slide 52

Slide 52 text

© 2021 Teapod 418 Ryoma Fujiwara ご清聴ありがとうございました!