Google Container EngineとKubernetesを使用してDjango + MySQLアプリケーションを作成しようとしています。 MySQLのコンテナを作成するための公式のMySQLのドッキングウィンドウの画像とKubernetesのドキュメントからのドキュメントに続いて、私は、ドキュメントによると、環境変数のMYSQL_DATABASEを渡す次のレプリケーションコントローラKubernetes + MySQL:Kubernetesコンテナにカスタムデータベースとユーザを作成する
apiVersion: v1
kind: ReplicationController
metadata:
labels:
name: mysql
name: mysql
spec:
replicas: 1
template:
metadata:
labels:
name: mysql
spec:
containers:
- image: mysql:5.6.33
name: mysql
env:
#Root password is compulsory
- name: "MYSQL_ROOT_PASSWORD"
value: "root_password"
- name: "MYSQL_DATABASE"
value: "custom_db"
- name: "MYSQL_USER"
value: "custom_user"
- name: "MYSQL_PASSWORD"
value: "custom_password"
ports:
- name: mysql
containerPort: 3306
volumeMounts:
# This name must match the volumes.name below.
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
gcePersistentDisk:
# This disk must already exist.
pdName: mysql-disk
fsType: ext4
を作成しました。 MYSQL_USER、MYSQL_PASSWORD、そのパスワードで新規ユーザーが作成され、新しく作成されたデータベースに権限が割り当てられます。しかし、これは起こりません。そのコンテナにSSHを実行すると、ROOTパスワードが設定されます。しかし、ユーザーもデータベースも作成されません。
私は、そのコンテナにSSHで接続すると、私はローカルで実行されていると、この
docker run -d --name some-mysql \
-e MYSQL_USER="custom_user" \
-e MYSQL_DATABASE="custom_db" \
-e MYSQL_ROOT_PASSWORD="root_password" \
-e MYSQL_PASSWORD="custom_password" \
mysql
のように同じ環境変数を渡すことで、これをテストして、データベースとユーザーを作成し、すべてが正常に動作しています。
ここで間違っていることはわかりません。誰でも私の間違いを指摘してください。私はこの一日中この間にいました。
EDIT:20 - 9月 - 2016
ディスクが作成された要求 @Julienデュボワ として。それはクラウドコンソールに表示され、私が説明するコマンドを実行したとき、私はチュートリアルとGoogleのクラウド例の多くと呼ば
Command : gcloud compute disks describe mysql-disk
Result:
creationTimestamp: '2016-09-16T01:06:23.380-07:00'
id: '4673615691045542160'
kind: compute#disk
lastAttachTimestamp: '2016-09-19T06:11:23.297-07:00'
lastDetachTimestamp: '2016-09-19T05:48:14.320-07:00'
name: mysql-disk
selfLink: https://www.googleapis.com/compute/v1/projects/<details-withheld-by-me>/disks/mysql-disk
sizeGb: '20'
status: READY
type: https://www.googleapis.com/compute/v1/projects/<details-withheld-by-me>/diskTypes/pd-standard
users:
- https://www.googleapis.com/compute/v1/projects/<details-withheld-by-me>/instances/gke-cluster-1-default-pool-e0f09576-zvh5
zone: https://www.googleapis.com/compute/v1/projects/<details-withheld-by-me>
次の出力を取得します。ローカルにmysql dockerコンテナを実行するには、私の主な参照はドッカーハブの公式のイメージページでした。 https://hub.docker.com/_/mysql/
これは私のために、ローカルで作成されたコンテナには正しい権限を持つ新しいデータベースとユーザーがいます。 kubernetesについては
、私の主な参照は、私はちょうどDjangoのコンテナを使用して接続しようとしています次
https://cloud.google.com/container-engine/docs/tutorials/persistent-disk/
ました。
GCEでディスクを作成していますか?ログ出力を表示できますか。 –
あなたが参照しているドキュメントにリンクできますか? –
@JulienDuBoisおよびAnirudh Ramanathan。私は要求されたように詳細を編集しました。他に何かが必要な場合は教えてください。現在私はコンテナにSSHし、開発を続けるために必要なユーザとdbを作成しました。プロダクション用にデプロイしたい場合は、このプロセスを自動化する方法がまだ必要です。 – Cognoscis