こんにちは、GMOインターネット長谷川です。
今回は ConoHa for GAME の OpenStack インフラに関してお話して行こうと思います。
目次
OpenStackとは
ご存じの方には、冗長な説明となってしまいますが、簡単に ConoHa のインフラで使われているので紹介します。
Openstack は、オープンソースのクラウドコンピューティングプラットフォームで、仮想化、ストレージ、ネットワーキングなどを提供し、多数のサーバーの管理を容易にし、システム構築においてスケーラビリティと柔軟性を提供します。
ConoHa for GAME では kubernetes と OpenStack を使用し、VPS のインフラ基盤を構築しています。
インフラ構成図
基本的に OpenStack の管理系の component は kubernetes 上にあり、負荷分散及び耐障害性を持っており、それぞれの component もしくはそれより細かい粒度で pod として kubernetes 上で稼働しています。
また、pod として稼働させるには安定性がないものに関しては VM などに冗長構成を持たせ kubernetes クラスタ外で稼働させています。
また、実際にお客様の VPS が入る Compute node は ceph storage と繋がっており、ノードダウンの際には自動的に別ノードに VM を素早く退避させることが出来るので、サービスの安定的な提供に繋がっています。
OpenStack 管理系の構築に kubernetes を採用した際に実感したメリット
メリットとしては以下の4つが挙げられます。
●検証の為の設定変更が即座に行える。
●サービス影響なしに設定変更を行える。
●kubernetes のオートヒーリング機能による安定的な稼働と運用負荷の削減
●オートスケーリングによる性能の向上
- 1. 検証の為の設定変更が即座に行える
kubernetes への OpenStack 管理系のデプロイには ArgoCD を用いており コードと Git による設定や構成の管理、ブランチ別指定でのデプロイが行えるので設定変更して問題があればロールバック、問題がなければ本番環境にデプロイ等を高速に行えます。
- 2. サービス影響なしに設定変更を行える
kubernetes はご存じの通りローリングアップデートによる pod の更新を行うことが出来ますので、サービスを止めることなく新機能や安定性向上のための設定を入れることが出来ます。
- 3. kubernetes のオートヒーリング機能による安定的な稼働と運用負荷の削減
kubernetes にはオートヒーリング機能があり、理想の pod の状態と現在の pod の状態の差分を取り、理想の pod の状態になるよう pod の操作をします。
(理想の状態が running なら 停止している pod が running になるよう kubernetes が働きかける。)
上記の機能により、単純な pod の停止等の問題では即時オンコール対応ではなく翌日に対応など柔軟に運用方法を考えることが出来ます。
- 4. オートスケーリングによる性能の向上
kubernetes には pod のオートスケーリング機能があり、負荷に応じて必要な pod をスケーリングし負荷分散することが出来るので、kubernetes 導入前に比べ負荷に対応するための運用負荷の削減と性能が向上しています。
ローリングアップデート
ローリングアップデートは以下の図のような流れで pod をアップデートしていくので、サービスの稼働停止無しでアップデートを行うことが出来ます。
① アップデート前の pod を version1 とします。
② ローリングアップデートが始まると、古い version1 pod を保持しつつ新しい version2 pod を作成します。
③ ②の後 version2 pod が正常に起動することが確認されると version1 pod は削除され version2 pod のみ残ります。
上記の機能により、サービスへの影響を最小限にしつつ機能の追加や修正を行うことが可能となります。
まとめ
ConoHa for GAME インフラ基盤のご紹介をさせていただきました。
是非この機会に様々なゲームテンプレートで構築が簡単な ConoHa for GAME をご利用ください。
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(407)
-
イベント(145)
-
カルチャー(34)
-
デザイン(12)
TAG
- 5G
- Adam byGMO
- AI
- AWX
- BIT VALLEY
- blockchain
- ChatGPT
- cloudnative
- CloudStack
- CM
- CNDO
- CNDT
- CODEGYM Academy
- ConoHa
- CS
- CSS
- CTF
- DC
- DevSecOpsThon
- Docker
- DTF
- GitLab
- GMO Developers Day
- GMO Developers Night
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOイエラエ
- GMOグローバルサイン
- GMOデジキッズ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOリサーチ
- Go
- GTB
- Hardning
- Harvester
- HCI
- iOS
- IoT
- ISUCON
- JapanDrone
- Java
- JJUG
- K8s
- Kids VALLEY
- MetaMask
- MySQL
- NFT
- OpenStack
- Perl
- PHP
- PHPcon
- PHPerKaigi
- QUIC
- Rancher
- RPA
- Ruby
- Selenium
- splunk
- SRE
- SSL
- Terraform
- TLS
- TypeScript
- UI/UX
- VLAN
- VS Code
- インターンシップ
- オブジェクト指向
- オンボーディング
- お名前.com
- カルチャー
- コンテナ
- スクラム
- スペシャリスト
- ソフトウェアテスト
- チームビルディング
- ドローン
- ネットワーク
- プログラミング教育
- ブロックチェーン
- ゆめみらいワーク
- リモートワーク
- 基礎
- 多拠点開発
- 大学授業
- 宮崎オフィス
- 応用
- 技育プロジェクト
- 新卒
- 暗号
- 機械学習
- 決済
PICKUP