Skip to content

cosicosilife.com

ライフハックについていろいろ書きます

Primary Menu
  • サイトマップ
  • クラウド技術
  • 安全資産投資
  • 旅行
  • ライフハック
  • プライバシーポリシー
  • 運営者情報とご連絡先
  • Home
  • docker
  • argocdの導入
  • docker

argocdの導入

david 2025年6月3日
A realistic whale with the word Docker in a manga style, without making the eyes too cute

この記事の目次(クリックしたらジャンプ)

Toggle
  • GitOpsとは?
    • GitOpsの主なメリット
  • 🚀 Argo CDとは?
    • Argo CDの主な機能
  • 📝 前提条件
  • 🔐 GitHub Personal Access Token (PAT) の作成と設定
  • 🧠 補足:Argo CDの基本概念
  • 🔍 GitHubリポジトリの構成確認
  • 🛠️ Argo CDでのアプリケーション作成

GitOpsとは?

GitOpsは、Gitリポジトリを「唯一の信頼できる情報源(Single Source of Truth)」として、インフラやアプリケーションの状態を管理・運用する手法です。

GitOpsの主なメリット

  • 変更履歴の追跡: Gitの履歴により、誰がいつ何を変更したかを明確に把握できます。
  • 自動化: Gitへの変更をトリガーとして、CI/CDパイプラインを自動的に実行できます。
  • 一貫性のあるデプロイ: 宣言的な構成により、環境間での一貫性を保ったデプロイが可能です。

🚀 Argo CDとは?

Argo CDは、Kubernetes向けの宣言的なGitOps継続的デリバリーツールです。Spacelift+2Argo Project+2Red Hat+2

Argo CDの主な機能

  • Gitリポジトリとの同期: 指定したGitリポジトリの状態とKubernetesクラスターの状態を比較し、差分があれば自動または手動で同期します。
  • 多様な構成管理ツールのサポート: Helm、Kustomize、Jsonnet、YAMLなど、さまざまな形式のマニフェストをサポートします。
  • Web UIとCLIの提供: 直感的なWebインターフェースと強力なコマンドラインツールを提供し、アプリケーションの管理を容易にします。
  • マルチクラスター対応: 複数のKubernetesクラスターを一元管理できます。Spacelift+1Argo CD+1

📝 前提条件

  • Kubernetesクラスターの構築: オンプレミス環境にKubernetesクラスターが構築されていること。
  • Argo CDのインストール: Argo CDがKubernetesクラスターにインストールされ、https://argo.cosicosilife.com/applicationsでアクセス可能であること。
  • GitHubリポジトリの準備: https://github.com/david-daisuke/my-sample-appにHelmチャートが配置されており、管理者権限を持っていること。
  • ドメインの設定: sample.cosicosilife.comがKubernetesのServiceに正しくルーティングされていること。

🔐 GitHub Personal Access Token (PAT) の作成と設定

Argo CDがGitHubリポジトリにアクセスするためには、PATを使用する必要があります。

PATの作成:

🧠 補足:Argo CDの基本概念

  • GitOps: Gitリポジトリを「唯一の信頼できる情報源」とし、Kubernetesの状態を管理する手法です。
  • Argo CD: GitリポジトリとKubernetesクラスターの状態を比較し、差分がある場合に自動で同期を行うツールです。
  • Helm: Kubernetesのパッケージマネージャーで、複雑なアプリケーションのデプロイを簡素化します。

🔍 GitHubリポジトリの構成確認

helm/my-sample-appディレクトリ内に以下のファイルが存在することを確認してください:

  • Chart.yaml
  • values.yaml
  • templates/deployment.yaml
  • templates/service.yaml

これらのファイルが正しく設定されていない場合、Argo CDによるデプロイが正常に行われない可能性があります。

今回は私のレポジトリにあるコードで試します

  • GitHubにログインし、PATの作成ページにアクセスします。
  • 「Generate new token」をクリックし、以下の設定を行います:
    • Note: 任意の説明(例:ArgoCD Access Token)
    • Expiration: 適切な有効期限(例:90日)
    • Scopes: repo(プライベートリポジトリへのアクセスが必要な場合)
  • 「Generate token」をクリックし、表示されたトークンをコピーします。

「Connect Repo using HTTPS」をクリックし、以下の情報を入力します:

  • Repository URL: https://github.com/david-daisuke/my-sample-app.git
  • Username: GitHubのユーザー名(例:david-daisuke)
  • Password: 先ほど作成したPAT

🛠️ Argo CDでのアプリケーション作成

  1. アプリケーションの作成:
    • Argo CDのWeb UIで「Applications」→「NEW APP」をクリックします。
    • 以下の情報を入力します:
      • Application Name: my-sample-app
      • Project: default
      • Sync Policy: Automatic(自動同期)
      • Repository URL: https://github.com/david-daisuke/my-sample-app.git
      • Revision: HEAD
      • Namespace: default(または適切な名前空間)
      • 「Create」をクリックしてアプリケーションを作成します。

同期が開始されます

  1. 同期の確認:
    • 作成したアプリケーションが一覧に表示されます。
    • アプリケーションをクリックし、詳細画面で「Sync」をクリックして同期を開始します。
    • 同期が完了すると、ステータスが「Synced」「Healthy」と表示されます。

大体ここまでできれば、helm のめんどくさいコマンド打鍵しないで済みそうですね。



Continue Reading

Previous: AWS ECS 入門その2

Related Stories

aws
  • docker
  • クラウド技術

AWS ECS 入門その2

david 2025年5月18日
aws
  • docker
  • クラウド技術

AWS ECS の構築基礎

david 2025年5月17日
  • argocdの導入
  • (タイトルなし)
  • オンプレUbuntuでHelm中心にKubernetes運用・CI/CD構築
  • Ubuntu上にArgo CDをインストールし、ブラウザアクセスできるようにする手順(k8s.cosicosilife.com対応)
  • 【初心者向け】Argo CD に初めてのアプリケーションをデプロイしてみよう!
  • サイトマップ
  • クラウド技術
  • 安全資産投資
  • 旅行
  • ライフハック
  • プライバシーポリシー
  • 運営者情報とご連絡先
  • サイトマップ
  • クラウド技術
  • 安全資産投資
  • 旅行
  • ライフハック
  • プライバシーポリシー
  • 運営者情報とご連絡先
Copyright © Cosicosilife | MoreNews by AF themes.