サーバサイドのアプリケーションにおける"デプロイ"についてまとめました。テクノロジースタックはGo+Docker+CircleCI+GKE+Spinnakerです。GoogleとNetflixが共同開発したCDツール"Spinnaker"についてまとめてある数少ない書籍の1つです。
Go+Docker+CircleCI+GKE+Spinnakerでアプリケーションをデプロイすることができるようになります。
Spinnakerについては書籍やネット上の情報が少ないと思うので、Spinnakerがどんなものか知りたいという人にオススメできます。
目次プレビュー
- はじめに
- 第1章 デプロイフローについて
- 第2章 デプロイフローを一通り体験する
-
4.1 はじめに
-
4.2 Kubernetes Provider V2 (Manifest Based)を利用する
-
4.2.1 Docker RegistryのAccountは不要
-
4.2.2 GCEインスタンスにkubectlをインストールする
-
4.2.3 GKEクラスターを作成する
-
4.2.4 Kubernetesのサービスアカウントを作成する
-
4.2.5 RBACを設定する
-
4.2.6 Cloud Providerのアカウントを作成する
-
4.3 Kubernetes Provider V2 (Manifest Based)でアプリケーションをデプロイする
-
4.3.1 Docker Registryの認証について
-
4.3.2 Kubernetesのマニフェストファイルを指定する
-
4.3.3 Dockerイメージのpushをトリガーにデプロイする
-
4.4 KubernetesのマニフェストファイルをGitHubで管理する
-
4.4.1 GitHubのAccountを作成する
-
4.4.2 マニフェストファイル用のGitHubリポジトリを作成する
-
4.4.3 SpinnakerにてGitHubのマニフェストファイルを参照する
-
4.4.4 Expected Artifactsを設定する
-
Use Default Artifactの必要性について
-
4.5 StackとDetailによるCluster管理について
-
4.6 Automated Canary Analysisによるカナリーリリース
-
4.6.1 Spinnakerにおけるカナリーリリースの仕組み
-
4.6.2 Stackdriverを設定する
-
4.6.3 HalyardでAutomated Canary Analysisを設定する
-
4.6.4 カナリーリリースのPipelineについて
-
4.6.5 Manual JudgementのPipelineを作成する
-
4.6.6 Pipelineを実行する
-
4.6.7 Canary Configを作成する
-
4.6.8 Canary Analysis Stageを利用する
-
4.6.9 カナリーリリースの動作を確認する
-
4.7 アプリケーションに静的IPアドレスとドメインを設定する
-
4.8 外部からSpinnakerにアクセスする
-
4.9 Spinnakerトラブルシューティング
-
4.9.1 Spinnakerが起動しない
-
4.9.2 Halyardの設定を確認する
-
4.9.3 GCSのAccountをHalyardに追加できない
-
4.9.4 PipelineのDeploy(Manifest)にAccountが表示されない
-
4.9.5 GitHubのIssueとCommunityを検索する
-
4.10 おわりに