Member-only story

Kubernetesの必須ツール 2021(第5回)

gavin.zhou
Nov 8, 2021

--

この記事では、私のお気に入りのKubernetes 用ツールをまとめてみたいと思います。

特に、これから人気が出ると思われる最新のツールやあまり知られていないツールに重点を置いています。

今回の記事は長いので、5回に分けて投稿いたします。今回は第5回目(最終回)です。

Schema Hero

また、ソフトウェア開発では、リレーショナルデータベースを使用する際のスキーマの進化を管理することもよく行われます。

SchemaHero は、オープンソースのデータベーススキーマ移行ツールで、スキーマ定義をあらゆる環境で適用可能な移行スクリプトに変換します。データベーススキーマの移行を管理するために、Kubernetesの宣言型の性質を利用しています。希望する状態を指定するだけで、あとはSchemaHeroが管理してくれます。

その他

・LiquidBaseは最も有名な代替品です。使い方が難しく、Kubernetesネイティブではありませんが、機能は充実しています。

Bitnami Sealed Secrets

私たちはすでにArgoCDなどの多くのGitOpsツールをカバーしています。私たちの目標は、すべてをGitで管理し、Kubernetesの宣言的な性質を利用して環境を同期させることです。私たちは、真の情報源をGitでキープし、コンフィギュレーションの変更を自動プロセスで処理する方法を見てきました(そしてそうすべきです)。

通常、Git で管理するのが難しいもののひとつに、DB パスワードや API キーなどのシークレットがありました。これは、シークレットをコードリポジトリに保存してはいけないからです。一般的な解決策としては、AWS Secret Manager や HashiCorp Vaultのような外部の金庫を使ってシークレットを保管するというものがありますが、シークレットを扱うために別のプロセスを用意しなければならないので、多くの摩擦が発生してしまいます。理想的には、他のリソースと同じように Git にシークレットを安全に保管する方法が欲しいところです。

Sealed Secrets はこの問題を解決するために作られたもので、強力な暗号化を使用して機密データを Git に保存することができます。Bitnami Sealed SecretsはKubernetesにネイティブに統合されており、Kubernetesで稼働しているKubernetesコントローラのみがシークレットを解読できるようになっています。コントローラーはデータを復号し、安全に保存されたネイティブなK8sシークレットを作成します。これにより、すべてをコードとしてレポに保存することができ、外部に依存することなく安全に継続的なデプロイを行うことができます。

Sealed Secretsは2つの部分で構成されています。

--

--

No responses yet