残念ながら、AppsCode(kubedbのメーカー)の優秀な人々は、各ユーザーに無料のライセンスを取得するように要求しています。 kubyはライセンスを自動的に取得するためにいくつかのトリッキーなことを行うことができますが、それは特に道徳的ではありません(またはおそらく合法ですか?)私が考えることができる唯一の解決策は、クラスターのセットアップ中にユーザーをAppsCode Webサイトに誘導し、プロンプトを表示することですライセンスファイルの内容について。 明らかにそれは理想的ではありませんが、kubyでkubedbを使い続けたい場合は、これが唯一の選択肢だと思います(これは素晴らしいと思います)。
わかりました、ここにいくつかの追加のコンテキスト。 難しい部分はプログラムでライセンスを取得することではないことがわかりました(これは可能です。ライセンスサーバートークンや電子メールアドレスなどを要求するだけです)。 難しいのは、kubedbオペレーターと個々のデータベースを_アップグレード_することです。 v0.12をアンインストールすること自体は、既存のデータベースインスタンスを削除したくないので難しいのですが、最終的には機能するようになりました。 幸い、Helmを使用するとv0.18(この記事の執筆時点での最新バージョン)のインストールは非常に簡単です...しかし、すでに実行されている(ダウンタイムがゼロの)既存のPostgresまたはMySQLインスタンスをアップグレードするのは非常に困難です。 これが私が(ほぼ)Postgresで機能するようになったステップです:
Postgres
CRDの削除にかなり消極的であるため、これは少し注意が必要です。 理にかなっています。 幸い、k8sをだましてやりたいことを実行させる方法があります。postgres
ではない場合は、 postgres
ユーザーに新しいデータベースのパスワードを指定するように注意してください(Kubyはデフォルトroot
を使用します) 。 これは、kubedbのinitスクリプトのバグであると私が信じているために必要です。 この新しいデータベースは明らかに古いデータベースとは異なる名前を持っている必要がありますが、これは問題です。 データベースの名前によって、Railsが接続するDNS名が決まりますが、実際には変更できません。 うーん...私は現在、Railsアプリを新しいデータベースサービスに簡単に向ける方法を見つけようとして立ち往生しています。 サービスURLは基本的にハードコーディングされており、動的に変更することはできません。 さらに、新しいデータベースサービスは既存のデータベースサービスと同じ名前にすることはできないため、「正しい」データベースサービスをどこかに保存し(おそらくデプロイメントのアノテーション?)、すべての... docker buildcuzで参照する必要があります。それがdatabase.ymlを書き直すときですか? UGH。
別の解決策は、ロードバランサーのように、サービスの上にトラフィックを動的に向けることができるある種のプロキシを使用することです。
kubyはライセンスを自動的に取得するためにいくつかのトリッキーなことを行うことができますが、それは特に道徳的ではありません(またはおそらく合法ですか?)
タマルはいい奴だし、ユーザーに何が起こっているのかを詳細に公開して、月末に一時ライセンスが期限切れになっても驚かない限り、彼はまったく気にしないと思う。 (?ライセンスの有効期限が切れるとどうなりますか?バックアップが停止したことを意味する場合、それは悪い可能性があります。他のことが失敗し始めることを意味する場合、また悪い可能性があります...それが単に新しいデータベースを作成できないことを意味する場合現在、ライセンスが更新されるまで、これはそれほど悪くないかもしれません。)
外部データベースのオプションはすでにあるので、ユーザーはKubeDBを続行するか、データベースを別の方法で手に入れるかを選択できます。これは、次のタイプをサポートするクラウドプロバイダーを使用していない限り、今日では難しい問題ではありません。必要なデータベース。
アップグレードに必要なものについてのウォークスルーをありがとう! 私はKubeDBのライセンスを持っています。これは、本番クラスターのTeam Hephyに寛大に付与されています。また、KubeDBから開始またはホストされたことがなく、アップグレードが必要な古いデータベースがあります。 私はデータベースバックアップの使用法を学ぶためのライセンスを取得しました。PostgresQLとMariaDBの両方を持っています。tl; drこの分野でも自分の仕事を切り取っています。
私は今、ホームラボクラスターで適切なストレージCSIドライバーを操作する方法を学んでいます。これにより、データベースの処理方法と「本番」クラスターのディザスタリカバリプロパティの改善に大きな違いが生じると思います。 🎉
Kubyはまた、長期的には、KubeDBの優れた販売ベクトルになる可能性があります。 あなたがそれについてどう感じるかわかりません!