クラウドスクリプトを使用した自動クラスター化のセットアップで説明されているようにJelasticクラスター化データベースをセットアップしようとしていますが、クラスターのユーザー名とパスワードを設定または取得する方法を説明するドキュメントがありません。
私は渡してみましたdb_user
し、db_pass
クラスタに、私はサンプルJPSファイルの一部で見つかった名前を、同様の設定として、それらを有するが、資格情報がまだあっただけでJelasticがものを生成しました。
これが私が使おうとしているJPSです。これには、環境変数としてデータベース資格情報を必要とする単純なDebianコンテナが含まれています。この場合、Dockerコンテナにはテスト用のMariaDBクライアントのみが含まれています。実際の環境はそれよりも少し複雑で、データベース接続を必要とするスクリプトを起動時に実行します。
{
"version": "1.5",
"type": "install",
"name": "Database test",
"skipNodeEmails": true,
"globals":
{
"MYSQL_ROOT_USERNAME": "root",
"MYSQL_ROOT_PASSWORD": "${fn.password(20)}",
"MYSQL_USERNAME": "username",
"MYSQL_PASSWORD": "${fn.password(20)}",
"MYSQL_DATABASE": "database",
"MYSQL_HOSTNAME": "ProxySQL"
},
"nodes":
[
{
"image": "mireiawen/debian-sql",
"count": 1,
"cloudlets": 8,
"nodeGroup": "vds",
"displayName": "SQL worker",
"env":
{
"MYSQL_ROOT_USERNAME": "${globals.MYSQL_ROOT_USERNAME}",
"MYSQL_ROOT_PASSWORD": "${globals.MYSQL_ROOT_PASSWORD}",
"MYSQL_USERNAME": "${globals.MYSQL_USERNAME}",
"MYSQL_PASSWORD": "${globals.MYSQL_PASSWORD}",
"MYSQL_DATABASE": "${globals.MYSQL_DATABASE}",
"MYSQL_HOSTNAME": "${globals.MYSQL_HOSTNAME}"
}
},
{
"nodeType": "mariadb-dockerized",
"nodeGroup": "sqldb",
"count": "2",
"cloudlets": 16,
"cluster":
{
"scheme": "master"
}
}
]
}
このJPSは、ProxySQLが含まれているMariaDBマスターマスタークラスターを正しく起動しているようです。データベースクラスターにデータベース資格情報を提供する方法、または変数として使用するために生成された資格情報を取得する方法に関するドキュメントが不足しています。 JPSでそれらをコンテナに送信します。
メカニズムが改善され、環境変数またはクラスター設定のいずれかを使用してカスタム資格情報をクラスターに渡すことができるようになりました。
type: install
name: env. variables
nodes:
nodeType: mariadb-dockerized
nodeGroup: sqldb
count: 2
cloudlets: 8
env:
DB_USER: customuser
DB_PASS: custompass
cluster:
scheme: master
または
type: install
name: cluster settings
nodes:
nodeType: mariadb-dockerized
nodeGroup: sqldb
count: 2
cloudlets: 8
cluster:
scheme: master
db_user: customuser
db_pass: custompass
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加