私はいくつかのアプリをkubernetesクラスタにデプロイしました。私はyamlファイルとして領収書などを持っており、私はkubectl
ですべてを配備して適用します。停止時間なしにプレーンkubernetesからヘルムに移行
私はhelmに移行することを決めました。その機能のために、devとprodの間でコードを複製しないようにしました(私は変数などを使うことができました)。
私のサービスはAWS ELBであり、私が知っている限り、既にkubectlで展開されたものをhelmに移行するには、削除してhelmで再度インストールする必要があります。私のELBsを作成するので、私はDNSレコードなどを変更する必要があります。そのすべての上に、私はダウンタイムを持っています - これは本当に望んでいません。
私は古いものの名前を変更し、正しい名前で新しいものを作成し、サービスで使用する共通のラベルを保持することを考えました。新しいものを作成し、DNSレコードを変更して古いしかし、明らかに名前の変更はkubernetesによって許可されていません。
もう1つの戦略は、新しいクラスタを立ち上げることです。これは本当にやりたいことではありません。
他の選択肢はありますか?
ええ、問題は、ヘルム・チャートに以前にデプロイされたサービス/デプロイメント/ etcと同じ名前を付けることです。そうすれば、 'helm install -name foo。/ Charts/foo'とI fooという名前のサービス、デプロイメントなどが既にあります。 – caarlos0
だから、デフォルトのヘルムネームは 'funky-penguin'のようなランダムなものですから、' - 'のようなものに行きます。 'prod-myapps'(大部分は複数のサブチャートを組み合わせた傘型チャートで作業しています)、セレクタをオンにしてapp-prod-myapps-myapp1のようなものにハードコードされたオフ・チャート・サービスmysvc1を簡単に持つことができます'prod-myapps-mysvc1'の-chart svc –
ええ、ええ、問題は' foo'のようなものを既に持っているので、 'kubectlは' 'kubectl -l app = foo'または' '| grep foo' ... – caarlos0