Advertisement
Advertisement

More Related Content

Slideshows for you(20)

Similar to DevOps with GitLabで始める簡単DevOps(20)

Advertisement

More from 富士通クラウドテクノロジーズ株式会社(20)

Advertisement

DevOps with GitLabで始める簡単DevOps

  1. ニフクラ エンジニア ミートアップ 2022-02-22 DevOps with GitLab で始める簡単DevOps 2022/02/22 富士通クラウドテクノロジーズ株式会社 山口 純 © 2022 Fujitsu Cloud Technologies Limited
  2. 自己紹介 2 © 2022 Fujitsu Cloud Technologies Limited 自己紹介: ・弊社のDevOpsノウハウを広めていくサービス、DevOps with GitLabの企画・開発を担当 ・弊社全社員で利用しているGitLab環境の運用も担当 山口 純 クラウドプラットフォーム本部 プラットフォームSRE部
  3. 1/25 DevOps with GitLab リリース 先日、DevOps with GitLab を正式リリースしました!(β版から正式化 3 © 2022 Fujitsu Cloud Technologies Limited DevOps with GitLab ニフクラ上でGitLab環境を簡単に構築・利用できるサービス βから大きく変わったところ:定期アップグレード提供 (その他便利機能も今後提供検討中
  4. 構築が簡単 GitLab構築に必要な以下の工程がスキップできる ○ ドメイン取得 ○ DNS設定(Aレコード登録) ○ SSL証明書取得・配置 ○ サーバー作成・初期設定 ○ GitLabインストール ○ GitLabコンフィグ設定(gitlab.rb) 4 © 2022 Fujitsu Cloud Technologies Limited DevOps with GitLab
  5. 構築手順は宮原さんのセッションでご紹介 © 2022 Fujitsu Cloud Technologies Limited 5 本セッションでは構築の先の部分をお話しします
  6. DevOpsってなんでしょう? 6 © 2022 Fujitsu Cloud Technologies Limited そのまえに
  7. DevOpsの歴史背景 10 Deploys Per Day: Dev and ops Cooperation at Flickr ○2009年: Velocity(主催: O’Reilly)のFlickrの発表で言及される ○開発・運用の非協力による負のループをなくし、ビジネス価値を実現 ○運用がシステム変更を受け入れない ○開発は共有せずデプロイ ○運用が把握できない事故が起き、変更に拒絶反応が増す ○変更を受け入れられるよう協力するための工夫 ○ツール(インフラ自動化、バージョン管理の共有、ビルド・デプロイ自動化...) ○文化(尊重・信頼・失敗への健全な態度、非難をしない) © 2022 Fujitsu Cloud Technologies Limited 7 参考 https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
  8. DevOpsのメリット © 2022 Fujitsu Cloud Technologies Limited 8 参考: DORA(DevOps Research and Assessment)の「State of DevOps Report 2021」 https://services.google.com/fh/files/misc/state-of-devops-2021.pdf 反映頻度 973倍 変更反映の速度 6570倍 トラブル復旧速度 6570倍 変更による失敗率 1/3 以下 DevOpsを高いレベルで実現しているチームと低いレベルのチームの差 例えば: 6ヶ月(180日)に1回の反映 → 1日に5回の反映で900倍 アプリケーションの機能追加やトラブル対応速度に大きな差が生まれる
  9. DevOpsはリリースを早くする パイプラインによる自動化が強力なポイント © 2022 Fujitsu Cloud Technologies Limited 9
  10. パイプライン .gitlab-ci.ymlの内容を、push(変更アップロード)時に実行 © 2022 Fujitsu Cloud Technologies Limited 10 変更内容を サーバーへアップロード (push) 検証環境へ デプロイ test build DevOpsサーバー .gitlab-ci.ymlで定義の ジョブを発行 Runnerサーバー ジョブを取得・実行 review build成果を アップロード 本番環境へ デプロイ deploy (手動実行) (手動実行・定時実行も可能)
  11. デモ © 2022 Fujitsu Cloud Technologies Limited 11 アプリの修正をアップロードすると自動で検証環境に反映 → すぐにレビューや動作確認ができる
  12. デモ環境 構成図 12 DevOps with GitLab グローバルネットワーク DevOps サーバー クラスター ・ブラウザアクセス元 443/tcp ・Hatobaノード(GitLabRunner) 443/tcp FW INルールで許可 ・Hatobaノード(GitLabRunner) 6443/tcp (Runnerからkubectl実行に使用) FW INルールで許可 ・Hatoba(k8s) c-Large × 1 ・GitLab Runner(kubernetes executor) https://docs.gitlab.com/runner/install/kubernetes.html GitLab Runnerセットアップ Kubernetes Service Hatoba ノードプール © 2022 Fujitsu Cloud Technologies Limited
  13. Kubernetes Service Hatoba マネージド Kubernetes クラスターをニフクラ上に作成し、 インフラ運用の負荷を軽減できるサービスです。 ○特長: ○高い可用性を標準で確保 ○構築しやすさ ○開発・運用の効率化 © 2022 Fujitsu Cloud Technologies Limited 13 Kubernetes Service Hatoba は Certified Kubernetes Conformance Program で認 定されており、Kubernetes の 標準的な機能を利用できます。
  14. (k8s未経験者向け) 構成図 14 DevOps with GitLab グローバルネットワーク DevOps サーバー CI/CDサーバー GitLab Runner ・ブラウザアクセス元 443/tcp ・GitLabRunner 443/tcp FW INルールで許可 ・SSHログイン元 22/tcp (Runnerセットアップ ログイン時に使用) FW INルールで許可 ・Ubuntu 20.04LTS ・Docker executor ・GitLab Runnerをインストール https://docs.gitlab.com/runner/install/linux- repository.html ・GitLabに登録 https://docs.gitlab.com/runner/register/index.html GitLab Runnerセットアップ ※本デモはk8sベース © 2022 Fujitsu Cloud Technologies Limited
  15. デプロイ自動化の仕組み © 2022 Fujitsu Cloud Technologies Limited 15 build build成果 (コンテナイメージ) アップロード (コンテナレジストリ) Runner
  16. デプロイ自動化の仕組み © 2022 Fujitsu Cloud Technologies Limited 16 review Runner (k8s上) クラスター ノードプール デプロイ (L7LB設定含む) Kubernetes Service Hatoba ノード (コンテナレジストリ) http://Aブランチ.xxx.xxx http://Bブランチ.xxx.xxx http://Cブランチ.xxx.xxx k8sのL7LB設定でブランチ毎の レビュー環境へのアクセスをルーティング イメージ取得
  17. デプロイ自動化の効果 単一ツール上で修正からレビューまで自動でシームレスに行える © 2022 Fujitsu Cloud Technologies Limited 17 開発者 レビュワ 修正をアップロード 手動でビルド実行 手動でテスト実行 開発環境ログイン・デプロイ (共用の開発環境だと順番待ちも) レビュー依頼 環境情報をレビュワに伝える コード差分を確認 レビュー環境へ接続 動作確認 レビュー回数×デプロイ工数の工数削減効果 (+ シームレスであることの作業軽減効果も大きい) 修正をアップロード レビュー依頼 コード差分を確認 動作確認 開発者 レビュワ
  18. パイプラインの作り方 © 2022 Fujitsu Cloud Technologies Limited 18 test build deploy (手動実行) 1個ずつ、見本を探しながら。。。 公式テンプレート集が役に立ちます https://docs.gitlab.com/ee/ci/examples/ 公式の記法ガイドも必読 https://docs.gitlab.com/ee/ci/yaml/
  19. GitLab CIエディターも便利 © 2022 Fujitsu Cloud Technologies Limited 19 GitLab 13.8(2021年1月22日)からGUIエディタも搭載
  20. まとめ ○DevOps with GitLabは構築が簡単 ○GitLabではgitlab-ci.ymlを書いてパイプラインを作っていく ○まずビルド, テストをしてみる ○次に検証デプロイを作って... ○GitLabのReviewAppsは便利 20 © 2022 Fujitsu Cloud Technologies Limited DevOps with GitLab をよろしくお願いします。 今なら無償キャンペーン中!(2022/7/31まで
  21. Thank you © 2022 Fujitsu Cloud Technologies Limited
Advertisement