コンテナを止めるなを止めるな止めるなめるな!
PacemakerによるコンテナコンテナHAクラスタリングととKubernetesとの違いとは違いとはいとは
2018年10月27日
Linux-HA Japan プロジェクト
http://linux-ha.osdn.jp/
自己紹介
名前: 森 啓介
(Keisuke MORI)Keisuke MORI))
twitter: @ksk_ha
Linux-HA Japanプロジェクト関連の活動の違いとは活動
Pacemakerリポジトリパッケージの違いとはリリース
http://linux-ha.osdn.jp/
ClusterLabs プロジェクトの違いとはコミッタ
Pacemaker、resource-agents などHAクラスタ関連の活動の違いとは開発コミュニティコミュニティ
https://github.com/ClusterLabs/
本業
普段の業務の違いとは業務: NTT OSSセンタ
NTTグとループ内におけるにおけるコンテナPacemaker/Heartbeatの違いとは導入支援・サポートサポート
バグと報告・サポートパッチ作成などによる作成などによるなどによるコンテナNTTから開発コミュニティへのフィードバック・貢献開発コミュニティコミュニティへの違いとはフィードバック・サポート貢献
もくじ
Pacemakerとは
オーケストレーションツールによるコンテナコンテナHA
Pacemaker bundle 機能によるコンテナによるコンテナコンテナHA
もくじ
Pacemakerとは
オーケストレーションツールによるコンテナコンテナHA
Pacemaker bundle 機能によるコンテナによるコンテナコンテナHA
Pacemaker?なにそれおいしいの?なにそれおいしいの違いとは?なにそれおいしいの?
Pacemakerとは、
オープンソースの違いとはHAクラスタソフトウェアです。です。
H
H
igh
A
A
vailability =
高可用性
サービスをできるコンテナ限りり
「止めない!」こと止めない!」ことめない!」こと
Pacemakerの違いとは概要
サーバ#1
サーバ#2
サービスの監視・制御の監視・制御監視・制御
サーバ間の監視・制御間の監視・制御の監視・制御監視・制御
Pacemakerの違いとは概要
サーバ#1
サーバ#2
サービスの監視・制御の監視・制御フェイルオーバ間の監視・制御
故障検知時、自動的にフェイルオーバにフェイルオーバ
ダウンタイムの最小化の違いとは最小化
STONI)THによるコンテナデータの違いとは安全性確保
STONITH(強制電源断)Pacemakerを詳しく知りたかったら…しく知りたかったら開発コミュニティへのフィードバック・貢献…
Pacemakerとは
オーケストレーションツールによるコンテナコンテナHA
Pacemaker bundle 機能によるコンテナによるコンテナコンテナHA
今後の動向の違いとは動向
コンテナが止まった!そのときどうなる?止めない!」ことまった!その違いとはときどうなるコンテナ?なにそれおいしいの?
もう時代はコンテナ・クラウドでしょー時代はコンテナ・クラウドでしょーはコンテナ・クラウドでしょーコンテナ・クラウドでしょーでしょー
Kubernetesがあるから大丈夫!大丈夫!
セルフヒーリング機能は確かに便利ね機能は確かに便利ねはコンテナ・クラウドでしょー確かに便利ねかに便利ねね
でもPodの種類にも気をつけて種類にも気をつけてにも気をつけてをつけてデモ展示中!
Kubernetes セルフヒーリングと機能によるコンテナ
Pod
共有ストレージストレージ
マスの監視・制御ターからの監視・制御監視
master
worker1
worker2
Podの監視・制御再起動 レプリカ数の維持数の維持の監視・制御維持
物理ネットワークネットワーク
起動時は常に同じ状態に同じ状態じ状態
データを保存する必要はなするコンテナ必要はな
い
必要なだけいくつでも起動
すればよい
Webサーバ、アです。プリケーシ
ョンサーバなど
Statelessコンテナ と Statefulコンテナ
起動時は「止めない!」こと前回と同じ」と同じ状態じ」
データを持った状態で起動った状態で起動
データの違いとは永続化と共有ストレージ
別の物理サーバでも同じデータの違いとは物理ネットワークサーバでも同じ状態じデータ
個々の識別が必要の違いとは識別の物理サーバでも同じデータが止まった!そのときどうなる?必要
再起動しても同じ状態じデータ
データベースサーバ、
ファイルサーバなど
Statelessコンテナ
Deployment, ReplicaSet
Statefulコンテナ
StatefulSet
Deployment vs. StatefulSet サービス継続性の違いとは違いとはい
共有ストレージストレージ
Deployment
StatefulSet
master
worker1
worker2
物理ネットワークネットワーク
ネットワーク接続断が発生してが止まった!そのときどうなる?発コミュニティ生してして
監視処理ネットワークが止まった!そのときどうなる?タイムの最小化アです。ウトした!
ネットワーク接続断が発生してが止まった!そのときどうなる?発コミュニティ生してして
監視処理ネットワークが止まった!そのときどうなる?タイムの最小化アです。ウトした!
Deployment vs. StatefulSet サービス継続性の違いとは違いとはい
共有ストレージストレージ
Deployment
StatefulSet
master
worker1
worker2
物理ネットワークネットワーク
デッドロックだね
データベースが止まった!そのときどうなる?フェイル
ØωØverωØverØωØverver
しないニャ!
Deployment vs. StatefulSet サービス継続性の違いとは違いとはい
共有ストレージストレージ
Deployment
StatefulSet
master
worker1
worker2
Deployment は他のワーカーノードで再起動するの違いとはワーカーノードで再起動するコンテナ
StatefulSet は再起動されず、コンテナは止めない!」ことまるコンテナ!
Deployment は他のワーカーノードで再起動するの違いとはワーカーノードで再起動するコンテナ
StatefulSet は再起動されず、コンテナは止めない!」ことまるコンテナ!
デモ 1
デモ 1: 初期状態(Keisuke MORI)ノード)
[root@master osc2018tk-demo]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready master 4d v1.11.3
worker1 Ready <none> 4d v1.11.3
worker2 Ready <none> 4d v1.11.3
[root@master osc2018tk-demo]#
●
3ノード構成などによる
●
全てReady状態
●
3ノード構成などによる
デモ 1: 初期状態(Keisuke MORI)Pod)
[root@master osc2018tk-demo]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE httpd-5f9cf547cc-dfsqn 1/1 Running 0 8m 10.244.2.16 worker2 httpd-5f9cf547cc-pc7s2 1/1 Running 0 30s 10.244.1.22 worker1 postgres-0 1/1 Running 0 46s 10.244.1.21 worker1 [root@master osc2018tk-demo]# kubectl get deployments
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE httpd 2 2 2 2 4d [root@master osc2018tk-demo]# kubectl get statefulsets NAME DESIRED CURRENT AGE
postgres 1 1 4d [root@master osc2018tk-demo]#
●
httpdは両ノードで起動ノードで起動
●
postgresはworker1で起動
●
httpdは両ノードで起動ノードで起動
●
postgresはworker1で起動
●
httpdはDeployment
●
postgresはStatefulSet
●
httpdはDeployment
●
postgresはStatefulSet
デモ 1: ネットワーク切断が発生しての違いとは疑似故障
●
worker1の違いとは全ての違いとはアです。ダプターの違いとは
●
worker1の違いとは全ての違いとはアです。ダプターの違いとは
ケーブル接続をオフにするコンテナ
デモ 1: ネットワーク切断が発生して後の動向の違いとは状態
Every 1.0s: kubectl get node; echo ; kubectl get pods -o wide Wed Oct 24 08:35:42 2018 NAME STATUS ROLES AGE VERSION
master Ready master 4d v1.11.3 worker1 NotReady <none> 4d v1.11.3 worker2 Ready <none> 4d v1.11.3
NAME READY STATUS RESTARTS AGE IP NODE httpd-5f9cf547cc-chk6c 1/1 Running 0 7s 10.244.2.18 worker2 httpd-5f9cf547cc-dfsqn 1/1 Running 0 10m 10.244.2.16 worker2 httpd-5f9cf547cc-pc7s2 1/1 Unknown 0 2m 10.244.1.22 worker1 postgres-0 1/1 Unknown 0 2m 10.244.1.21 worker1
●
worker1はNotReady状態となるコンテナ
(Keisuke MORI)デフォルトでは40秒後の動向)
●
worker1はNotReady状態となるコンテナ
(Keisuke MORI)デフォルトでは40秒後の動向)
●
worker1上のの違いとはpodは Unknown 状態となるコンテナ
●
httpdはworker2で2つ起動するコンテナ
●
postgres はworker2では起動しない
●
worker1上のの違いとはpodは Unknown 状態となるコンテナ
●
httpdはworker2で2つ起動するコンテナ
●
postgres はworker2では起動しない
コンテナの違いとは二重起動によるコンテナデータ破損を防ぐためです。を防ぐためです。ぐためです。
コンテナ状態: Unknown → まだ動いてるコンテナかも?
コンテナが止まった!そのときどうなる?「止めない!」こと確実に停止めない!」こと」したことを確認できない限り再起動は危険できない限りり再起動は危険
でもさあ…
Q.でもネットワークが止まった!そのときどうなる?切れてたら開発コミュニティへのフィードバック・貢献データも書き込めないから安全だよね?き込めないから安全だよね?めないから開発コミュニティへのフィードバック・貢献安全だよね?なにそれおいしいの?
ネットワーク通信が復旧するとそこで二重書き込みが発生します。が止まった!そのときどうなる?復旧するとそこで二重書き込みが発生します。するコンテナとそこで二重書き込めないから安全だよね?き込めないから安全だよね?みが止まった!そのときどうなる?発コミュニティ生してします。
ネットワークスイッチ作成などによるの違いとは一時的にフェイルオーバな故障などではよくあるコンテナシナリオ
監視用とストレージ用で別の物理サーバでも同じデータ々の識別が必要の違いとはネットワークであるコンテナ構成などによるもあります。
SAN経由、ストレージ専用ネットワーク(Keisuke MORI)トラフィック、セキュリティ上のの違いとは理ネットワーク由など)
Q.物理ネットワークサーバの違いとは電源が落ちたらさすがに再起動するよね?が止まった!そのときどうなる?落ちたらさすがに再起動するよね?ちたら開発コミュニティへのフィードバック・貢献さすが止まった!そのときどうなる?に再起動するコンテナよね?なにそれおいしいの?
しません。
物理ネットワークサーバの違いとは電源が落ちたらさすがに再起動するよね?断が発生してとネットワーク通信が復旧するとそこで二重書き込みが発生します。断が発生して(Keisuke MORI)通信が復旧するとそこで二重書き込みが発生します。経路の故障の違いとは故障)は区別の物理サーバでも同じデータが止まった!そのときどうなる?つかないから開発コミュニティへのフィードバック・貢献です。
どちら開発コミュニティへのフィードバック・貢献も「止めない!」こと監視タイムの最小化アです。ウト(Keisuke MORI)応答なしなし)」としか検知できない
なぜフェイルオーバしないのかフェイルオーバしないの違いとはか?
一般的にフェイルオーバなデータベースサーバは StatefulSet とするコンテナ必要が止まった!そのときどうなる?
あるコンテナ。
データの違いとは永続化の違いとはため
インスタンスごとの違いとは識別の物理サーバでも同じデータの違いとはため
StatefulSet は、物理ネットワークサーバの違いとは故障に対しては自動的にサーしては自動的にフェイルオーバにサー
ビス継続を行うことはできない。うことはできない。
Podの違いとは二重起動によるコンテナデータ破損を防ぐためです。を防ぐためです。ぐため
Kubernetesの違いとはサービス継続性の違いとは留意点
コンテナが止まった!そのときどうなる?止めない!」ことまった!その違いとはときどうなるコンテナ?なにそれおいしいの?
もう時代はコンテナ・クラウドでしょー時代はコンテナ・クラウドでしょーはコンテナ・クラウドでしょーコンテナ・クラウドでしょーでしょー
Kubernetesがあるから大丈夫!大丈夫!
セルフヒーリング機能は確かに便利ね機能は確かに便利ねはコンテナ・クラウドでしょー確かに便利ねかに便利ねね
でもPodの種類にも気をつけて種類にも気をつけてにも気をつけてをつけてデモ展示中!
StatefulSetはコンテナ・クラウドでしょー物理サーバが故障サーバが故障が故障
したら大丈夫!止まっちゃうんだよまっちゃう時代はコンテナ・クラウドでしょーんだよ
大事なデータが壊れないようになデータが壊れないようにデータが壊れないようにが壊れないようにれなデータが壊れないようにいよう時代はコンテナ・クラウドでしょーに
守っているんだねってデモ展示中!いるんだね!
物理ネットワークサーバではどうやってたの違いとは?
でも物理サーバが故障サーバが故障の種類にも気をつけてHAクラスタが壊れないようにはコンテナ・クラウドでしょー
フェイルオーバが故障できてデモ展示中!たよね?なデータが壊れないようにんで?
それはコンテナ・クラウドでしょー Pacemaker の種類にも気をつけて
STONI)TH機能によるコンテナ(Keisuke MORI)フェンシングと)
I)PMI)経由でサーバの違いとは電源が落ちたらさすがに再起動するよね?断が発生してを行うことはできない。う
確実にサーバを停止めない!」ことさせるコンテナことで
データの違いとは安全を確保
物理ネットワークサーバではどうやってたの違いとは?
サーバ#1
サーバ#2
サービスの監視・制御の監視・制御フェイルオーバ間の監視・制御 STONITH(強制電源断) I)PMI)制御機能によるコンテナ ※IPMIによるコンテナ電源が落ちたらさすがに再起動するよね?断が発生して以外に、共有ディスク接続を利用した方式などもあります。に、共有ストレージディスク接続を利用した方式などもあります。などもあります。STONI)TH機能によるコンテナ(Keisuke MORI)フェンシングと)とは?
狩りに出かけたハンターからの救急電話りに出かけたハンターからの救急電話かけたハンターから開発コミュニティへのフィードバック・貢献の違いとは救急電話
「止めない!」こと大変だだ! 友達が木から落ちて死んでしまったが止まった!そのときどうなる?木から落ちて死んでしまったから開発コミュニティへのフィードバック・貢献落ちたらさすがに再起動するよね?ちて死んでしまったんでしまった!」
「止めない!」こと落ちたらさすがに再起動するよね?ち着いて。まずは彼が本当に死んでいるかどうか確かめて」いて。まずは彼が本当に死んでいるかどうか確かめて」が止まった!そのときどうなる?本当に死んでいるかどうか確かめて」に死んでしまったんでいるコンテナかどうか確かめて」
「止めない!」ことバーン!(Keisuke MORI)銃声)」
「止めない!」ことOK、死んでしまったんでるコンテナ。次はは?」
余談: 世界で一番笑えるジョークで一番笑えるジョークえるコンテナジョーク
※出かけたハンターからの救急電話典 “World's funniest joke” ハートフォードシャー大学 リチ作成などによるャード・サポートワイズマン博士(Keisuke MORI)2002年)
Make sure he is dead.
死んでしまったんでるコンテナかどうかを確かめるコンテナ
(
気絶しているだけかもしれない獲物をしているコンテナだけかもしれない獲物を)
確実に死んでしまったんだ状態にするコンテナ
故障モデル
故障モデル
Fail-Stop
Crash-Recovery
故障なし
Byzantine
実際の動作の違いとは故障例
物理ネットワークサーバの違いとは電源が落ちたらさすがに再起動するよね?断が発生して
カーネルクラッシュ
ネットワーク通信が復旧するとそこで二重書き込みが発生します。断が発生して
異常に同じ状態な高負荷
クラッキングとなど(通常に同じ状態は対しては自動的にサー応は想定しないしない)
他のワーカーノードで再起動するノードで
起動した場合のの違いとは
データの違いとは安全性
監視タイムの最小化アです。ウト
発コミュニティ生して時の違いとは判断が発生して
○安全
×
危険
区別の物理サーバでも同じデータが止まった!そのときどうなる?つかない!
安全の違いとはためには他のワーカーノードで再起動するの違いとはノードで
起動してはいけない!
安全の違いとはためには他のワーカーノードで再起動するの違いとはノードで
起動してはいけない!
どっちもだよ! どっち? どっち?故障モデル
Fail-Stop
Crash-Recovery
故障なし
Byzantine
実際の動作の違いとは故障例
物理ネットワークサーバの違いとは電源が落ちたらさすがに再起動するよね?断が発生して
カーネルクラッシュ
ネットワーク通信が復旧するとそこで二重書き込みが発生します。断が発生して
異常に同じ状態な高負荷
クラッキングとなど(通常に同じ状態は対しては自動的にサー応は想定しないしない)
他のワーカーノードで再起動するノードで
起動した場合のの違いとは
データの違いとは安全性
STONI)TH
実行うことはできない。後の動向の違いとは判断が発生して
○安全
×
危険
○安全
STONI)THの違いとは実行うことはできない。により
物理ネットワークサーバではどうやってたの違いとは?
でも物理サーバが故障サーバが故障の種類にも気をつけてHAクラスタが壊れないようにはコンテナ・クラウドでしょー
フェイルオーバが故障できてデモ展示中!たよね?なデータが壊れないようにんで?
それはコンテナ・クラウドでしょー Pacemaker の種類にも気をつけて
STONITH機能は確かに便利ねの種類にも気をつけておかげね
じゃあそれを使ってコンテナをってデモ展示中!コンテナを
止まっちゃうんだよめなデータが壊れないようにいよう時代はコンテナ・クラウドでしょーにしちゃおう時代はコンテナ・クラウドでしょー!
そこで Pacemaker bundle 機能は確かに便利ねの種類にも気をつけて出番よ!よ!
Pacemakerとは
オーケストレーションツールによるコンテナコンテナHA
Pacemaker bundle 機能によるコンテナによるコンテナコンテナHA
今後の動向の違いとは動向
Pacemaker でコンテナHAを実現する新機能するコンテナ新機能によるコンテナ
コンテナ管理ネットワークに必要な機能によるコンテナをまとめたPacemakerの違いとはリソース
コンテナおよびコンテナ内で起動するアプリケーションの起動・終了・監コンテナ内におけるで起動するコンテナアです。プリケーションの違いとは起動・サポート終了・サポート監
視が止まった!そのときどうなる?可能によるコンテナ
STONI)TH機能によるコンテナや既存する必要はなの違いとはリソースエージェント(Keisuke MORI)RA)と合のわせて利用可能によるコンテナ
Pacemaker-1.1.17 以降で利用可能で利用可能によるコンテナ
対しては自動的にサー応コンテナランタイムの最小化
Pacemaker bundle とは?
コンテナランタイムの最小化
対しては自動的にサー応Pacemakerバージョン
Docker
1.1.17以降で利用可能
rkt
1.1.18以降で利用可能
Pacemaker bundle の違いとはアです。ーキテクチ作成などによるャ
bundle
リソースエージェント
Pacemaker-remote
仮想IP
リソースエージェント
Pacemaker-remote
仮想IP
リソースエージェント
Pacemaker-remote
仮想IP
コンテナの起動・制御の監視・制御起動・制御 サービスの監視・制御の監視・制御起動・監視bundle
レプリカ数の維持数の維持の監視・制御制御bundle 設定しない例(Keisuke MORI)cib.xml)
<bundle id="httpd-bundle">
<docker image="pcmktest:http" replicas=“2" replicas-per-host= “2" options="--log-driver=journald"/> <network ip-range-start="192.168.33.200" host-interface="eth1" host-netmask="24">
<port-mapping id="httpd-port" port="80"/> </network> <storage> <storage-mapping id="httpd-root" source-dir-root="/var/local/containers" target-dir="/var/www/html" options="rw"/> <storage-mapping id="httpd-logs" source-dir-root="/var/log/pacemaker/bundles" target-dir="/etc/httpd/logs" options="rw"/> </storage>
<primitive class="ocf" id="httpd" provider="heartbeat" type="apache"> <operations>
<op name="start" interval="0s" timeout="60s" on-fail="restart" id="httpd-start-0s"/>
<op name="monitor" interval="10s" timeout="60s" on-fail="restart" id="httpd-monitor-10s"/> <op name="stop" interval="0s" timeout="60s" on-fail="block" id="httpd-stop-0s"/>
</operations> </primitive>
</bundle>
※ bundleに関するコンテナ詳しく知りたかったら…細については については OSC 2018 Kyoto セミナー資料を参照を参照
http://linux-ha.osdn.jp/wp/archives/4744
Pacemaker bundle とSTONI)THによるコンテナコンテナHA
共有ストレージストレージ
物理ネットワークネットワーク
bundleexternal/ipmi
bundle コンテナ bundleリソース コンテナ bundleリソース コンテナ STONI)THリソース コンテナ bundleリソースexternal/ipmi
I)PMI)制御機能によるコンテナ I)PMI)制御機能によるコンテナ コンテナ STONI)THリソースPacemaker bundle とSTONI)THによるコンテナコンテナHA
共有ストレージストレージ
物理ネットワークネットワーク
bundle bundle コンテナ bundleリソース コンテナ bundleリソース コンテナ bundleリソース I)PMI)制御機能によるコンテナ I)PMI)制御機能によるコンテナexternal/ipmi
コンテナ STONI)THリソースexternal/ipmi
コンテナ STONI)THリソース IPMIによる電源断電源断Pacemaker bundle とSTONI)THによるコンテナコンテナHA
共有ストレージストレージ
物理ネットワークネットワーク
bundle bundle コンテナ bundleリソース コンテナ bundleリソース コンテナ bundleリソース I)PMI)制御機能によるコンテナ I)PMI)制御機能によるコンテナexternal/ipmi
コンテナ STONI)THリソースexternal/ipmi
コンテナ STONI)THリソース IPMIによる電源断電源断 安全にフェイルオーバにフェイルオーバ間の監視・制御Pacemaker bundle コンテナHA構成などによる例
crm_mon 出かけたハンターからの救急電話力例
コンテナ bundleリソース コンテナ STONI)THリソースOnline: [ worker1 worker2 ]
GuestOnline: [ httpd-bundle-0@worker1 httpd-bundle-1@worker2 postgres-bundle-0@worker1 ] Full list of resources:
Docker container: postgres-bundle [192.168.33.10:5000/pcmkdemo/postgres:0.1] postgres-bundle-0 (192.168.33.200) (ocf::heartbeat:pgsql): Started worker1
Docker container set: httpd-bundle [192.168.33.10:5000/pcmkdemo/httpd:0.1] (unique)
httpd-bundle-0 (192.168.33.210) (ocf::heartbeat:apache): Started worker1
httpd-bundle-1 (192.168.33.211) (ocf::heartbeat:apache): Started worker2
stonith-worker2 (stonith:external/ipmi): Started worker1 stonith-worker1 (stonith:external/ipmi): Started worker2
デモ
Pacemaker bundle デモ環境構成などによる
物理ネットワークネットワーク
Kubernetes
クラスタ
Pacemaker
クラスタ
master
worker1
worker2
共有ストレージストレージ
(Keisuke MORI)NFS、masterに同じ状態居)
c c
ネットワーク接続断が発生してが止まった!そのときどうなる?発コミュニティ生してした!
Pacemaker bundle デモ実行うことはできない。結果(Keisuke MORI)予定しない)
物理ネットワークネットワーク
Kubernetes
クラスタ
Pacemaker
クラスタ
共有ストレージストレージ
master
worker1
worker2
STONI)TH機能によるコンテナによりworker1は電源が落ちたらさすがに再起動するよね?断が発生して状態となるコンテナ
STONI)TH機能によるコンテナによりworker1は電源が落ちたらさすがに再起動するよね?断が発生して状態となるコンテナ
Pacemakerクラスタは全コンテナが止まった!そのときどうなる?フェイルオーバ
デモ 2: 初期状態(Keisuke MORI)Pacemaker)
Online: [ worker1 worker2 ]
GuestOnline: [ httpd-bundle-0@worker1 httpd-bundle-1@worker2 postgres-bundle-0@worker1 ] Full list of resources:
Docker container: postgres-bundle [192.168.33.10:5000/pcmkdemo/postgres:0.1] postgres-bundle-0 (192.168.33.200) (ocf::heartbeat:pgsql): Started worker1
Docker container set: httpd-bundle [192.168.33.10:5000/pcmkdemo/httpd:0.1] (unique)
httpd-bundle-0 (192.168.33.210) (ocf::heartbeat:apache): Started worker1
httpd-bundle-1 (192.168.33.211) (ocf::heartbeat:apache): Started worker2
stonith-worker2 (stonith:external/ipmi): Started worker1 stonith-worker1 (stonith:external/ipmi): Started worker2
●
httpdは両ノードで起動ノードで起動
●
postgresはworker1で起動
●
httpdは両ノードで起動ノードで起動
●
postgresはworker1で起動
デモ 2: 初期状態(Keisuke MORI)Kubernetes)
Every 1.0s: kubectl get node; echo ; kubectl get pods -o wide Wed Oct 24 08:39:02 2018
NAME STATUS ROLES AGE VERSION
master Ready master 4d v1.11.3 worker1 Ready <none> 4d v1.11.3 worker2 Ready <none> 4d v1.11.3
NAME READY STATUS RESTARTS AGE IP NODE httpd-5f9cf547cc-dfsqn 1/1 Running 0 13m 10.244.2.16 worker2 httpd-5f9cf547cc-tn9wd 1/1 Running 0 2m 10.244.1.24 worker1 postgres-0 1/1 Running 0 2m 10.244.1.23 worker1
●
httpdは両ノードで起動ノードで起動
●
postgresはworker1で起動
●
httpdは両ノードで起動ノードで起動
●
postgresはworker1で起動
デモ 2: ネットワーク切断が発生しての違いとは疑似故障
●
worker1の違いとは全ての違いとはアです。ダプターの違いとは
デモ 2: ネットワーク切断が発生して後の動向の違いとは状態(Keisuke MORI)故障サーバ)
●
worker1はSTONI)TH機能によるコンテナにより
電源が落ちたらさすがに再起動するよね?オフとなるコンテナ
●
worker1はSTONI)TH機能によるコンテナにより
電源が落ちたらさすがに再起動するよね?オフとなるコンテナ
デモ 2: マシン電源が落ちたらさすがに再起動するよね?オフ後の動向の違いとは状態(Keisuke MORI)Pacemaker)
Online: [ worker2 ] OFFLINE: [ worker1 ]
GuestOnline: [ httpd-bundle-0@worker2 httpd-bundle-1@worker2 postgres-bundle-0@worker2 ] Full list of resources:
Docker container: postgres-bundle [192.168.33.10:5000/pcmkdemo/postgres:0.1] postgres-bundle-0 (192.168.33.200) (ocf::heartbeat:pgsql): Started worker2
Docker container set: httpd-bundle [192.168.33.10:5000/pcmkdemo/httpd:0.1] (unique)
httpd-bundle-0 (192.168.33.210) (ocf::heartbeat:apache): Started worker2
httpd-bundle-1 (192.168.33.211) (ocf::heartbeat:apache): Started worker2
stonith-worker2 (stonith:external/ipmi): Stopped
stonith-worker1 (stonith:external/ipmi): Started worker2
●
httpdはworker2で2つ起動するコンテナ
●
postgresもworker2で再起動するコンテナ
●
httpdはworker2で2つ起動するコンテナ
●
postgresもworker2で再起動するコンテナ
デモ 2: マシン電源が落ちたらさすがに再起動するよね?オフ後の動向の違いとは状態(Keisuke MORI)Kubernetes)
Every 1.0s: kubectl get node; echo ; kubectl get pods -o wide Wed Oct 24 08:41:52 2018 NAME STATUS ROLES AGE VERSION
master Ready master 4d v1.11.3 worker1 NotReady <none> 4d v1.11.3 worker2 Ready <none> 4d v1.11.3
NAME READY STATUS RESTARTS AGE IP NODE httpd-5f9cf547cc-9qgh2 1/1 Running 0 1m 10.244.2.19 worker2 httpd-5f9cf547cc-dfsqn 1/1 Running 0 16m 10.244.2.16 worker2 httpd-5f9cf547cc-tn9wd 1/1 Unknown 0 5m 10.244.1.24 worker1 postgres-0 1/1 Unknown 0 5m 10.244.1.23 worker1