6

もちろん、helm.sh をチェックアウトしましたが、一見したところ、セットアップ全体が少し複雑に見えます (helm-client &tiller-server)。ほとんどの場合、ヘルムクライアントを持っているだけで逃げることができるように思えます。

これは私が現在していることです

たとえば、3 つのサービスで構成されるプロジェクトがあるとします。postgres, express, nginx.

次のようなディレクトリを作成product-releaseします。

product-release/
    .git/
    k8s/
        postgres/
            Deployment.yaml
            Service.yaml
            Secret.mustache.yaml   # Needs to be rendered by the dev before use
        express/
            Deployment.yaml
            Service.yaml
        nginx/
            Deployment.yaml
            Service.yaml
    updates/
        0.1__0.2/
            Job.yaml    # postgres schema migration
            update.sh   # k8s API server scritps to patch/replace existing k8s objects, and runs the state change job

通常の git が適用できるようになりました。変更を加えるたびに、仕様ファイルに変更を加えてテストし、最後のバージョンから現在のバージョンに移行するための更新スクリプトを作成してから、コミットしてタグを付けます。

質問:

  1. これは今のところうまくいきますが、これは「正しい方法」ですか?
  2. なぜhelmtillerサーバーがあるのですか?クライアント側でテンプレートを作成する方が簡単ではありませんか? もちろん、展開のアクティビティをアプリケーションの知識 (シークレットなど) から分離したい場合は、サーバー上でテンプレートを作成する必要がありますが、それ以外の場合はなぜでしょうか?
4

3 に答える 3