SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 30 day free trial to unlock unlimited reading.
2.
前提知識
•
K
u
b
e
V
i
r
t
を利用するには、少なくとも
K
u
b
e
r
n
e
t
e
s
の(
C
L
I
など
の)操作に慣れている必要があります
•
P
o
d
は
K
u
b
e
r
n
e
t
e
s
アプリケーションの基本的な実行単位であ
り、作成する
K
u
b
e
r
n
e
t
e
s
オブジェクトモデルの中で最小の単位
であるという原則の理解が必要です
2
3.
K
u
b
e
V
i
r
t
について
•
K
u
b
e
V
i
r
t
1
0
1
として公開しています。そちらをご覧ください
•
h
t
t
p
s
:
/
/
w
w
w
.
s
l
i
d
e
s
h
a
r
e
.
n
e
t
/
V
i
r
t
u
a
l
T
e
c
h
-
J
P
/
k
u
b
e
v
i
r
t
-
1
0
1
• 弊社ブログでも色々公開しています
•
h
t
t
p
s
:
/
/
t
e
c
h
.
v
i
r
t
u
a
l
t
e
c
h
.
j
p
/
a
r
c
h
i
v
e
/
c
a
t
e
g
o
r
y
/
K
u
b
e
V
i
r
t
3
5.
K
u
b
e
V
i
r
t
プロジェクトの始まり
•
K
u
b
e
r
n
e
t
e
s
を仮想マシンとコンテナのオーケストレータにする
のを目的
•
2
0
1
6
年に
R
e
d
H
a
t
がプロジェクトをスタート
•
2
0
1
7
年
1
月にオープンソース化
•
2
0
1
9
年に
C
N
C
F
S
a
n
d
b
o
x
として受け入れられた
•
A
p
a
c
h
e
2
.
0
ライセンスで開発
5
6.
K
u
b
e
V
i
r
t
の利点
• コンテナ化が難しいワークロード移行パスを提供
• 技術的な理由(古い
O
S
/
カーネルが必要
/
アプリの改造不可)
• ビジネス上の理由(市場投入までの時間、変換のコスト)
• その他の
K
u
b
e
V
i
r
t
のメリット
• (筆者的には)
V
M
で分離度を高めることでアプリケーションの
セキュリティを向上させるメリットもあると考える
6
7.
今回のテーマ
•
N
V
I
D
I
A
G
P
U
T
e
s
l
a
を
K
u
b
e
V
i
r
t
で使ってみます
• 以下が必要です
•
N
V
I
D
I
A
T
e
s
l
a
G
P
U
•
K
u
b
e
r
n
e
t
e
s
•
K
u
b
e
V
i
r
t
•
N
V
I
D
I
A
k
u
b
e
v
i
r
t
-
g
p
u
-
d
e
v
i
c
e
-
p
l
u
g
i
n
7
8.
動作確認した構成
•
C
e
n
t
O
S
7
.
9
.
2
0
0
9
(
3
.
1
0
.
0
-
1
1
6
0
.
2
5
.
1
.
e
l
7
.
x
8
6
_
6
4
)
•
N
V
I
D
I
A
T
e
s
l
a
P
1
0
0
および
T
e
s
l
a
T
4
• パススルーモード
•
K
u
b
e
r
n
e
t
e
s
1
.
2
1
.
1
•
D
o
c
k
e
r
2
0
.
1
0
.
6
-
3
•
K
u
b
e
V
i
r
t
0
.
4
0
.
0
8
10.
事前に行うこと
• サーバーの
B
I
O
S
で
V
T
-
x
,
V
T
-
d
などを有効化
•
N
V
I
D
I
A
k
u
b
e
v
i
r
t
-
g
p
u
-
d
e
v
i
c
e
-
p
l
u
g
i
n
の
Q
u
i
c
k
s
t
a
r
t
に書かれ
ている設定を行う
1
.
G
R
U
B
_
C
M
D
L
I
N
E
_
L
I
N
U
X
への追記
•
i
n
t
e
l
_
i
o
m
m
u
=
o
n
m
o
d
p
r
o
b
e
.
b
l
a
c
k
l
i
s
t
=
n
o
u
v
e
a
u
2
.
V
F
I
O
-
P
C
I
モジュール読み込みと対象デバイスの指定
1
0
11.
ハマったこと
• 「
v
f
i
o
-
p
c
i
」モジュールがうまく動かない
O
S
• サーバーの
B
I
O
S
が古くて新しい
G
P
U
カードの認識が怪しい
• 標準カーネルだとうまく認識されなくてサードパーティの
5
.
4
系
カーネルで動作した
O
S
• 意外と古い
C
e
n
t
O
S
7
.
9
ベースとかの方がまともに動く
1
1
13.
導入までの流れ
1
.
K
u
b
e
r
n
e
t
e
s
クラスターを構築
• ランタイムをインストール
•
k
u
b
e
a
d
m
i
n
i
t
•
C
N
I
を導入(
e
x
.
C
a
l
i
c
o
,
M
u
l
t
u
s
C
N
I
e
t
c
.
.
.
)
2
.
K
u
b
e
V
i
r
t
をインストール
3
.
N
V
I
D
I
A
k
u
b
e
v
i
r
t
-
g
p
u
-
d
e
v
i
c
e
-
p
l
u
g
i
n
を導入
4
.
G
P
U
を
K
u
b
e
r
n
e
t
e
s
カスタムリソースで登録
1
3
14.
K
u
b
e
V
i
r
t
のインストール
•
0
.
4
0
.
0
を導入する例
1
.
$
k
u
b
e
c
t
l
a
p
p
l
y
-
f
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
k
u
b
e
v
i
r
t
/
k
u
b
e
v
i
r
t
/
r
e
l
e
a
s
e
s
/
d
o
w
n
l
o
a
d
/
v
0
.
4
0
.
0
/
k
u
b
e
v
i
r
t
-
o
p
e
r
a
t
o
r
.
y
a
m
l
2
.
$
k
u
b
e
c
t
l
a
p
p
l
y
-
f
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
k
u
b
e
v
i
r
t
/
k
u
b
e
v
i
r
t
/
r
e
l
e
a
s
e
s
/
d
o
w
n
l
o
a
d
/
v
0
.
4
0
.
0
/
k
u
b
e
v
i
r
t
-
c
r
.
y
a
m
l
3
.
$
c
u
r
l
-
L
-
o
v
i
r
t
c
t
l
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
k
u
b
e
v
i
r
t
/
k
u
b
e
v
i
r
t
/
r
e
l
e
a
s
e
s
/
d
o
w
n
l
o
a
d
/
v
0
.
4
0
.
0
/
v
i
r
t
c
t
l
-
v
0
.
4
0
.
0
-
l
i
n
u
x
-
a
m
d
6
4
4
.
$
c
h
m
o
d
+
x
v
i
r
t
c
t
l
5
.
$
s
u
d
o
c
p
v
i
r
t
c
t
l
/
u
s
r
/
l
o
c
a
l
/
b
i
n
1
4
15.
N
V
I
D
I
A
k
u
b
e
v
i
r
t
-
g
p
u
-
d
e
v
i
c
e
-
p
l
u
g
i
n
を導入
• ソースを取得
•
$
g
i
t
c
l
o
n
e
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
N
V
I
D
I
A
/
k
u
b
e
v
i
r
t
-
g
p
u
-
d
e
v
i
c
e
-
p
l
u
g
i
n
.
g
i
t
• マニフェストファイルを使って展開
•
$
c
d
k
u
b
e
v
i
r
t
-
g
p
u
-
d
e
v
i
c
e
-
p
l
u
g
i
n
/
m
a
n
i
f
e
s
t
s
/
•
$
k
u
b
e
c
t
l
c
r
e
a
t
e
-
f
n
v
i
d
i
a
-
k
u
b
e
v
i
r
t
-
g
p
u
-
d
e
v
i
c
e
-
p
l
u
g
i
n
.
y
a
m
l
1
5
16.
G
P
U
を
K
u
b
e
r
n
e
t
e
s
カスタムリソースで登録
• こんなファイルを使って
K
u
b
e
V
i
r
t
に
G
P
U
情報を登録
•
k
u
b
e
c
t
l
a
p
p
l
y
-
f
k
u
b
e
v
i
r
t
c
r
.
y
a
m
l
1
6
17.
G
P
U
が
K
u
b
e
r
n
e
t
e
s
に認識されたことを確認
•
k
u
b
e
c
t
l
d
e
s
c
r
i
b
e
n
o
d
e
を実行
•
G
P
U
が認識されていることを確認
• 出力されない場合
•
N
V
I
D
I
A
k
u
b
e
v
i
r
t
-
g
p
u
-
d
e
v
i
c
e
-
p
l
u
g
i
n
デプロイ直後はプロセスが実
行されるまで認識されないので、ちょっと待つ
•
B
I
O
S
、カーネル、
I
O
M
M
U
周りの設定を今一度確認
• ところで設定変更後に
g
r
u
b
2
-
m
k
c
o
n
f
i
g
を実行した?
1
7
19.
G
P
U
割り当てた
V
M
の作成
•
Y
A
M
L
を書いて
k
u
b
e
c
t
l
c
r
e
a
t
e
する
• サンプル
Y
A
M
L
を使ってみよう
1
.
w
g
e
t
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
N
V
I
D
I
A
/
k
u
b
e
v
i
r
t
-
g
p
u
-
d
e
v
i
c
e
-
p
l
u
g
i
n
/
b
l
o
b
/
m
a
s
t
e
r
/
e
x
a
m
p
l
e
s
/
v
m
i
-
g
p
u
.
y
a
m
l
2
.
c
a
t
v
m
i
-
g
p
u
.
y
a
m
l
3
.
k
u
b
e
c
t
l
c
r
e
a
t
e
-
f
v
m
i
-
g
p
u
.
y
a
m
l
• 次スライドでちょっと説明
1
9
20.
サンプルファイルのココを変更
• 割り当てたい
G
P
U
を指定
•
O
S
イメージを指定
2
0
21.
C
D
I
イメージを使った
V
M
作成も可能
• 「
K
u
b
e
V
i
r
t
1
0
1
」で説明した
C
o
n
t
a
i
n
e
r
i
z
e
d
D
a
t
a
I
m
p
o
r
t
e
r
(
C
D
I
)
で作成したイメージボリュームを使用
• ボリュームを用いて、
G
P
U
を割り当てた
V
M
を作成可能
• パススルー
.
.
.
実装
G
P
U
の数だけ
•
v
G
P
U
.
.
.
N
V
I
D
I
A
G
R
I
D
の構成による
2
1
22.
複数の
G
P
U
を
V
M
に割り当てる
•
V
M
I
を作成するための
Y
A
M
L
にデバイスを列挙
• デバイスに識別する「
n
a
m
e
」を複数指定
•
V
M
に複数
G
P
U
が割当て
2
2
23.
U
b
u
n
t
u
2
0
.
0
4
での利用例
•
V
M
内で次のソフトウェアをインストールすれば
G
P
U
を使って色々
できます
•
C
U
D
A
•
c
u
D
N
N
•
T
e
n
s
o
r
f
l
o
w
2
3
詳細は「Tensorflow GPUサポート」で検索
24.
W
i
n
d
o
w
s
での利用例
•
V
M
内で次のソフトウェアをインストールすれば
G
P
U
を使って色々
できます
•
C
U
D
A
•
c
u
D
N
N
•
V
i
s
u
a
l
S
t
u
d
i
o
2
0
1
9
•
P
y
t
h
o
n
3
•
T
e
n
s
o
r
f
l
o
w
2
4
25.
今後
•
D
o
c
k
e
r
がそろそろアレなので、
C
R
I
-
O
とか
c
o
n
t
a
i
n
e
r
d
との組み
合わせも取り組む予定
•
U
b
u
n
t
u
ベースも試す予定
•
v
G
P
U
もいつかやりたい
•
M
u
l
t
u
s
C
N
I
との連携について取り上げる予定
2
5
28.
2
8
• GitHub https://github.com/kubevirt
• KubeVirt Intro: Virtual Machine Management on
Kubernete
s
• Stephen Gordon - @xsgordon Chandrakanth Jakkid
i
• Fast Packet Processing with KubeVir
t
• Petr Horáček @Red Hat / David Vossel @Red Ha
t
• Virtualized GPU workloads on KubeVir
t
• David Vossel @Red Ha
t
• Vishesh Tanksale @NVIDI
A
• Using KubeVirt in Telco
s
• Abhinivesh Jain
29.
2
9
• RUNNING VIRTUAL MACHINES ON KUBERNETE
S
• Roman Mohr & Fabian Deutsch @Red Ha
t
• THE FOUL SIDE OF OPEN SOURCE NETWORKIN
G
• Thomas D. Nadeau @Red Ha
t
• Convergence of VM and containers orchestration
using KubeVir
t
• Chunfu Wen @Red Hat