SlideShare a Scribd company logo
Kubernetes 1.9で
Windowsコンテナをクラスタ化
2018年2月24日
System Center User Group Japan
金井 崇
自己紹介
• 名前:金井 崇
• 所属:株式会社IDCフロンティア
• 仕事:IaaSの基盤設計・構築・運用・提案を担当
• 興味:仮想化 コンテナ オールフラッシュ GPU FPGA
Chef Docker PowerShell VSCode Hadoop
• MVP:Cloud and Data Center Management (2017/03~)
• SNSなど:
• Facebook https://www.facebook.com/anikundesu
• Blog http://www.takanyan.net/
• Twitter @anikundesu
• LinkedIn https://jp.linkedin.com/in/takashikanai/ja
• SlideShare https://www.slideshare.net/anikundesu/presentations
2Copyright © 2018 System Center User Group Japan. All Rights Reserved.
注意事項
本セッションは、Windows Server Version 1709とKubernetes 1.9.2での検証結果をもとに記述を
しています。バージョンによっては挙動が異なる場合がありますので、ご留意ください。
本セッション資料は、個人で準備した環境において、個人的に実施した検証・結果を基に記載して
います。あくまで個人の意見・見解であり、所属する会社・組織及びマイクロソフト社とは関係が
ございません。所属する会社・組織・マイクロソフト社の正式な回答・見解ではない事に留意して
ください。
本資料を閲覧した事により問題が生じた場合、または問題が発生しかけた場合、または生じた一切
の不利益について、発表者は一切の責任を負う事はできませんのでご了承ください。
3Copyright © 2018 System Center User Group Japan. All Rights Reserved.
本日のアジェンダ
Kubernetes管理サーバー(Master Node)の構築2
Worker Node(Windowsコンテナ)の構築3
まとめ:今後の開発4
コンテナをクラスタ化する目的1
4Copyright © 2018 System Center User Group Japan. All Rights Reserved.
コンテナをクラスタ化する目的
Section 1
5Copyright © 2018 System Center User Group Japan. All Rights Reserved.
第3のプラットフォーム
(※2016/12/17 “NAWA Tech” & “SCUGJ” 年末勉強会 発表資料から再掲)
• IDCが最初に提唱
メインフレーム、クライアント・サーバーに続く次のPlatform
• 第3のPlatformが求められる4つのシーン
Cloud、BigData、Mobile、Social
• 実現にはMicroserviceが必要
ここでコンテナが使われる
Copyright © 2018 System Center User Group Japan. All Rights Reserved. 6
Microserviceアーキテクチャの特徴
7
出典:Microservices - a definition of this new architectural term
https://martinfowler.com/articles/microservices.html
Copyright © 2018 System Center User Group Japan. All Rights Reserved.
<従来のアーキテクチャの特徴>
• 1つのプロセス(実行ファイル)内に必要な
機能すべてを実装(Monolithic)
• スケールアウトは機能全体を複製して実現
<Microserviceアーキテクチャの特徴>
• 必要な機能を1つずつ小さなサービスとし
て分離(Microservice)
• スケールアウトはMicroserviceを機能単位
に複製して実現
従来のアーキテクチャ
(Monolithic)
Microcervice
アーキテクチャ
Microserviceアーキテクチャの内部
機能ごとにServerとNWとLBができる
8Copyright © 2018 System Center User Group Japan. All Rights Reserved.
LB
App Server
機能A
機能B
機能C
App Server
機能A
機能B
機能C
App Server
機能A
機能B
機能C
DB DB
LB LB
Aコンテナ
DB DB
LB
Aコンテナ Aコンテナ
Bコンテナ Bコンテナ Bコンテナ
Cコンテナ Cコンテナ Cコンテナ
コンテナ間NW・LB
コンテナ間NW・LB
スケール
アウト
スケール
アウト
スケール
アウト
スケール
アウト
コンテナのスケールアウトと
コンテナ間ネットワーク、負荷分散は
誰が実現するのか?
9Copyright © 2018 System Center User Group Japan. All Rights Reserved.
コンテナをクラスタ化する目的
• 小さな機能ごとのサービス(Microservice)をコンテナ
で実装。
• Microservice間をネットワークでつなぎ、負荷分散する
環境を作る事を「クラスタ化」と呼ぶ。
• コンテナクラスタ管理ソフトが各Microserviceのスケー
ルアウト、コンテナ間ネットワーク、負荷分散などを管
理する。
10Copyright © 2018 System Center User Group Japan. All Rights Reserved.
コンテナ管理ソフト:Kubernetes
11Copyright © 2018 System Center User Group Japan. All Rights Reserved.
出典:Kubernetes https://kubernetes.io/
• Googleが2014年から公開したコンテナ管理用の
オープンソースソフトウェア
• 今ではAzure AKS、Amazon EKS、Google GKEなど
Kubernetesのマネージドサービスを各社提供
• コンテナのデファクトになったDockerでは
Docker SwarmだけではなくKubernetesも同梱す
るようになった
コンテナ管理の標準になりつつある
WindowsのKubernetes対応とは
• KubernetesはLinuxベースのアプリ
ケーションであり、Dockerも元々
Linuxのコンテナ(LXC)管理API
• コンテナクラスタを作るために必要な
SDNもLinux Kernelの機能で実装
Windows Server version 1709は
KuberenetesのSDN実装に対応
12Copyright © 2018 System Center User Group Japan. All Rights Reserved.
出典:Windows Networking at Parity with Linux for Kubernetes
https://www.cncf.io/blog/2017/09/08/windows-networking-parity-linux-kubernetes/
Windows Server 1709でのKubernetes
Network機能対応(か???)
本日構築するデモ環境
13Copyright © 2018 System Center User Group Japan. All Rights Reserved.
Kubernetes Master
(Ubuntu 17.10)
Worker Node1
(Windows 1709)
Worker Node2
(Windows 1709)
Worker Node3
(Windows 1709)
外部NW
192.168.1.0/24
vSwitch
NAT
コンテナNW
172.16.3.0/24
172.16.3.2
192.168.1.33
vSwitch
NAT
コンテナNW
172.16.2.0/24
172.16.2.2
192.168.1.32
vSwitch
NAT
コンテナNW
172.16.1.0/24
172.16.1.2
192.168.1.31
iptables
NAT
コンテナNW
172.16.0.0/24
172.16.0.1
192.168.1.20
Kubernetes管理サーバー
(Master Node)の構築
Section 2
14Copyright © 2018 System Center User Group Japan. All Rights Reserved.
このセクションで構築する部分
15Copyright © 2018 System Center User Group Japan. All Rights Reserved.
Worker Node1
(Windows 1709)
Worker Node2
(Windows 1709)
Worker Node3
(Windows 1709)
外部NW
192.168.1.0/24
vSwitch
NAT
コンテナNW
172.16.3.0/24
172.16.3.2
192.168.1.33
vSwitch
NAT
コンテナNW
172.16.2.0/24
172.16.2.2
192.168.1.32
vSwitch
NAT
コンテナNW
172.16.1.0/24
172.16.1.2
192.168.1.31
Kubernetes Master
(Ubuntu 17.10)
iptables
NAT
コンテナNW
172.16.0.0/24
172.16.0.1
192.168.1.20
コンテナ間ネットワークのトポロジー設計
16Copyright © 2018 System Center User Group Japan. All Rights Reserved.
トポロジー 実装状況 特徴
上位L3ルーティング L3スイッチでStatic Routing 手動でStatic Routingを設定
Host-Gateway 各コンテナホストでStatic
Routing
各ホストで他ホスト向け
Static Routeを手動設定
Open vSwitch(OVS)& OVN
with Overlay
STTなどのOverlayプロトコ
ルをOVS上で実装
Hyper-V vSwitchがあるのに
OVSを入れるとか・・・
FlannelとCNIプラグインに
よるOverlay
VXLAN or IP-in-IPカプセル化 開発途中
Calicoによるルーティング BGPでL3ルーティング設定 開発途中
今回は必要機器が少ないHost-Gateway構成を選択
参照:Using Windows Server Containers in Kubernetes ( https://kubernetes.io/docs/getting-started-guides/windows/ )
Kubernetes Masterの構築
Kubernetes Master構築のステップ
1. Ubuntu上にKubernetesのインストール
2. CNI Pluginのインストール
3. Kubernetes初期設定
4. Kubernetesの起動
参考:Kubernetes Master From Scratch
https://docs.microsoft.com/en-us/virtualization/windowscontainers/kubernetes/creating-a-linux-master
17Copyright © 2018 System Center User Group Japan. All Rights Reserved.
Ubuntu上にKubernetesのインストール①
• Ubuntu Server 17.10のOSをインストール
(Swapは使わない設定が理想)
• 固定IPアドレスの設定
• OSに最新パッチ適用
• 必要なパッケージのインストール
18Copyright © 2018 System Center User Group Japan. All Rights Reserved.
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install curl git build-essential docker.io conntrack python2.7
Ubuntu上にKubernetesのインストール②
• Microsoftで用意したKuberneteで
Windowsコンテナを管理するためのNW
設定Scriptの用意
19Copyright © 2018 System Center User Group Japan. All Rights Reserved.
$ mkdir -p ~/kube/bin
$ git clone https://github.com/Microsoft/SDN /tmp/k8s
$ cd /tmp/k8s/Kubernetes/linux
$ chmod -R +x *.sh
$ chmod +x manifest/generate.py
$ mv * ~/kube/
Ubuntu上にKubernetesのインストール③
• Kubernetes 1.9.2のバイナリのダウン
ロードとインストール
20Copyright © 2018 System Center User Group Japan. All Rights Reserved.
$ wget -O kubernetes.tar.gz
https://github.com/kubernetes/kubernetes/releases/download/v1.9.2/kubernetes.tar.gz
$ tar -xzf kubernetes.tar.gz
$ cd kubernetes/cluster
$ ./get-kube-binaries.sh
$ cd ../server
$ tar -xzf kubernetes-server-linux-amd64.tar.gz
$ cd kubernetes/server/bin
$ cp hyperkube kubectl ~/kube/bin/
Ubuntu上にKubernetesのインストール④
• Kubernetes実行ファイル用のパスの設定
• 設定反映のためここでOSを再起動
※いったんログオフするだけでも可
21Copyright © 2018 System Center User Group Japan. All Rights Reserved.
$ vi ~/.profile
(最終行に以下を追記)
PATH="$HOME/kube/bin:$PATH"
CNI Pluginのインストール
• CNI Pluginをダウンロードして展開
22Copyright © 2018 System Center User Group Japan. All Rights Reserved.
$ DOWNLOAD_DIR="${HOME}/kube/cni-plugins"
$ CNI_BIN="/opt/cni/bin/"
$ mkdir ${DOWNLOAD_DIR}
$ cd $DOWNLOAD_DIR
$ curl -L $(curl -s
https://api.github.com/repos/containernetworking/plugins/releases/latest | grep
browser_download_url | grep 'amd64.*tgz' | head -n 1 | cut -d '"' -f 4) -o cni-plugins-
amd64.tgz
$ tar -xzf cni-plugins-amd64.tgz
$ sudo mkdir -p ${CNI_BIN}
$ sudo cp -r !(*.tgz) ${CNI_BIN}
Kubernetes初期設定①
設定をする際の各種パラメータ
23Copyright © 2018 System Center User Group Japan. All Rights Reserved.
パラメータ名 値 意味
MASTER_IP 192.168.1.20 Kubernetes Master(Ubuntu)のIPアドレス
CLUSTER_CIDR 172.16.0.0/16
コンテナクラスタ用Networkで使うCIDR
ここから各Node用に/24ずつアサインされる
API Version 1.9.2 インストールするKubernetesのバージョン
Kubernetes初期設定②
• Node間通信の認証に用いる証明書の生成
• 各種設定ファイル(manifest)を生成
24Copyright © 2018 System Center User Group Japan. All Rights Reserved.
$ cd ~/kube/manifest
$ python2.7 ./generate.py $MASTER_IP --cluster-cidr 172.16.0.0/16 --api-version=1.9.2
$ MASTER_IP=192.168.1.20
$ cd ~/kube/certs
$ chmod u+x generate-certs.sh
$ ./generate-certs.sh $MASTER_IP
Kubernetes初期設定③
• Kubectlコマンド用設定ファイル生成
• 設定ファイルを必要な場所へコピー
25Copyright © 2018 System Center User Group Japan. All Rights Reserved.
$ mkdir ~/kube/kubelet
$ sudo cp ~/.kube/config ~/kube/kubelet/
$ cd ~/kube
$ ./configure-kubectl.sh $MASTER_IP
Kubernetesの起動①
Kubernetes Client(kubelet)とkubeproxy
をフォアグラウンドで実行
※大量の出力があるので必ず別Terminalを立ち上げる
• Kubeletの開始
• Kubeproxyの開始
26Copyright © 2018 System Center User Group Japan. All Rights Reserved.
$ cd ~/kube
$ sudo ./start-kubeproxy.sh 172.16
$ cd ~/kube
$ sudo ./start-kubelet.sh
Kubernetesの起動②
• 各種コマンドで起動を確認
27Copyright © 2018 System Center User Group Japan. All Rights Reserved.
$ sudo docker ps
23個ぐらいのKubernetes関連コンテナが起動している
$ kubectl cluster-info
Kubernetes master is running at https://192.168.1.20
(以下略)
$ ifconfig
cbr0: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST> mtu 1500
inet 172.16.0.1 netmask 255.255.255.0 broadcast 0.0.0.0
※“cbr0”というインターフェースが生成されCluster CIDRのIPがアサインされている
Worker Node
(Windowsコンテナ)の構築
Section 3
28Copyright © 2018 System Center User Group Japan. All Rights Reserved.
このセクションで構築する部分
29Copyright © 2018 System Center User Group Japan. All Rights Reserved.
Worker Node2
(Windows 1709)
Worker Node3
(Windows 1709)
外部NW
192.168.1.0/24
vSwitch
NAT
コンテナNW
172.16.3.0/24
172.16.3.2
192.168.1.33
vSwitch
NAT
コンテナNW
172.16.2.0/24
172.16.2.2
192.168.1.32
Kubernetes Master
(Ubuntu 17.10)
iptables
NAT
コンテナNW
172.16.0.0/24
172.16.0.1
192.168.1.20
Worker Node1
(Windows 1709)
vSwitch
NAT
コンテナNW
172.16.1.0/24
172.16.1.2
192.168.1.31
WindowsコンテナNodeの構築
WindowsコンテナNode構築のStep
1. Windows ServerのNIC設定
2. DockerのインストールとOS再起動
3. Kubernetesのインストールと設定
4. Kubernetesクラスタへの参加
参考:Kubernetes on Windows
https://docs.microsoft.com/en-us/virtualization/windowscontainers/kubernetes/getting-
started-kubernetes-windows
30Copyright © 2018 System Center User Group Japan. All Rights Reserved.
Windows ServerのNIC設定
• Node間通信に使うNICの名称を変更
※ Kubernetes設定に使うScriptはNIC名が「Ethernet」である前提のため
31Copyright © 2018 System Center User Group Japan. All Rights Reserved.
C:¥> powershell
PS C:¥> Get-NetAdapter
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
イーサネット Microsoft Hyper-V Network Adapter 2 Up 00-15-5D-01-0B-0E 1 Gbps
PS C:¥> Rename-NetAdapter -Name “イーサネット” -NewName “Ethernet”
PS C:¥> Get-NetAdapter
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
Ethernet Microsoft Hyper-V Network Adapter 2 Up 00-15-5D-01-0B-0E 1 Gbps
DockerのインストールとOS再起動
• PowerShellでDockerのインストール
• Dockerのサービス起動がうまくいかない
ので、OSを「2回」再起動させる
32Copyright © 2018 System Center User Group Japan. All Rights Reserved.
PS C:¥> Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
PS C:¥> Install-Package -Name Docker -ProviderName DockerMsftProvider
(Yes/Noを聞かれたら「Y」と明示的に入力する)
PS C:¥> Restart-Computer -Force
【2回OS再起動する】
Kubernetesのインストールと設定①
• 「C:¥k¥」フォルダ以下にKubernetes設
定用Scriptをダウンロード
※ 設定Scriptは保存フォルダがC:¥k¥である前提のため、他の名称は使わない
33Copyright © 2018 System Center User Group Japan. All Rights Reserved.
PS C:¥> wget https://github.com/Microsoft/SDN/archive/master.zip -o master.zip
PS C:¥> Expand-Archive master.zip -DestinationPath master
PS C:¥> mkdir C:¥k¥
PS C:¥> mv master¥SDN-master¥Kubernetes¥windows¥* C:¥k¥
PS C:¥> rm -recurse -force master,master.zip
PS C:¥> Unblock-File C:¥k¥* ←ダウンロードしたScriptの実行を許可する
Kubernetesのインストールと設定②
• Kubernetes実行用コンテナImageの取得
• Kubernetes用Paused Image作成
34Copyright © 2018 System Center User Group Japan. All Rights Reserved.
PS C:¥> docker pull microsoft/windowsservercore:1709
PS C:¥> docker tag microsoft/windowsservercore:1709
microsoft/windowsservercore:latest
PS C:¥> cd C:¥k¥
PS C:¥k¥> docker build -t kubeletwin/pause . ←最後のピリオドを忘れない
Kubernetesのインストールと設定③
• KubernetesのWindowsバイナリのダウン
ロードと展開
URL: https://storage.googleapis.com/kubernetes-
release/release/v1.9.2/kubernetes-node-windows-amd64.tar.gz
※tar.gz形式なので、Linuxで展開するかツールを別途取得。
• 共有フォルダに展開後、Nodeに保存
35Copyright © 2018 System Center User Group Japan. All Rights Reserved.
PS C:¥> mkdir C:¥k¥
PS C:¥> cd C:¥k¥
PS C:¥k¥> cp ¥¥(共有ファイルサーバーのIP)¥(フォルダのパス)¥kube*.exe .¥
Kubernetesのインストールと設定④
• Kubernetes Masterにある
~/.kube/configファイルを保存
36Copyright © 2018 System Center User Group Japan. All Rights Reserved.
PS C:¥> cd C:¥k¥
PS C:¥k¥> notepad
• メモ帳で上記の出力結果をすべて貼り付ける
• 保存する際、拡張子を「すべてのファイル」にしたうえで「config」というファ
イル名で保存する
$ cat ~/.kube/config
(出力結果をすべてコピー)
Kubernetesのインストールと設定⑤
• Kubernetes実行に必要な環境変数の設定
• 恒久的なシステム設定にする際は以下を
実行
37Copyright © 2018 System Center User Group Japan. All Rights Reserved.
PS C:¥k¥> $env:Path += ";C:¥k"
PS C:¥k¥> $env:KUBECONFIG="C:¥k¥config"
PS C:¥k¥> [Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:¥k",
[EnvironmentVariableTarget]::Machine)
PS C:¥k¥> [Environment]::SetEnvironmentVariable("KUBECONFIG", "C:¥k¥config",
[EnvironmentVariableTarget]::Machine)
Kubernetesクラスタへの参加①
• 別Windowでのkubeletの開始
38Copyright © 2018 System Center User Group Japan. All Rights Reserved.
PS C:¥k¥> Start-Process powershell
(別ウィンドウで以下を実行)
PS C:¥k¥> $env:Path += ";C:¥k"
PS C:¥k¥> $env:KUBECONFIG="C:¥k¥config"
PS C:¥k¥> ./start-kubelet.ps1 -ClusterCidr 172.16.0.0/16
Kubernetesクラスタへの参加②
• 別Windowでのkube-proxyの開始
39Copyright © 2018 System Center User Group Japan. All Rights Reserved.
PS C:¥k¥> Start-Process powershell
(別ウィンドウで以下を実行)
PS C:¥k¥> $env:Path += ";C:¥k"
PS C:¥k¥> $env:KUBECONFIG="C:¥k¥config"
PS C:¥k¥> ./start-kubeproxy.ps1
Windowsコンテナのクラスタ化①
40Copyright © 2018 System Center User Group Japan. All Rights Reserved.
Worker Node2
(Windows 1709)
Worker Node3
(Windows 1709)
外部NW
192.168.1.0/24
コンテナNW
172.16.3.0/24
172.16.3.2
192.168.1.33
コンテナNW
172.16.2.0/24
172.16.2.2
192.168.1.32
Kubernetes Master
(Ubuntu 17.10)
コンテナNW
172.16.0.0/24
172.16.0.1
192.168.1.20
Worker Node1
(Windows 1709)
コンテナNW
172.16.1.0/24
172.16.1.2
192.168.1.31
vSwitch
NAT
vSwitch
NAT
iptables
NAT
vSwitch
NAT
各Node内のコンテナNWへのStatic Route設定を追加
Windowsコンテナのクラスタ化②
• 3台のWindows Nodeで構築を実行
• Node状態が正常であることを確認
41Copyright © 2018 System Center User Group Japan. All Rights Reserved.
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
kube-master Ready <none> 15d v1.9.2
winworker01 Ready <none> 15d v1.9.2
winworker02 Ready <none> 14d v1.9.2
winworker03 Ready <none> 14d v1.9.2
Windowsコンテナのクラスタ化③
• Windows NodeでStatic Routeの設定
※この設定は永続的。Nodeが増えたら再度実行が必要。
42Copyright © 2018 System Center User Group Japan. All Rights Reserved.
PS C:¥k¥> .¥AddRoutes.ps1 -MasterIp 192.168.1.20 -Gateway 192.168.1.1
(各NodeのコンテナNW情報をKubernetes Masterから取得し、必要なStatic Routeを自
動設定)
Windowsコンテナのクラスタ化④
• Kubernetes Master NodeでStatic Route
の設定
※この設定は非永続的。OS再起動後は都度実行が必要。
43Copyright © 2018 System Center User Group Japan. All Rights Reserved.
$ CLUSTER_PREFIX="172.16"
$ sudo route add -net $CLUSTER_PREFIX.0.0 netmask 255.255.0.0 dev eth0
$ sudo route add -net $CLUSTER_PREFIX.1.0 netmask 255.255.255.0 gw
$CLUSTER_PREFIX.1.2 dev eth0
$ sudo route add -net $CLUSTER_PREFIX.2.0 netmask 255.255.255.0 gw
$CLUSTER_PREFIX.2.2 dev eth0
$ sudo route add -net $CLUSTER_PREFIX.3.0 netmask 255.255.255.0 gw
$CLUSTER_PREFIX.3.2 dev eth0
DEMO:KubernetesでWindowsコンテナ管理
1. Workerのステータスを確認
2. サンプルWebプログラムを実行
3. いろんな方法でWebアクセス
44Copyright © 2018 System Center User Group Japan. All Rights Reserved.
• Windows用サンプルServiceのデプロイ
45Copyright © 2018 System Center User Group Japan. All Rights Reserved.
$ kubectl apply -f
https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/WebServer.yaml -
O win-webserver.yaml
$ kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
win-webserver-bc9d6d478-5rwqv 1/1 Running 0 3m 172.16.2.187 winworker02
win-webserver-bc9d6d478-j7k9x 1/1 Running 0 3m 172.16.3.218 winworker03
$ kubectl get service win-webserver
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
win-webserver LoadBalancer 11.0.7.87 <pending> 80:31932/TCP 1m
まとめ:今後の開発
Section 4
46Copyright © 2018 System Center User Group Japan. All Rights Reserved.
まとめ
• コンテナはクラスタ化することでMicroserviceアーキテクチャを構
築できるようになる。
• Kubernetes v1.9とWindows Server version 1709の組み合わせ
でWindowsベースのMicroserviceアーキテクチャが実現可能に。
• Windowsコンテナのクラスタ化のためのコンテナ間NWの実装はい
くつかあるが、手動設定が必須だったり、開発途中のものが多い。
→設定が煩雑で面倒
47Copyright © 2018 System Center User Group Japan. All Rights Reserved.
今後の開発について
• コンテナ間、Node間のRoutingを自動設
定するOSSが今後Windowsにも対応
48Copyright © 2018 System Center User Group Japan. All Rights Reserved.
Windows
(今後)
Linux
各NodeにRoutingや
Overlay NWを設定
各コンテナ間に必要
な通信情報を伝達
コンテナ間通信要件
からNode用設定生成
or

More Related Content

PDF
Windows Server 2016上でLinuxコンテナが動いた!
Takashi Kanai
 
PDF
Kubernetesのワーカーノードを自動修復するために必要だったこと
h-otter
 
PDF
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Takashi Kanai
 
PDF
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
 
PDF
Kubernetes Operator for vSphere VM
Masanori Nara
 
PPTX
Jenkins x Kubernetesが簡単だと思ったら大変だった話
Masaki Yamamoto
 
PPTX
IBM Log Analysis with LogDNAを評価した話
Daisuke Hiraoka
 
PDF
Kubernetesと閉域網
Han Li
 
Windows Server 2016上でLinuxコンテナが動いた!
Takashi Kanai
 
Kubernetesのワーカーノードを自動修復するために必要だったこと
h-otter
 
Kubernetes上のWindows Server コンテナーのマイクロサービス間分離
Takashi Kanai
 
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
 
Kubernetes Operator for vSphere VM
Masanori Nara
 
Jenkins x Kubernetesが簡単だと思ったら大変だった話
Masaki Yamamoto
 
IBM Log Analysis with LogDNAを評価した話
Daisuke Hiraoka
 
Kubernetesと閉域網
Han Li
 

What's hot (20)

PDF
Docker国内外本番環境サービス事例のご紹介
ThinkIT_impress
 
PDF
CNCF Updates 2019 Winter version and Knative
Masahito Zembutsu
 
PDF
コンテナ導入概要資料2018
Masahito Zembutsu
 
PDF
Windows Server 2019 で Container を使ってみる
Kazuki Takai
 
PDF
kpackによるコンテナイメージのビルド
Masanori Nara
 
PPTX
Docker & Kubernetes基礎
Daisuke Hiraoka
 
PDF
最速・最短・最簡単でKubernetesを始めるハウツー with k0s
Kamon Nobuchika
 
PDF
Kubernetes をいじって Hardware LoadBalancer で "type LoadBalancer" を実現してみた @Kuberne...
Masaya Aoyama
 
PPTX
Introduction to Magnum (JP)
Motohiro OTSUKA
 
PPTX
NSX-Tから見たvSphere with Kubernetesのネットワーキング
Tomoyuki Tanigaki
 
PDF
vmware-meetup7
mikiya michishita
 
PDF
OpenShift Origin Minishift (Beta)
Naoya Hashimoto
 
PDF
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
さくらインターネット株式会社
 
PDF
自動化ハンズオン
VirtualTech Japan Inc.
 
PPTX
Japan Container Day 2018
Yoshio Terada
 
PDF
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
VirtualTech Japan Inc.
 
PDF
”30分”ぐらいでわかる「Kubernetes」について
Yuya Ohara
 
PDF
Windowsコンテナ入門
Kyohei Mizumoto
 
PDF
Kubernetes に開かれる新しい海 -Project Pacific とは?-
Masahiro Tabuki
 
PDF
Kubernetes雑にまとめてみた 2019年12月版
VirtualTech Japan Inc.
 
Docker国内外本番環境サービス事例のご紹介
ThinkIT_impress
 
CNCF Updates 2019 Winter version and Knative
Masahito Zembutsu
 
コンテナ導入概要資料2018
Masahito Zembutsu
 
Windows Server 2019 で Container を使ってみる
Kazuki Takai
 
kpackによるコンテナイメージのビルド
Masanori Nara
 
Docker & Kubernetes基礎
Daisuke Hiraoka
 
最速・最短・最簡単でKubernetesを始めるハウツー with k0s
Kamon Nobuchika
 
Kubernetes をいじって Hardware LoadBalancer で "type LoadBalancer" を実現してみた @Kuberne...
Masaya Aoyama
 
Introduction to Magnum (JP)
Motohiro OTSUKA
 
NSX-Tから見たvSphere with Kubernetesのネットワーキング
Tomoyuki Tanigaki
 
vmware-meetup7
mikiya michishita
 
OpenShift Origin Minishift (Beta)
Naoya Hashimoto
 
Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドラ...
さくらインターネット株式会社
 
自動化ハンズオン
VirtualTech Japan Inc.
 
Japan Container Day 2018
Yoshio Terada
 
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
VirtualTech Japan Inc.
 
”30分”ぐらいでわかる「Kubernetes」について
Yuya Ohara
 
Windowsコンテナ入門
Kyohei Mizumoto
 
Kubernetes に開かれる新しい海 -Project Pacific とは?-
Masahiro Tabuki
 
Kubernetes雑にまとめてみた 2019年12月版
VirtualTech Japan Inc.
 
Ad

Similar to Kubernetes1.9でWindowsコンテナーをクラスタ化 (20)

PDF
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Takashi Kanai
 
PDF
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Takashi Kanai
 
PDF
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
Fuminobu Takeyama
 
PDF
Infra: Kubernetes and GKE, Network
Kuma Arakawa
 
PDF
K8s install (single cluster)
Masayuki Ozawa
 
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
 
PDF
Windows コンテナを AKS に追加する
Yuto Takei
 
PPTX
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
cyberblack28 Ichikawa
 
PPTX
Kubernetesオンラインセミナー kubernetesの始め方
Kujirai Takahiro
 
PPTX
AKS (k8s) Hands on Lab Contents
Yoshio Terada
 
PDF
Kubernetesを触ってみた
Kazuto Kusama
 
PDF
半日でわかる コンテナー技術 (応用編)
Toru Makabe
 
PDF
20191120 beyondstudy#21 kitaoka
beyond Co., Ltd.
 
PPTX
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Akihito Inoh
 
PPTX
Kubernetes ときどき Serverless -- cndjp第1回勉強会
Hiroshi Hayakawa
 
PPTX
今さら聞けない人のための K8s超入門 Big Sur対応版
VirtualTech Japan Inc./Begi.net Inc.
 
PDF
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
Preferred Networks
 
PPTX
今さら聞けない人のための K8s超入門 Big Sur対応版 CNDO2021 ショートバージョン
VirtualTech Japan Inc./Begi.net Inc.
 
PDF
[GKE & Spanner 勉強会] GKE 入門
Google Cloud Platform - Japan
 
PPTX
エンプラに Kubernetes を 導入してみて分かった 4つの Lessons Learned
Daiki Kawanuma
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Takashi Kanai
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Takashi Kanai
 
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
Fuminobu Takeyama
 
Infra: Kubernetes and GKE, Network
Kuma Arakawa
 
K8s install (single cluster)
Masayuki Ozawa
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
 
Windows コンテナを AKS に追加する
Yuto Takei
 
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
cyberblack28 Ichikawa
 
Kubernetesオンラインセミナー kubernetesの始め方
Kujirai Takahiro
 
AKS (k8s) Hands on Lab Contents
Yoshio Terada
 
Kubernetesを触ってみた
Kazuto Kusama
 
半日でわかる コンテナー技術 (応用編)
Toru Makabe
 
20191120 beyondstudy#21 kitaoka
beyond Co., Ltd.
 
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Akihito Inoh
 
Kubernetes ときどき Serverless -- cndjp第1回勉強会
Hiroshi Hayakawa
 
今さら聞けない人のための K8s超入門 Big Sur対応版
VirtualTech Japan Inc./Begi.net Inc.
 
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後! / Kubernetes Meetup Tokyo 50
Preferred Networks
 
今さら聞けない人のための K8s超入門 Big Sur対応版 CNDO2021 ショートバージョン
VirtualTech Japan Inc./Begi.net Inc.
 
[GKE & Spanner 勉強会] GKE 入門
Google Cloud Platform - Japan
 
エンプラに Kubernetes を 導入してみて分かった 4つの Lessons Learned
Daiki Kawanuma
 
Ad

More from Takashi Kanai (7)

PDF
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
Takashi Kanai
 
PDF
Toward Scalable and Powerful CloudStack
Takashi Kanai
 
PDF
Rancherでwindows server上のコンテナを管理できるか
Takashi Kanai
 
PDF
Windows Server 2016でコンテナを動かしてみた
Takashi Kanai
 
PDF
Chefで始めるWindows Server構築
Takashi Kanai
 
PDF
App controllerとwindows azure packで作る大規模プライベートクラウド
Takashi Kanai
 
PDF
App controllerとSPFで実現するハイブリッドクラウド
Takashi Kanai
 
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
Takashi Kanai
 
Toward Scalable and Powerful CloudStack
Takashi Kanai
 
Rancherでwindows server上のコンテナを管理できるか
Takashi Kanai
 
Windows Server 2016でコンテナを動かしてみた
Takashi Kanai
 
Chefで始めるWindows Server構築
Takashi Kanai
 
App controllerとwindows azure packで作る大規模プライベートクラウド
Takashi Kanai
 
App controllerとSPFで実現するハイブリッドクラウド
Takashi Kanai
 

Kubernetes1.9でWindowsコンテナーをクラスタ化