bitnami/magento on minikube
helm での k8s 複数台構成の勉強用に bitnami/magento chart を minikube 上で起動したときの手順を残した。
先にオチ
重すぎてローカルではほぼ動かない!
手順紹介
- minikube インストール
- helm インストール
- 以下コマンド作業
# メモリとディスクをたくさん消費します。ミニマムこのくらいの設定が必要
$ minikube start --vm-driver=hyperkit --memory 4096 --disk-size 30g
# helm 初期化
$ helm init --history-max 200
# elasticsearch にメモリ設定を上書きを許可。
$ helm install bitnami/magento --set elasticsearch.sysctlImage.enabled=true
この時点ではアプリが必要とする情報が渡されておらず、起動できない。
# (別ターミナルtab作業) ローカル hosts を解決し、ロードバランサーにIPを渡す
$ minikube tunnel
# 必要な変数を用意する(fishシェルは$を外す)
$ export APP_HOST=$(kubectl get svc --namespace default HELM_NAME-magento --template "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}")
$ export APP_PASSWORD=$(kubectl get secret --namespace default HELM_NAME-magento -o jsonpath="{.data.magento-password}" | base64 --decode)
$ export APP_DATABASE_PASSWORD=$(kubectl get secret --namespace default HELM_NAME-mariadb -o jsonpath="{.data.mariadb-password}" | base64 --decode)
# オプションから変数を渡して更新し、起動
$ helm upgrade HELM_NAME bitnami/magento \
--set magentoHost=$APP_HOST,magentoPassword=$APP_PASSWORD,mariadb.db.password=$APP_DATABASE_PASSWORD