【やってみよう、コンテナ化!~その3~】ビジネスシーンでの Yugabyte 導入方法をご紹介
これまでシリーズでご紹介してきました、「やってみよう、コンテナ化!」もシリーズ最後になりました。これまでの記事はこちらから。
【やってみよう、コンテナ化!その1】コンテナとは?仮想マシン (Virtual Machine/VM) との違い、コンテナ利用体験について
【やってみよう、コンテナ化!~その2~】Yugabyte University (自習コンテンツ)をやってみよう!やったら資格もとれちゃった!
いよいよビジネスシーンでの Yugabyte 導入方法をご紹介します。
Yugabyte Anywhere (Yugabyteによるフルマネージドサービス) を使う方法以外にも、オープンソース版 Yugabyte をAzure Kubernetes Service (AKS) を使って東日本リージョン3ノード構成を僅か12分で構築するまでの手順を紹介します。
これまでのVM環境構築ではIaaSからセットアップが必要でしたが、クラウドKubernetes を使うと簡単迅速デプロイが実現します。本ブログではYugabyte 2.17 使用して検証いたしました。
本番環境用にはYugabyteオープンソース版ではなくライセンス版をご利用ください。
事前準備するもの
今回はWindowsマシンからコマンドを実行する想定で進めます。
有効な Azure サブスクリプション, コマンド(Azure-CLI, Kubectl1.27以降, Helm3.4以降)準備が必要です。
Azure CLI 導入方法
https://learn.microsoft.com/ja-jp/cli/azure/install-azure-cli
Kubectl(キューブ コントロール)導入方法
https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/
Helm(ヘルム)導入方法
https://helm.sh/docs/intro/install/
投入するコマンドの準備:
(弊社での検証例です。パラメタや名称等は適宜変更してご利用ください)
az login
az account set –subscription サブスクリプションID
az group create --name YugabyteDB_demoRG --location japaneast
az aks create --resource-group YugabyteDB_demoRG --name yugabytedbAKSCluster --node-count 3
--node-vm-size Standard_D4_v3 --enable-addons monitoring --generate-ssh-keys
az aks get-credentials --resource-group YugabyteDB_demoRG --name yugabytedbAKSCluster
helm repo add yugabytedb https://charts.yugabyte.com
helm repo update
kubectl create namespace yb-demo
helm install yb-demo -n yb-demo yugabytedb/yugabyte --set storage.master.count=1
--set storage.tserver.count=1 --set storage.master.storageClass=default
--set storage.tserver.storageClass=default --set resource.master.requests.cpu=1
--set resource.master.requests.memory=1Gi --set resource.tserver.requests.cpu=1
--set resource.tserver.requests.memory=1Gi --set resource.master.limits.cpu=1
--set resource.master.limits.memory=1Gi --set resource.tserver.limits.cpu=1
--set resource.tserver.limits.memory=1Gi --set Image.tag=2.17.0.0-b24 --timeout=15m
Azure CLIを使用してサインインする
Azure コマンドライン インターフェイス (CLI) を使用してAzureサインインすると既定のWebブラウザが開いてアカウントの資格情報を使用します。Azureサインインは複数の方法がありますが、ここでは2要素認証を行う方法を使用しました。実行した際のサンプル動画はこちらです。
Windows コマンドプロンプトから az login を実行するとWeb ブラウザが立ち上がり、普段お使いになっている Azure ログイン画面が起動し、認証が終わるとコマンドプロンプトから Azure 操作が受け付けられます。
Azure 東日本リージョンにAKSクラスタを作成
次に az group create と az aks create を実行し、東日本リージョンに Yugabyte リソースグループを作成し、az aks create によるAKS クラスタ作成を実行します。
(この動画では時間を短縮していますが実際は数分かかります。)
AKSクラスタの完成
最後に、動画のように、az aks get-credentials を投入し AKS クラスタを作成します。この例では、異なる AKS クラスタ オブジェクトがあり上書きするコマンドにより、 AKS クラスタは完成します。
Azure ポータルによるAKSノードプールの確認
Azure ポータルからも作成した AKS ノードプール状態を確認できます。
ノード名、状態、Kubernetesバージョン、ノードイメージのバージョン、コンテナのランタイム バージョン
コマンドによる pod 状態の確認
コマンドからもpod状態を確認できます。
例)kubectl get pods –namespace yb-demo
コマンドによるノード状態の確認
コマンドからノード状態を確認できます。
例)kubectl get nodes
コマンドによるサービスポート状態の確認
コマンドからサービス(受付)ポート状態の確認。
例)kubectl get services –namespace yb-demo
※ここに記載したIPアドレスおよびポート番号は無効化済みです。
WebブラウザによるYugabyte yb-master-ui (管理UI)アクセス
先ほどの手順でkubectl get services –namespace yb-demoの出力結果から、yb-master-uiのEXTERNAL-IPとPORTの部分を参照して、ブラウザのURLに
http://[yb-master-uiのEXTERNAL-IP]:7000
のように打ち込みます。
※ここに記載したIPアドレスおよびポート番号は無効化済みです。
WebブラウザによるYugabyte タブレット サーバ状態確認
管理UIのTablet Serversをクリックします。
※ここに記載したIPアドレスおよびポート番号は無効化済みです。
まとめ
今回のブログではオープンソース版Yugabyteコンテナを Azure Kubernetes Service (AKS) へ
僅か12分で3ノードにデプロイする手順をご紹介しました。Azure に限定することなくAmazon Web Services (AWS) や Google Cloud Platform (GCP) による Kubernetes サービスや
Red Hat OpenShift (クラウド各社によるフルマネージドサービス、Red Hat OpenShift オンプレミス版)にも対応しており、分散型SQLエンジンをコンテナで迅速且つ簡単にデプロイすることができます。
クラウド ネイティブという言葉を持つミドルウェアはコンテナに対応し、コンテナ対応アプリケーションは今や多くの種類がリリースされ、開発から運用まで一気通貫且つ俯瞰的に管理できる DevOpsプラットフォームが増えてまいりました。TD SYNNEX ではDevOpsに役立つツールも数多く取り揃えております。
YugabyteDB お客さま事例ダウンロード
[著者プロフィール]
TD SYNNEX 株式会社 | 斉藤 之雄
アドバンスドソリューション部門 ソリューションビジネス開発本部 プリセールス&エンジニアリング部 マルチクラウドチーム (Azure Solutions Architect Expert, Azure DevOps Engineer Expert)
マイコン少年時代から関東電子(TD SYNNEX前身)を利用するなどソフトウェア、ハードウェアともに昔をよく知る。コンピューター業界は1996年から異種混在環境における再販ビジネスの技術営業からキャリアを開始し、特に導入支援や教育プログラムの立ち上げは定評を有する。国内大手電気通信事業者では社内クラウドコミュニティの主要メンバーとし全国SEへ対するリスキリングプログラム推進活動を実践した。2022年4月TD SYNNEX入社以来、CoE(センターオブエクセレンス)プロダクトの日本市場展開や AI/ML (人工知能/機械学習)サービスを中心とするプリセールス活動を行っている。愛猫家、社会福祉士でもある。
TD SYNNEX 株式会社 | 金子 哲也
アドバンスドソリューション部門 ソリューションビジネス開発本部 プリセールス&エンジニアリング部 マルチクラウドチーム (Azure Solutions Architect Expert、Azure Administrator Associate)
学内情報システム管理・教育に関わったことがきっかけで、コンピュータ製品販売に魅力を感じ、1999年に外資系ITベンダーに入社。メガバンクデータセンタ駐在サポートエンジニアとして、システム安定稼働に努めた。データ肥大化にともなうストレージ機器の稼働に関心をもったことから、国内IT商社にてストレージ製品のリモートサポートを展開した。その後イベント参加がきっかけでデータ活用にはクラウドインフラが必須になると強く意識することになった。2019年6月にTD SYNNEXに入社。Azureクラウドを中心とした拡販の活動を行っている。休日は妻と子供2人で外出して過ごす。