メニュー

pospomeのサーバサイドアーキテクチャ2

発売日: 2019/4/14 全文検索: 対応
★★★★★ ★★★★★ 0件
サーバサイドのアプリケーションにおける"デプロイ"についてまとめました。テクノロジースタックはGo+Docker+CircleCI+GKE+Spinnakerです。GoogleとNetflixが共同開発したCDツール"Spinnaker"についてまとめてある数少ない書籍の1つです。
Go+Docker+CircleCI+GKE+Spinnakerでアプリケーションをデプロイすることができるようになります。
Spinnakerについては書籍やネット上の情報が少ないと思うので、Spinnakerがどんなものか知りたいという人にオススメできます。
目次プレビュー
  • はじめに
  • 第1章 デプロイフローについて
  • 第2章 デプロイフローを一通り体験する
  • 本書の内容
  • 著者
  • 誤字脱字報告フォーム
  • 免責事項
第1章 デプロイフローについて
  • 2.1 はじめに
  • 2.2 GoでWebサーバを作成する
  • 2.3 Dockerfileを作成する
  • 2.4 GitHubリポジトリを作成する
  • 2.5 CLOUD SDKをセットアップする
    • 2.5.1 GCPプロジェクトを作成する
    • 2.5.2 CLOUD SDKでプロジェクトとゾーンを固定する
    • 2.5.3 GCPの各種APIの有効化について
    • 2.5.4 プロジェクトに対して課金設定をする
  • 2.6 GitHubとCircleCIを連携する
    • 2.6.1 GitHubとCircleCIを連携する
    • 2.6.2 ジョブを動かす
  • 2.7 CircleCIからGCRにDockerイメージをpushする
    • 2.7.1 CLOUD SDKの認証を設定する
    • 2.7.2 ジョブを書く
  • 2.8 Spinnakerを構築する
    • 2.8.1 Spinnakerのインストール方法について
    • 2.8.2 Halyardをインストールする
    • 2.8.3 Cloud Providerを設定する
    • 2.8.4 Spinnakerを動かす環境を指定する
    • 2.8.5 Spinnakerのデータ保存先を設定する
    • 2.8.6 Spinnakerをデプロイする
    • 2.8.7 Spinnakerにアクセスする
  • 2.9 Spinnakerでアプリケーションをデプロイする
    • 2.9.1 Applicationを作成する
    • 2.9.2 Load Balancerを作成する
    • 2.9.3 Pipelineを作成する
    • 2.9.4 アプリケーションをデプロイする
  • 2.10 おわりに
  • 3.1 はじめに
  • 3.2 ローカルマシン上でジョブを実行する
    • 3.2.1 コマンドラインツールをインストールする
    • 3.2.2 ジョブ定義をチェックする
    • 3.2.3 ジョブを実行する
    • 3.2.4 コマンドラインツールの制約について
    • 3.2.5 GitHubリポジトリのチェックアウトについて
  • 3.3 CircleCIの組み込み環境変数を利用する
  • 3.4 Workflowによるジョブスケジューリングについて
    • 3.4.1 パラレル実行
    • 3.4.2 シーケンシャル実行
    • 3.4.3 ファンイン・ファンアウト実行
    • 3.4.4 承認実行
    • 3.4.5 スケジュール実行
    • 3.4.6 ブランチ名によるフィルター
    • 3.4.7 タグ名によるフィルター
    • 3.4.8 ジョブ間のデータ共有
  • 3.5 キャッシュを利用する
  • 3.6 おわりに
  • 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 おわりに
奥付

まだレビューが投稿されていません