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?

More than 3 years have passed since last update.

ArgoCD(GKE)でデプロイしてみる

Posted at

概要

継続的デリバリ(CD)ツールのArgoCDをデプロイしてみます。
前回ArgoCDをGKEにインストールしてみるの続きです。

公式入門ガイドをなぞりつつサンプルアプリをデプロイしていきます。
(入門ガイド:https://argoproj.github.io/argo-cd/getting_started/#5-register-a-cluster-to-deploy-apps-to-optional)

今回環境を再構築してるのでIPアドレス全般・クラスタ名とか少し違います。

ハンズオン

1. デプロイ先のクラスタを作成

$  gcloud container clusters create target-cluster --zone us-ceral1-a

2. デプロイ先クラスタを登録

クラスタ一覧を表示

$ kubectl config get-contexts -o name

デプロイ先クラスタを登録

$ argocd cluster add {TARGET_CLUSTER}
INFO[0000] ServiceAccount "argocd-manager" created in namespace "kube-system"
INFO[0000] ClusterRole "argocd-manager-role" created
INFO[0001] ClusterRoleBinding "argocd-manager-role-binding" created
FATA[0021] Failed to establish connection to 34.85.17.205:443: dial tcp 34.85.17.205:443: operation was canceled

接続エラーが発生。なんの確証もなかったがCLIでログインしていなかったことを思い出したのでCLIでログイン。証明書の警告が出るがYESを選択。

$ argocd login 34.84.102.51
WARNING: server certificate had error: x509: cannot validate certificate for 34.84.102.51 because it doesn't contain any IP SANs. Proceed insecurely (y/n)? y
Username: admin
Password:
'admin' logged in successfully
Context '34.84.102.51' updated

再度クラスタを登録すると成功。

$ argocd cluster add {TARGET_CLUSTER}
INFO[0000] ServiceAccount "argocd-manager" already exists in namespace "kube-system"
INFO[0001] ClusterRole "argocd-manager-role" updated
INFO[0001] ClusterRoleBindin![destination.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/367760/7a8c65ea-d1b8-7420-4f0e-0aee5e15153e.png)
g "argocd-manager-role-binding" updated
Cluster 'https://35.202.58.143' added

3. アプリを作成する

UIログイン後、左上の「New App」ボタンをクリックしてアプリを作成。
Githubのリポジトリ含め値はすべて公式のものを使用します。
argocd-setting-app.PNG

Destinationは今回外部のクラスタを使用しているのでそのエンドポイントを設定。
destination.PNG

「CREATE」ボタンをクリックして設定を完了します。
アプリを作成した直後はStatusは「OutOfSync」になっています。
キャプチャ.PNG

4. アプリをデプロイ(Sync)する

アプリの「SYNC」をクリックするとサイドパネルが出てくるので「SYNCHRONIZE」をクリック。
synchronize.PNG

ステータスの表示がSyncedに変われば成功。
synced.PNG

図で表示できてわかりやすい。
synced-map.PNG

おわりに

アプリのデプロイ(Sync)はCLIからでも出来るようですがアプリ全体の状態を把握しようと思うと図の方が断然わかりやすいですね。大規模な環境になってくるとよりそう感じられると思います。今回まででArgoCDのインストール・デプロイと一通りやってみましたが、図の表示など基本的な機能は他のCDツールでもあるので、軽く触った程度の使用では他のツールとの比較は難しいと感じました。

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?