こんにちは。今回は、先日実施させていただいたセミナー 「導入事例に学ぶ Kubernetes を活用した次世代システム基盤」について セミナーの内容をご紹介したいと思います。
・・・ただ、申し訳ないのです事例については公開ができない部分があるので製品面を主体に書いていきます。
最近の動向
セミナーの題名からお気づきの方もいるかと思いますが、コンテナー基盤であるKubernetesに紐づくお話でした。
Kubernetesを利用したコンテナーの基盤は、アメリカ、ヨーロッパ、中国の順に導入が進んでおり、導入規模としてはアメリカは大規模基盤での導入が進んでいるが、日本では小規模の環境への導入にとどまっているとのことでした。
Googleでは一般提供しているすべてのサービスや社内サービスをすべてコンテナーで動作させており、週に20億のコンテナを起動しているようです。
なぜ、世界中でコンテナー活用が始まっているか?
牛丼的に書くと
- 軽い!
- 早い!
- 持ち運びが簡単!
です。
どれもコンテナー環境だけ(例えばDockerだけ)でもできそうですが、オーケストレーションツールであるKubernetesがあることで短時間でのスケーラビリティに対応できます。
Why IBM? Why Kubernetes?
Kubernetes自体はGoogleの開発でオープンソース化されているのに、なぜIBMなのか?
また、オーケストレーションツールは複数あるのになぜKubernetesなのか?
- Why IBM?
IBMはCloud Native Computing Foundation(CNCF)に設立時から参画しており、DockerやKubernetesに対してコミットしており、IBM Middlewareもコンテナー化が進んでいます。
このセミナーでは詳細の話はありませんが、IBM Cloud上にもKubernetesベースのコンテナーサービスを展開しています。
今後もオープンソースに継続して投資を行っていくと話が出ていました。
- Why Kubernetes?
スライドで「Kubernetesがコンテナ時代のソフトウェア産業を全面的に支配、大企業もCloud Native Computing Foundationに参集する」を紹介していました。
CNCFのサポートやKubernetesはもはやデファクトスタンダードになっているので、Kubernetesを使いつつ、新しい価値を生み出していく方向のようです。
IBM Cloud Privateのご紹介
動向としてコンテナー環境やKubernetesの話がされていましたが、実際にはこれら以外にも必要になるものがいくつもあります。
これらを一つ一つ集めていれるのは大変ですよね。。。そんなときに必要なものをまとめて提供する製品がIBM Cloud Privateになります。
IBM Cloud Private (ICP)はオープンテクノロジーをベースに企業の次世代システム基盤に必要となる技術を統合、All–in–oneで提供します。
ポイントは3つ
1. オープンテクノロジー
2. 充実したコンテンツ(カタログ)
3. マルチクラウド対応
オープンテクノロジー
最新の動向に記載したようにIBMとしてオープンソースに継続して投資を行っていく方針であり、投資を行いつつ、製品として昇華したものがIBM Cloud Privateに搭載されています。
具体的には、44ものOSSコンポーネントをIBM Cloud Privateに搭載し、且つOSSに対してIBMによる商用サポートを受けることができます。
コンポーネントはそろっているのですぐに利用が可能です。
充実したコンテンツ(カタログ)
IBM Cloud PrivateにはHelmというコンポーネントが含まれており、このHelmのカタログからコンテナーをデプロイすることができます。
このカタログも通常であれば、Googleなどが公開しているレポジトリを利用してデプロイするか、レポジトリを自分で用意してコンテナーイメージも作成する必要がありますが、IBM Cloud Privateでは最初からIBM社製品のミドルウェアについてはコンテナーイメージが用意されており、すぐにデプロイし利用することができます。
マルチクラウド対応
「Private」と製品名にあるようにオンプレ製品のように思えますが、クラウド(IaaS)にも対応しています。
コンテナ環境におけるストレージ選択のポイント
まずは、コンテナー環境と仮想環境でのデータの扱い方の違いです。
仮想環境
共有DISKなどにデータを置いているので、仮想マシンが停止した場合は別ホストで仮想マシンが起動しデータを引きつぐコンテナー環境
通常はコンテナー上でデータを保持。コンテナーの数を保てるが不足した場合、新しくコンテナーを起動。データは引き継がれない
こういった特徴から、データベースなどデータを保管した場合は永続的ボリュームを検討する必要があります。
Kubernetesで使えるストレージの種類は2つあります。
Volumeではインフラを把握している必要があります。
Persistent Volumeは特にインフラを知らなくても簡単にボリュームを利用できます。
Persisten Volumeのアクセスモードとプロビジョニング方法
前項で話がでていたようにPersistent Volumeはユーザーが簡単にボリュームを利用できます。その際、Persistent Volumeにはどんな設定や動作が存在するかの説明がありました。
3種類のアクセスモード
静的プロビジョニングと動的プロビジョニング
二つの大きな違いとしてはボリュームの切り出しを管理者が自動で行うか、もしくはコンテナーをデプロイするときに自動で行うかです。
注意事項
Kubernetesに対応した外部ストレージを利⽤すると、ユーザーの利便性を⾼めつつ、管理者の負担を抑えることが可能です。
Persistent Volumeの動的プロビジョニングを使うことで永続的ストレージを必要な分だけ払いだしたり、データは外部ストレージにあるので、外部ストレージのもつ便利な機能(QoSやスナップショットなど)も使うことができます。
注意事項ももちろんあります。
ベンダーによる対応の違い
サポート状況(OSSでの提供でベストエフォートな場合も)
使える機能の違い
Kubernetesは⾼度なストレージ管理のオプションを提供していないベンダー独自の実装でオプションが追加されていたり、Kubernetesの外部からストレージ機能を呼び出せることもあるKubernetesのアップデートが早い
ストレージ対応状況や新機能など刻々と変化
正式リリース前の機能も追加されているContainerStorageInterface(CSI)v1.9からアルファ版が含まれるIBMならどうなのか?
IBMのSpectrum Connectというコンテナとストレージをつなぐソフトウェアを利用してFlashSystemを使うことができます。
ICP on VersaStackによるプライベートクラウドの構築
VersaStackを利用したICP環境の紹介と実際にICP環境上にコンテナーをデプロイし、データを外部ストレージに保存し、コンテナーが一度削除されてもデータが残っていることを確認するデモを行っていました。
VersaStackとは?
サーバーハードウェアはCisco UCS、ストレージシステムはIBM Storwizeストレージ・システムを組み合わせたソリューションです。
IBM Cloud Privateとしては、IBM Cloud Private用のOSとしてRedhat Enterprise LinuxをUCS上に構成し、Storwize ストレージシステムをIBM Cloud Private上のPersistent Volumeとして利用することを想定しています。
Persistent Volumeを実現させるためのSpectrum Connect
前項の最後にあったSpectrum Connectについて説明がありました。
IBM Cloud Private ⇔ Spectrum Connect ⇔ Storwize StorageSystem
となり、IBM Cloud Private とStorwize の橋渡しをしてくれます。
検証デモ
検証では、本当にPersistent Volumeにデータは保存されているのか?ちゃんとコンテナーが再作成されてもデータは保持されるのか?という観点で行いました。
デモ時のシナリオと動画をこっそりもっているのでここで公開してみます。
YouTube: IBM Cloud Private検証動画
デモ動画が行っている内容はこちら。
なにをするか?
- この記事を作成、保存し、Wordpress上で閲覧できる状態にします。
- Wordpressが稼働している状況でのICPコンソール上のステータスを確認
- ワークロード→デプロイメントのステータス確認
- プラットホーム→ノードのステータス確認
- 閲覧できる状態からWordpressコンテナ+MySQLコンテナが動くWorkerノードを停止
- 停止はVMwareのRemote ConsoleからHaltコマンドを実行
- Wordpressに接続できない状況の確認とICPコンソール上でのステータスを確認
- ワークロード→デプロイメントのステータス確認
- プラットホーム→ノードのステータス確認
- 停止したWorker Nodeを起動
- VMwareのRemote Consoleから起動
- OSにログインできることとHostnameを確認。(Worker3)
- ICPコンソール上でWorkerとコンテナのステータスを確認
- プラットホーム→ノードのステータス確認
- ワークロード→デプロイメントのステータス確認
注意事項 Persistent Volumeを使っている場合はUbiquity(デプロイメントの名前空間”Ubiquity")が動作している必要があります。
- Wordpressに接続し、この記事が表示されることを確認
最後に
次世代基盤としてのコンテナーの最新の状況から、IBMの提供コンテナー基盤環境とそれに紐づくソフトウェア、ハードウェア、ユースケースのご紹介と、本当に動くのか?というところを含めたデモを実施したセミナーとなっておりました。
最低限システムをご理解いただくための内容としていますので、詳細を聞きたい!などご要望がございましたら、ぜひぜひご連絡ください。
versastack-info@networld.co.jp
最後まで読んで頂き有難うございました!
すずき(け)