• 検索結果がありません。

コンテナを止めるな! 〜PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは

N/A
N/A
Protected

Academic year: 2021

シェア "コンテナを止めるな! 〜PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは"

Copied!
55
0
0

読み込み中.... (全文を見る)

全文

(1)

コンテナを止めるなを止めるな止めるなめるな!

PacemakerによるコンテナコンテナHAクラスタリングととKubernetesとの違いとは違いとはいとは

2018年10月27日

Linux-HA Japan プロジェクト

http://linux-ha.osdn.jp/

(2)

自己紹介

名前: 森 啓介

(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から開発コミュニティへのフィードバック・貢献開発コミュニティコミュニティへの違いとはフィードバック・サポート貢献

(3)

もくじ

Pacemakerとは

オーケストレーションツールによるコンテナコンテナHA

Pacemaker bundle 機能によるコンテナによるコンテナコンテナHA

(4)

もくじ

Pacemakerとは

オーケストレーションツールによるコンテナコンテナHA

Pacemaker bundle 機能によるコンテナによるコンテナコンテナHA

(5)

Pacemaker?なにそれおいしいの?なにそれおいしいの違いとは?なにそれおいしいの?

Pacemakerとは、

オープンソースの違いとはHAクラスタソフトウェアです。です。

H

H

igh

A

A

vailability =

高可用性

サービスをできるコンテナ限りり

「止めない!」こと止めない!」ことめない!」こと

(6)

Pacemakerの違いとは概要

サーバ#1

サーバ#2

サービスの監視・制御の監視・制御監視・制御

サーバ間の監視・制御間の監視・制御の監視・制御監視・制御

(7)

Pacemakerの違いとは概要

サーバ#1

サーバ#2

サービスの監視・制御の監視・制御フェイルオーバ間の監視・制御

故障検知時、自動的にフェイルオーバにフェイルオーバ

ダウンタイムの最小化の違いとは最小化

STONI)THによるコンテナデータの違いとは安全性確保

STONITH(強制電源断)

(8)

Pacemakerを詳しく知りたかったら…しく知りたかったら開発コミュニティへのフィードバック・貢献…

(9)

Pacemakerとは

オーケストレーションツールによるコンテナコンテナHA

Pacemaker bundle 機能によるコンテナによるコンテナコンテナHA

今後の動向の違いとは動向

(10)

コンテナが止まった!そのときどうなる?止めない!」ことまった!その違いとはときどうなるコンテナ?なにそれおいしいの?

もう時代はコンテナ・クラウドでしょー時代はコンテナ・クラウドでしょーはコンテナ・クラウドでしょーコンテナ・クラウドでしょーでしょー

Kubernetesがあるから大丈夫!大丈夫!

セルフヒーリング機能は確かに便利ね機能は確かに便利ねはコンテナ・クラウドでしょー確かに便利ねかに便利ねね

でもPodの種類にも気をつけて種類にも気をつけてにも気をつけてをつけてデモ展示中!

(11)

Kubernetes セルフヒーリングと機能によるコンテナ

Pod

共有ストレージストレージ

マスの監視・制御ターからの監視・制御監視

master

worker1

worker2

Podの監視・制御再起動 レプリカ数の維持数の維持の監視・制御維持

物理ネットワークネットワーク

(12)

起動時は常に同じ状態に同じ状態じ状態

データを保存する必要はなするコンテナ必要はな

必要なだけいくつでも起動

すればよい

Webサーバ、アです。プリケーシ

ョンサーバなど

Statelessコンテナ と Statefulコンテナ

起動時は「止めない!」こと前回と同じ」と同じ状態じ」

データを持った状態で起動った状態で起動

データの違いとは永続化と共有ストレージ

別の物理サーバでも同じデータの違いとは物理ネットワークサーバでも同じ状態じデータ

個々の識別が必要の違いとは識別の物理サーバでも同じデータが止まった!そのときどうなる?必要

再起動しても同じ状態じデータ

データベースサーバ、

ファイルサーバなど

Statelessコンテナ

Deployment, ReplicaSet

Statefulコンテナ

StatefulSet

(13)

Deployment vs. StatefulSet サービス継続性の違いとは違いとはい

共有ストレージストレージ

Deployment

StatefulSet

master

worker1

worker2

物理ネットワークネットワーク

ネットワーク接続断が発生してが止まった!そのときどうなる?発コミュニティ生してして

監視処理ネットワークが止まった!そのときどうなる?タイムの最小化アです。ウトした!

ネットワーク接続断が発生してが止まった!そのときどうなる?発コミュニティ生してして

監視処理ネットワークが止まった!そのときどうなる?タイムの最小化アです。ウトした!

(14)

Deployment vs. StatefulSet サービス継続性の違いとは違いとはい

共有ストレージストレージ

Deployment

StatefulSet

master

worker1

worker2

物理ネットワークネットワーク

デッドロックだね

データベースが止まった!そのときどうなる?フェイル

ØωØverωØverØωØverver

しないニャ!

(15)

Deployment vs. StatefulSet サービス継続性の違いとは違いとはい

共有ストレージストレージ

Deployment

StatefulSet

master

worker1

worker2

Deployment は他のワーカーノードで再起動するの違いとはワーカーノードで再起動するコンテナ

StatefulSet は再起動されず、コンテナは止めない!」ことまるコンテナ!

Deployment は他のワーカーノードで再起動するの違いとはワーカーノードで再起動するコンテナ

StatefulSet は再起動されず、コンテナは止めない!」ことまるコンテナ!

(16)

デモ 1

(17)

デモ 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ノード構成などによる

(18)

デモ 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

(19)

デモ 1: ネットワーク切断が発生しての違いとは疑似故障

worker1の違いとは全ての違いとはアです。ダプターの違いとは

worker1の違いとは全ての違いとはアです。ダプターの違いとは

ケーブル接続をオフにするコンテナ

(20)

デモ 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では起動しない

(21)

コンテナの違いとは二重起動によるコンテナデータ破損を防ぐためです。を防ぐためです。ぐためです。

コンテナ状態: Unknown → まだ動いてるコンテナかも?

コンテナが止まった!そのときどうなる?「止めない!」こと確実に停止めない!」こと」したことを確認できない限り再起動は危険できない限りり再起動は危険

でもさあ…

Q.でもネットワークが止まった!そのときどうなる?切れてたら開発コミュニティへのフィードバック・貢献データも書き込めないから安全だよね?き込めないから安全だよね?めないから開発コミュニティへのフィードバック・貢献安全だよね?なにそれおいしいの?

ネットワーク通信が復旧するとそこで二重書き込みが発生します。が止まった!そのときどうなる?復旧するとそこで二重書き込みが発生します。するコンテナとそこで二重書き込めないから安全だよね?き込めないから安全だよね?みが止まった!そのときどうなる?発コミュニティ生してします。

ネットワークスイッチ作成などによるの違いとは一時的にフェイルオーバな故障などではよくあるコンテナシナリオ

監視用とストレージ用で別の物理サーバでも同じデータ々の識別が必要の違いとはネットワークであるコンテナ構成などによるもあります。

SAN経由、ストレージ専用ネットワーク(Keisuke MORI)トラフィック、セキュリティ上のの違いとは理ネットワーク由など)

Q.物理ネットワークサーバの違いとは電源が落ちたらさすがに再起動するよね?が止まった!そのときどうなる?落ちたらさすがに再起動するよね?ちたら開発コミュニティへのフィードバック・貢献さすが止まった!そのときどうなる?に再起動するコンテナよね?なにそれおいしいの?

しません。

物理ネットワークサーバの違いとは電源が落ちたらさすがに再起動するよね?断が発生してとネットワーク通信が復旧するとそこで二重書き込みが発生します。断が発生して(Keisuke MORI)通信が復旧するとそこで二重書き込みが発生します。経路の故障の違いとは故障)は区別の物理サーバでも同じデータが止まった!そのときどうなる?つかないから開発コミュニティへのフィードバック・貢献です。

どちら開発コミュニティへのフィードバック・貢献も「止めない!」こと監視タイムの最小化アです。ウト(Keisuke MORI)応答なしなし)」としか検知できない

なぜフェイルオーバしないのかフェイルオーバしないの違いとはか?

(22)

一般的にフェイルオーバなデータベースサーバは StatefulSet とするコンテナ必要が止まった!そのときどうなる?

あるコンテナ。

データの違いとは永続化の違いとはため

インスタンスごとの違いとは識別の物理サーバでも同じデータの違いとはため

StatefulSet は、物理ネットワークサーバの違いとは故障に対しては自動的にサーしては自動的にフェイルオーバにサー

ビス継続を行うことはできない。うことはできない。

Podの違いとは二重起動によるコンテナデータ破損を防ぐためです。を防ぐためです。ぐため

Kubernetesの違いとはサービス継続性の違いとは留意点

(23)

コンテナが止まった!そのときどうなる?止めない!」ことまった!その違いとはときどうなるコンテナ?なにそれおいしいの?

もう時代はコンテナ・クラウドでしょー時代はコンテナ・クラウドでしょーはコンテナ・クラウドでしょーコンテナ・クラウドでしょーでしょー

Kubernetesがあるから大丈夫!大丈夫!

セルフヒーリング機能は確かに便利ね機能は確かに便利ねはコンテナ・クラウドでしょー確かに便利ねかに便利ねね

でもPodの種類にも気をつけて種類にも気をつけてにも気をつけてをつけてデモ展示中!

StatefulSetはコンテナ・クラウドでしょー物理サーバが故障サーバが故障が故障

したら大丈夫!止まっちゃうんだよまっちゃう時代はコンテナ・クラウドでしょーんだよ

大事なデータが壊れないようになデータが壊れないようにデータが壊れないようにが壊れないようにれなデータが壊れないようにいよう時代はコンテナ・クラウドでしょーに

守っているんだねってデモ展示中!いるんだね!

(24)

物理ネットワークサーバではどうやってたの違いとは?

でも物理サーバが故障サーバが故障の種類にも気をつけてHAクラスタが壊れないようにはコンテナ・クラウドでしょー

フェイルオーバが故障できてデモ展示中!たよね?なデータが壊れないようにんで?

それはコンテナ・クラウドでしょー Pacemaker の種類にも気をつけて

(25)

STONI)TH機能によるコンテナ(Keisuke MORI)フェンシングと)

I)PMI)経由でサーバの違いとは電源が落ちたらさすがに再起動するよね?断が発生してを行うことはできない。う

確実にサーバを停止めない!」ことさせるコンテナことで

データの違いとは安全を確保

物理ネットワークサーバではどうやってたの違いとは?

サーバ#1

サーバ#2

サービスの監視・制御の監視・制御フェイルオーバ間の監視・制御 STONITH(強制電源断) I)PMI)制御機能によるコンテナ ※IPMIによるコンテナ電源が落ちたらさすがに再起動するよね?断が発生して以外に、共有ディスク接続を利用した方式などもあります。に、共有ストレージディスク接続を利用した方式などもあります。などもあります。

(26)

STONI)TH機能によるコンテナ(Keisuke MORI)フェンシングと)とは?

(27)

狩りに出かけたハンターからの救急電話りに出かけたハンターからの救急電話かけたハンターから開発コミュニティへのフィードバック・貢献の違いとは救急電話

「止めない!」こと大変だだ! 友達が木から落ちて死んでしまったが止まった!そのときどうなる?木から落ちて死んでしまったから開発コミュニティへのフィードバック・貢献落ちたらさすがに再起動するよね?ちて死んでしまったんでしまった!」

「止めない!」こと落ちたらさすがに再起動するよね?ち着いて。まずは彼が本当に死んでいるかどうか確かめて」いて。まずは彼が本当に死んでいるかどうか確かめて」が止まった!そのときどうなる?本当に死んでいるかどうか確かめて」に死んでしまったんでいるコンテナかどうか確かめて」

「止めない!」ことバーン!(Keisuke MORI)銃声)」

「止めない!」ことOK、死んでしまったんでるコンテナ。次はは?」

余談: 世界で一番笑えるジョークで一番笑えるジョークえるコンテナジョーク

※出かけたハンターからの救急電話典 “World's funniest joke” ハートフォードシャー大学 リチ作成などによるャード・サポートワイズマン博士(Keisuke MORI)2002年)

Make sure he is dead.

死んでしまったんでるコンテナかどうかを確かめるコンテナ

(

気絶しているだけかもしれない獲物をしているコンテナだけかもしれない獲物を)

確実に死んでしまったんだ状態にするコンテナ

(28)

故障モデル

(29)

故障モデル

Fail-Stop

Crash-Recovery

故障なし

Byzantine

実際の動作の違いとは故障例

物理ネットワークサーバの違いとは電源が落ちたらさすがに再起動するよね?断が発生して

カーネルクラッシュ

ネットワーク通信が復旧するとそこで二重書き込みが発生します。断が発生して

異常に同じ状態な高負荷

クラッキングとなど(通常に同じ状態は対しては自動的にサー応は想定しないしない)

他のワーカーノードで再起動するノードで

起動した場合のの違いとは

データの違いとは安全性

監視タイムの最小化アです。ウト

発コミュニティ生して時の違いとは判断が発生して

○安全

×

危険

区別の物理サーバでも同じデータが止まった!そのときどうなる?つかない!

安全の違いとはためには他のワーカーノードで再起動するの違いとはノードで

起動してはいけない!

安全の違いとはためには他のワーカーノードで再起動するの違いとはノードで

起動してはいけない!

どっちもだよ! どっち? どっち?

(30)

故障モデル

Fail-Stop

Crash-Recovery

故障なし

Byzantine

実際の動作の違いとは故障例

物理ネットワークサーバの違いとは電源が落ちたらさすがに再起動するよね?断が発生して

カーネルクラッシュ

ネットワーク通信が復旧するとそこで二重書き込みが発生します。断が発生して

異常に同じ状態な高負荷

クラッキングとなど(通常に同じ状態は対しては自動的にサー応は想定しないしない)

他のワーカーノードで再起動するノードで

起動した場合のの違いとは

データの違いとは安全性

STONI)TH

実行うことはできない。後の動向の違いとは判断が発生して

○安全

×

危険

○安全

STONI)THの違いとは実行うことはできない。により

(31)

物理ネットワークサーバではどうやってたの違いとは?

でも物理サーバが故障サーバが故障の種類にも気をつけてHAクラスタが壊れないようにはコンテナ・クラウドでしょー

フェイルオーバが故障できてデモ展示中!たよね?なデータが壊れないようにんで?

それはコンテナ・クラウドでしょー Pacemaker の種類にも気をつけて

STONITH機能は確かに便利ねの種類にも気をつけておかげね

じゃあそれを使ってコンテナをってデモ展示中!コンテナを

止まっちゃうんだよめなデータが壊れないようにいよう時代はコンテナ・クラウドでしょーにしちゃおう時代はコンテナ・クラウドでしょー!

そこで Pacemaker bundle 機能は確かに便利ねの種類にも気をつけて出番よ!よ!

(32)

Pacemakerとは

オーケストレーションツールによるコンテナコンテナHA

Pacemaker bundle 機能によるコンテナによるコンテナコンテナHA

今後の動向の違いとは動向

(33)

Pacemaker でコンテナHAを実現する新機能するコンテナ新機能によるコンテナ

コンテナ管理ネットワークに必要な機能によるコンテナをまとめたPacemakerの違いとはリソース

コンテナおよびコンテナ内で起動するアプリケーションの起動・終了・監コンテナ内におけるで起動するコンテナアです。プリケーションの違いとは起動・サポート終了・サポート監

視が止まった!そのときどうなる?可能によるコンテナ

STONI)TH機能によるコンテナや既存する必要はなの違いとはリソースエージェント(Keisuke MORI)RA)と合のわせて利用可能によるコンテナ

Pacemaker-1.1.17 以降で利用可能で利用可能によるコンテナ

対しては自動的にサー応コンテナランタイムの最小化

Pacemaker bundle とは?

コンテナランタイムの最小化

対しては自動的にサー応Pacemakerバージョン

Docker

1.1.17以降で利用可能

rkt

1.1.18以降で利用可能

(34)

Pacemaker bundle の違いとはアです。ーキテクチ作成などによるャ

bundle

リソースエージェント

Pacemaker-remote

仮想IP

リソースエージェント

Pacemaker-remote

仮想IP

リソースエージェント

Pacemaker-remote

仮想IP

コンテナの起動・制御の監視・制御起動・制御 サービスの監視・制御の監視・制御起動・監視

bundle

レプリカ数の維持数の維持の監視・制御制御

(35)

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

(36)

Pacemaker bundle とSTONI)THによるコンテナコンテナHA

共有ストレージストレージ

物理ネットワークネットワーク

bundle

external/ipmi

bundle コンテナ bundleリソース コンテナ bundleリソース コンテナ STONI)THリソース コンテナ bundleリソース

external/ipmi

I)PMI)制御機能によるコンテナ I)PMI)制御機能によるコンテナ コンテナ STONI)THリソース

(37)

Pacemaker bundle とSTONI)THによるコンテナコンテナHA

共有ストレージストレージ

物理ネットワークネットワーク

bundle bundle コンテナ bundleリソース コンテナ bundleリソース コンテナ bundleリソース I)PMI)制御機能によるコンテナ I)PMI)制御機能によるコンテナ

external/ipmi

コンテナ STONI)THリソース

external/ipmi

コンテナ STONI)THリソース IPMIによる電源断電源断

(38)

Pacemaker bundle とSTONI)THによるコンテナコンテナHA

共有ストレージストレージ

物理ネットワークネットワーク

bundle bundle コンテナ bundleリソース コンテナ bundleリソース コンテナ bundleリソース I)PMI)制御機能によるコンテナ I)PMI)制御機能によるコンテナ

external/ipmi

コンテナ STONI)THリソース

external/ipmi

コンテナ STONI)THリソース IPMIによる電源断電源断 安全にフェイルオーバにフェイルオーバ間の監視・制御

(39)

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

(40)

デモ

(41)

Pacemaker bundle デモ環境構成などによる

物理ネットワークネットワーク

Kubernetes

クラスタ

Pacemaker

クラスタ

master

worker1

worker2

共有ストレージストレージ

(Keisuke MORI)NFS、masterに同じ状態居)

c c

ネットワーク接続断が発生してが止まった!そのときどうなる?発コミュニティ生してした!

(42)

Pacemaker bundle デモ実行うことはできない。結果(Keisuke MORI)予定しない)

物理ネットワークネットワーク

Kubernetes

クラスタ

Pacemaker

クラスタ

共有ストレージストレージ

master

worker1

worker2

STONI)TH機能によるコンテナによりworker1は電源が落ちたらさすがに再起動するよね?断が発生して状態となるコンテナ

STONI)TH機能によるコンテナによりworker1は電源が落ちたらさすがに再起動するよね?断が発生して状態となるコンテナ

Pacemakerクラスタは全コンテナが止まった!そのときどうなる?フェイルオーバ

(43)

デモ 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で起動

(44)

デモ 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で起動

(45)

デモ 2: ネットワーク切断が発生しての違いとは疑似故障

worker1の違いとは全ての違いとはアです。ダプターの違いとは

(46)

デモ 2: ネットワーク切断が発生して後の動向の違いとは状態(Keisuke MORI)故障サーバ)

worker1はSTONI)TH機能によるコンテナにより

電源が落ちたらさすがに再起動するよね?オフとなるコンテナ

worker1はSTONI)TH機能によるコンテナにより

電源が落ちたらさすがに再起動するよね?オフとなるコンテナ

(47)

デモ 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で再起動するコンテナ

(48)

デモ 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

worker1上のの違いとはpodは Unknown 状態となるコンテナ

httpdはworker2で2つ起動するコンテナ

postgres はworker2では起動しない

worker1上のの違いとはpodは Unknown 状態となるコンテナ

httpdはworker2で2つ起動するコンテナ

postgres はworker2では起動しない

(49)

Pacemakerとは

オーケストレーションツールによるコンテナコンテナHA

Pacemaker bundle 機能によるコンテナによるコンテナコンテナHA

今後の動向の違いとは動向

(50)

Pacemaker bundle の違いとは現する新機能状と今後の動向

Pacemaker によるコンテナコンテナHAが止まった!そのときどうなる?可能によるコンテナになった!

とは言えるえ…

bundle機能によるコンテナもまだまだ発コミュニティ展途上の

ユーザインタフェースの違いとは対しては自動的にサー応

crmshは開発コミュニティ最新版のみ対応。の違いとはみ対しては自動的にサー応。pcs の違いとは方が止まった!そのときどうなる?対しては自動的にサー応が止まった!そのときどうなる?早い。い。

ドキュメント・サポート動作仕様の詳細の違いとは詳しく知りたかったら…細については

コンテナイメージの違いとは要件・サポート作り方、詳しく知りたかったら…細については 設定しないや故障解析方法などの情報などの違いとは情報

コンテナ技術自体の発展の違いとは発コミュニティ展

podman(Keisuke MORI)CRI)-O)対しては自動的にサー応、Dockerの違いとは今後の動向は?

実績・サポートサポート

Red Hat 社 HA add-on では Technology Preview

Red Hat OpenStack Platform 12以降で利用可能の違いとはユースケースの違いとはみフルサポート

https://access.redhat.com/articles/3388681

(51)

Pacemaker bundle の違いとは利用シーン

オーケストレーションツールが止まった!そのときどうなる?適している利用シーンしているコンテナ利用シーン

DevOps, CI)/CD、頻繁なリリース、大規模なスケーリングなリリース、大規模なスケーリングなスケーリングと

物理ネットワーク故障はマネージドサービスの違いとはSLA

Pacemaker bundle が止まった!そのときどうなる?適している利用シーンしているコンテナ利用シーン

物理ネットワーク環境と同じ状態様の詳細の違いとはHA運用が止まった!そのときどうなる?必要、かつコンテナの違いとはメリットが止まった!そのときどうなる?欲しい場合しい場合の

アです。プリケーションの違いとはバージョンアです。ップが止まった!そのときどうなる?容易

バージョン依存する必要はなが止まった!そのときどうなる?異なるコンテナ複数のアプリケーションの同居の違いとはアです。プリケーションの違いとは同じ状態居

コンテナと非コンテナアプリケーションの同居コンテナアです。プリケーションの違いとは同じ状態居(Keisuke MORI)性能によるコンテナ上のの違いとは理ネットワーク由など)

比較的にフェイルオーバ小規模なスケーリングなコンテナHAクラスタ

信が復旧するとそこで二重書き込みが発生します。頼性を求められるオンプレミスシステムめら開発コミュニティへのフィードバック・貢献れるコンテナオンプレミスシステムの最小化

物理ネットワーク故障に対しては自動的にサーするコンテナ運用責任・サポート説明責任を求められるオンプレミスシステムめら開発コミュニティへのフィードバック・貢献れるコンテナようなシステムの最小化

Pacemaker bundle の違いとは利用実績例

Red Hat OpenStack Platform 12以降で利用可能

(52)

Linux-HA Japan の違いとは今後の動向の違いとは活動

Pacemaker-1.1.19-1.1 リポジトリパッケージ

近日リリース予定しない!

PostgreSQL 11以降で利用可能対しては自動的にサー応など

本日の違いとは bundle の違いとはデモでも使用しました!

なお、バージョン1.1.18-1.1の違いとはリリースはありません。

(Keisuke MORI)一部の利用方法で懸念事項が存在したため。の違いとは利用方法などの情報で懸念事項が存在したため。が止まった!そのときどうなる?存する必要はな在したため。したため。1.1.19-1.1では解消済みですみです)

1.1.*系は今後も継続してメンテナンスしていきます。は今後の動向も継続してメンテナンスしていきます。

Pacemaker-2.0以降で利用可能は…

RHEL 8 / CentOS 8 同じ状態梱版のみ対応。と親和性の違いとは高い方式などもあります。を検討中。

(53)

参考資料を参照 (Keisuke MORI)1/2)

本日の違いとはデモ環境

https://github.com/kskmori/osc2018tk-demo

(Keisuke MORI)README等準備中です)

Pacemaker bundle 関連の活動

Bundle Walk-Through (Keisuke MORI)公式などもあります。ドキュメント)

https://wiki.clusterlabs.org/wiki/Bundle_Walk-Through

Red Hat OSP12 での違いとは利用事例

https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/

12/html/understanding_red_hat_openstack_platform_high_availability/

pacemaker#pacemaker-services

STONI)TH関連の活動

分散システムについて語らせてくれ」熊崎 宏樹システムの最小化について語らせてくれ」熊崎 宏樹ら開発コミュニティへのフィードバック・貢献せてくれ

https://www.slideshare.net/kumagi/ss-78765920

世界で一番笑えるジョークで一番笑えるジョークえるコンテナジョーク (Keisuke MORI)wikipedia)

https://ja.wikipedia.org/wiki/世界で一番笑えるジョークで一番笑えるジョークえるコンテナジョーク

(54)

参考資料を参照 (Keisuke MORI)2/2)

Kubernetes 関連の活動

StatefulSets (Keisuke MORI)公式などもあります。ドキュメント)

https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/

StatefulSets の違いとは強制削除手順

二重起動時の違いとはデータ喪失のリスクについても記載ありの違いとはリスクについても記載ありあり

https://kubernetes.io/docs/tasks/run-application/force-delete-stateful-set-pod/

ノード停止めない!」こと時に StatefulSet が止まった!そのときどうなる?移動しないという issue

設計通りの違いとは動作であるコンテナとの違いとはコメントあり

https://github.com/kubernetes/kubernetes/issues/54368#issuecomment-339378164

Kubernetes に対しては自動的にサーするコンテナ Fencing 機能によるコンテナの違いとは提案

https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/pod-safety.md

Kubernetes の違いとはノード断が発生して検知の違いとはロジック、パラメタチ作成などによるューニングと

https://fatalfailure.wordpress.com/2016/06/10/improving-kubernetes-reliability-quicker-detection-of-a-node-down/

(55)

おわり

参照

関連したドキュメント

9.事故のほとんどは、知識不足と不注意に起因することを忘れない。実験

内部に水が入るとショートや絶縁 不良で発熱し,発火・感電・故障 の原因になります。洗車や雨の

我々は何故、このようなタイプの行き方をする 人を高貴な人とみなさないのだろうか。利害得

(( .  entrenchment のであって、それ自体は質的な手段( )ではない。 カナダ憲法では憲法上の人権を といい、

( 同様に、行為者には、一つの生命侵害の認識しか認められないため、一つの故意犯しか認められないことになると思われる。

ㅡ故障の内容によりまして、弊社の都合により「一部代替部品を使わ

既存の精神障害者通所施設の適応は、摂食障害者の繊細な感受性と病理の複雑さから通 所を継続することが難しくなることが多く、

救急現場の環境や動作は日常とは大きく異なる