navigation

EasyDoggie

logo2 pre-α版を公開中。
バグ、機能要望などはこちら

ゲームインフラは、もっと楽にできる!

スマートフォン向けゲームはレッドオーシャン化が進み、小規模の開発会社では生き残るのが難しくなっています。斬新なゲームアイデアを実現するためにゲームインフラとしてどのような貢献ができるのでしょうか?現実問題として、以下のような悩みを抱えている開発会社が多いのではないでしょうか。

・ サーバーサイドのプログラマですが、インフラも兼務しています。インフラの構築、運用に時間がかかってサーバサイドのプログラミングが進みません

・ インフラの初心者しか会社にいません。ミドルウェアのパラメータ設計の方法がわかりません。全部デフォルト値でよいですか?

・ コンテナやマイクロサービスに興味があります。でもデプロイや監視の方法がわからないです。

・ インフラの設計、構築、運用に実績のある外部ベンダに依頼したいのですが、外注コストが心配です。

このようなインフラ設計、構築、運用の悩みを解決するのに、構築済みのコンテナを再利用する方法があります。

そう、EasyDoggieなら設計済みコンテナからCI/CD、運用監視まで、そろっています!

EasyDoggie構成イメージ

structure

セットアップ方法

Helmのインストール

EasyDoggieはKubernetes上で動作します。コンテナの初期設定はHelmを利用してインストールを行います。 初めにHelmのインストールと初期設定を行います。 Helmについては、ブログでも紹介をしています。Helmの概要を知りたい場合に、参考にしてください。

$ wget https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-linux-amd64.tar.gz
$ tar xvfz helm-v2.13.1-linux-amd64.tar.gz
$ sudo mv linux-amd64/helm /usr/local/bin/helm
$ helm init

Helmのインストールについては、ブログでも紹介をしているので、参考にしてください。 GKEなどRBACのアクセス制御が有効になっている環境では、Tillerをインストール(helm init)する前にサービスアカウントの設定を行ってください。また、helm initを行うときにサービスアカウントの指定オプションを追加してください。

$ kubectl apply -f https://raw.githubusercontent.com/easydoggie/EasyDoggie/master/serviceaccount/helm-account.yaml
$ helm init --service-account helm

Helmリポジトリの追加

EasyDoggie用のHelmリポジトリを追加します。

$ helm repo add easydoggie https://easydoggie.github.io/helm-repo/releases
$ helm repo list
NAME                    URL
stable                  https://kubernetes-charts.storage.googleapis.com
local                   http://127.0.0.1:8879/charts
easydoggie              https://easydoggie.github.io/helm-repo/releases

EasyDoggieのインストール

Helmを利用してEasyDoggieをKubernetesにデプロイします。”easydoggie”チャートは、すべての構成をインストールします。

$ helm install --name easydoggie easydoggie/easydoggie
$ kubectl get pods
NAME                                                        READY   STATUS    RESTARTS   AGE
easydoggie-nginx-ingress-controller-749677776f-kb2fl        1/1     Running   0          30s
easydoggie-nginx-ingress-default-backend-8686dd6ff7-qmgdv   1/1     Running   0          30s
gitea-6dc55f758d-cwkt9                                      1/1     Running   0          31s
nginx-64f88989bc-n97ml                                      1/1     Running   0          30s
nginx-unit-5ff6499cb5-9ldnt                                 1/1     Running   0          30s
node-cb997ff45-psj4n                                        1/1     Running   0          30s

必要なパッケージのみインストールしたい場合は、インストール対象のチャートを指定してインストールをしてください。以下は、Nginxだけをインストールする例です。

$ helm install --name nginx easydoggie/nginx

個別インストール方法の詳細は、別ページを参照してください。

使い方

2019年07月04日時点では、以下の構成サービスが起動します。 structure_2

Web(nginx)へのアクセス

http://easydoggie.example.com

API(nginx unit)へのアクセス

http://easydoggie.example.com/api

giteaへのアクセス

http://gitea.example.com

Adminerへのアクセス

http://adminer.example.com

Kibanaへのアクセス

http://kibana.example.com

Grafanaへのアクセス

http://grafana.example.com

Droneへのアクセス

http://drone.example.com

設定方法

構成ミドルウェアのパラメータ等の変更は、別ページを参照してください。

ライセンス

MIT

協賛

skyarch