natural born minority
以下を狙うこととします。
これはTBDとして出来ないようでした。
設定画面に書いてあることを、そのまま翻訳したものは以下です。
GKE上で、Growiを起動させる。
基本的には「Growi公式のdocker-compose構成を模倣」する。
https://github.com/weseek/growi-docker-compose/blob/master/docker-compose.yml
sudo apt-get update && sudo apt-get --only-upgrade install kubectl google-cloud-sdk google-cloud-sdk-app-engine-grpc google-cloud-sdk-pubsub-emulator google-cloud-sdk-app-engine-go google-cloud-sdk-cloud-build-local google-cloud-sdk-datastore-emulator google-cloud-sdk-app-engine-python google-cloud-sdk-cbt google-cloud-sdk-bigtable-emulator google-cloud-sdk-app-engine-python-extras google-cloud-sdk-datalab google-cloud-sdk-app-engine-java
gcloud init
gcloud config set compute/zone asia-northeast1-a
プロジェクト名は kfa-growi-on-gke
とした。
Growiのdocker-composeで「その場でビルドするファイルはGrowi本体のDockerfileだけ」である。
それをビルドし、GCP上にUploadする。
GCP_PROJECT=$(gcloud config get-value project)
echo ${GCP_PROJECT}
GCP_PROJECT=$(gcloud config get-value project)
git clone https://github.com/weseek/growi-docker-compose.git growi
cd growi
# Container Registryの格納先をタグにしてDockerイメージをビルドする
# タグの形式は、asia.gcr.io/[GCP_PROJECT_ID]/[IMAGE_NAME]:[TAG]
docker build -t asia.gcr.io/$GCP_PROJECT/growi-for-compose:3.0 .
# DockerイメージをContainer Registryにアップロード
# ※GCP APIに課金設定をしてない場合、途中で止められるので表示されるURLから設定する事。
gcloud docker -- push asia.gcr.io/$GCP_PROJECT/growi-for-compose:3.0
本家は、docker-composeで「volumes」作成しているところを、Persistent Volumeで代用する。
gcloud compute --project=$GCP_PROJECT disks create growi-disk \
--zone=asia-northeast1-a \
--type=pd-ssd \
--size=10GB
が、結局使わなかった(いまは繋いでない)ので、消した。
gcloud container clusters create --num-nodes=1 --disk-size=32G kansai-free-alliance-wiki
# 削除したい場合は、以下
# gcloud container clusters delete kansai-free-alliance-wiki
作成できたら、コマンドを其のクラスタに、 gcloud container clusters get-credentials xxx
つなぐ。(コンソールのUIから「接続」を押せばClopBordにコピーされる)
こちらのやりかた で、クラスタにコンテナを3つ建てます。
こちらのやりかた で、以前 mongodump
で取得した、データを復元します。
ただし、「パスワードがダメになる」ので管理者権限で発行する必要があります。