SpinnakerとGKEを使用した継続的デリバリーパイプラインGCPUG in Nara #52020/02/08 株式会社ビヨンド 寺岡 佑樹
View Slide
自己紹介resource “my_profile” “nezumisannn” {name = “Yuki.Teraoka”nickname = “ねずみさん家。”company = “beyond”job = “Site Reliability Engineer”twitter = “@yktr_sre”skills = [“terraform”,”packer”]}
GKEへのデプロイ
GKEへのデプロイ● みなさんどうしていますか?● 小規模なアプリケーションならkubectl applyで良いのかもしれません
GKEへのデプロイCluster A Cluster CCluster BService AService CService BService AService CService BService CService BService A
もう無理!!
GKEへのデプロイ● 継続的に・安全に・迅速にデプロイを行いたい● 手動デプロイから自動デプロイ(CI / CD)へ● そんなときに便利なツールをご紹介します
Spinnaker
Spinnaker● GoogleとNetflixが開発している継続的デリバリープラットフォーム● マルチクラウド対応
Spinnakerで出来ること
アプリケーションの自動リリース
Immutable Infrastructureの実現
Spinnakerを立ててみる
Spinnaker for GCP● SpinnakerをGCP上に迅速に展開できるようにするソリューション● 安全なインストール○ Cloud IAPとの統合● 自動バックアップ● 統合された監査と監視○ Stackdriverとの統合● 簡素化されたメンテナンス○ Spinnakerのメンテナンスの簡素化及び自動化する多くのヘルパーが含まれる
Spinnaker for GCPhttps://cloud.google.com/docs/ci-cd/spinnaker/spinnaker-for-gcphttps://github.com/GoogleCloudPlatform/spinnaker-for-gcp
Spinnaker for GCP
インストール
Spinnaker for GCP● 必要なAPIの有効化● サービスアカウントの作成● ロールの割当● Redisインスタンスの作成 (MemoryStore)● Cloud Storageのバケット作成● GKEクラスタの作成● Pub/Subのトピックとサブスクリプションの作成● Spinnakerに必要なリソースをGKEに展開● Cloud Source Repositoryの作成
Spinnakerへ接続する
パイプラインの作成
Spinnaker for GCP● Cloud Buildの作成● Cloud Buildのトリガーの作成○ Cloud Source Repositoryへのpushでデプロイされるようになる● Container Registryの作成○ Cloud Buildでビルドされたイメージが保管される● サンプルアプリ用のNameSpaceの作成○ ステージング用・プロダクション用の 2つ
デプロイの開始
まとめ
まとめ● SpinnakerをGCP上に迅速に展開できるようにするソリューション● 継続的に・安全に・迅速にデプロイを行いたい● そんなときはSpinnakerを使ってみてください
おわり