0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Certified Argo Project Associate (CAPA)

Posted at

はじめに

CNCF主催の認定試験 Certified Argo Project Associate (CAPA) を受験し合格したので、受験記を記載します。同認定試験の受験を考えている方の参考になれば幸いです。

免責事項(Disclamer)

  • 本投稿は受験当時の情報となります。受験を検討する際は最新の情報の確認をお願いします。
  • 本投稿は個人の所感です。
    • 所属する企業や団体は関係ありません。
    • 情報の利用は自己責任でお願いします。

試験概要

  • Argoプロジェクトの関連プロダクト(ArgoCD, ArgoRollouts, ArgoWorkflows, ArgoEvents)についての認定試験です。
  • 受験日:2024/10/31
  • 試験形式
    • オンライン試験
    • 1回再受験可能
    • 多肢選択式
    • 試験時間90分
    • 試験言語は英語のみ提供
    • 100点満点中75点以上で合格

カリキュラム全体の理解

ArgoCD

ArgoCDとは

  • レポジトリ上にあるマニフェストを必ず正しい情報源(Single Source of Truth)と見なし、実環境をレポジトリのマニフェストに合わせるGitOpsを実現するツールです。
  • 例えば、実環境を手動で変更した場合、ArgoCDによりマニフェストに従う形に自動で修正されます。
  • これにより「今サーバの状態がどうなっているか誰もわからない!(秘伝のタレ問題)」という状態を防げ、いつでもレポジトリを見れば今の構成を知ることができます。

勉強方法

  • 案件で使っていて概要は知っているところからのスタートです。
  • 上記CNCFのページで紹介されているリンクを辿り、知らない部分を少しずつ理解を進めました。
  • ArgoCDでのKustomizeの使い方はこのページがわかりやすかったです。
  • カリキュラムに書かれていないが本番で聞かれたこと
    • ignoreDifferences(差分を無視させる)設定は聞かれるので、書き方など理解しておくとよいです
    • ApplicationSetリソースについても聞かれました

ArgoRollouts

ArgoRolloutsとは

  • ブルーグリーンデプロイ、カナリアリリースを実現するツールです。
  • 通常のk8sリソースであるDeploymentを少し拡張した、kind: Applicationというカスタムリソースで定義します。
  • ブルーグリーンデプロイを構成すると、activeService(稼働系)とpreviewService(確認系)のReplicasetがデプロイされます。このPreviewで動作を確認し、動作が問題なければPreviewをActiveに昇格させることでリリースを行います。
  • カナリアリリースを構成すると、stableService(稼働系)とcanaryService(カナリア系)のReplicasetがデプロイされます。このstableとcanaryに指定した割合(例 90:10等)で本番トラフィックを割り当てて、徐々に切り替えリリースを行うイメージです。

勉強方法

  • 案件で使っていて概要は知っているところからのスタートです。
  • 上記CNCFのページで紹介されているリンクを辿り、知らない部分を少しずつ理解を進めました。
  • 以下は知らなかったので、案件の際に役立ちそうでした!
    • ApplicationリソースからDeployment等のリソースを参照させ、Pod定義は通常の通りDeployment、ブルーグリーンやカナリアに関する記述だけをApplicationリソースに書くことができる
    • 昇格の判定にAnalysisTemplateを使える
      • 例:Prometheusから取得したHTTPリクエストの成功率が95%以上の場合のみ、カナリアリリースのステップを進める
  • カリキュラムに書かれていないが本番で聞かれたこと
    • カナリアデプロイで分析判定が失敗した場合、ブルーグリーンデプロイの昇格前分析で判定失敗した場合、ブルーグリーンデプロイの昇格後分析で判定失敗した場合、それぞれの挙動を把握しておくとよいです

ArgoWorkflows

ArgoWorkflowsとは

  • kubernetesで動くワークフロー実行エンジンです。CICDも実装できます。
  • AWSでいうとCode Pipelineのイメージでしょうか。

勉強方法

  • 上記CNCFのページで紹介されているリンクを辿り、少しずつ理解を進めました。
  • カリキュラムに書かれていないが本番で聞かれたこと
    • Workflowへのパラメータの渡し方(マニフェストでの渡し方、ファイルでの渡し方)

ArgoEvents

ArgoEventsとは

  • 例えばS3へのファイル配置をトリガーとして別の領域にファイルをコピーするなど、イベントドリブンにアクションを実行するためのツールです。
  • 実行するアクションは基本的にはkubernetesで実行するJob(kind: Job)となるユースケースが多いようです。

勉強方法

  • 上記CNCFのページで紹介されているリンクを辿り、少しずつ理解を進めました。
  • 概要理解にこちらのページが役立ちました。
  • ArgoEventは基本的にコンポーネントの役割の理解までしか聞かれなかったので、そこを重点理解しておくとよいです。ArgoEventは全体の中では出題の比重低め。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?