Spinnakerの導入

みなさん、こんにちは。ロードバイクを初めて1年で体重12kg落とした蔵谷です。 最近、社内で開発環境を整えることに注力しているのですが、ついにSpinnakerを導入してみました。ドキュメントが少なく、かなり苦戦しましたが、SSL対応まで行っています。そこで、困った箇所を備忘としてまとめてみます。

Spinnakerとは

Netflix社が開発したCI/CDのCDの部分にあたるツールです。これを導入すると、自動でイメージ作成やサーバーへのデプロイをやってくれるようになるので、運用の手間が省けます。 BeaconBankでは、以下のような用途で使う予定です。
  • ステージング・テスト環境への自動リリース
  • 本番環境への半自動リリース(マニュアルジャッジを入れて、事故防止)
  • ピーク時間に合わせてPod数を増加、終わったら元に戻すという一連の作業の自動化。
導入方法については、ネット上に記事がそれなりにあるので、ここでは書きません。参考にしたページのリンクだけ貼っておきます。 https://qiita.com/takasp/items/a74c8acdf3a8851b8da7 https://www.spinnaker.io/setup/quickstart/halyard-gke-public/

SSL対応について

ここからが本題。SSL対応で数日悩みました。

HealthCheck問題

SSL対応するにあたり、Ingressを追加する必要があるのですが、spin-deck(APIサービス)のHealthCheckが通らないという問題が起こりました。 原因として、Ingressを追加すると「/」へのHealthCheckが自動追加されるのですが、これがいけないようでした。spin-deckへのHealthCheckだけ手動で「/health」に向けてあげる必要がありました。この変更を行うことで、HealthCheckが無事通るようになりました。

js読み込まない問題

SSL対応終わって、いざアクセスしたところ、Hello画面で止まってしまうという現象が起こりました。デベロッパーツールで確認したところ、jsの読み込みに失敗して処理が止まってしまっているようでした。 原因として、追加したIngressの設定が悪かったらしく、Default Backendの設定を追加したら無事jsが読み込めるようになりました。
現状把握している問題は以上です。まだまだあるかもですが、見つかったら随時追記していきたいと思います。
h.kuraya
  • h.kuraya
  • エンジニア。最近はGoとKotlinを使うことが多いです。
    趣味はロードバイクで、たまに100km以上を1日で走ります。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です