Voicy で SRE してます
今日は、ArgoCD の Auto Sync の Disable について少し書いていきたいと思います
ArgoCD って?
- KubernetesネイティブなGitOpsツール
- 視覚的なUIでクラスタの状態を管理
- Gitベースの変更管理で安全なデプロイ
ArgoCD の Auto Sync とは
- ArgoCD にはアプリケーションをレポジトリと同期する、Sync Policy がある
- 自動同期したり、同期する際の挙動とかが設定可能
前提条件
- ArgoCD がインストールされているサーバ
- ArgoCD がインストールされているPC(CLIコマンドつかればOK)
- Sync を止める例は、app-of-apps を例として使用
何がしたいか
- コマンドラインで、Auto-Sync を Disable にしたり、Enableにしたりをやりたい
では、Disable にしてみよう
- まず、ログイン
# argocd login localhost(サーバのホスト名)
- ログインできたら、まずは Auto-Sync のステータスを確認
# argocd app get argocd/app-of-apps -o json | jq -r '.spec.syncPolicy.automated'
{}
↑
わかりにくいですけど、これで正解
- 次に、 Auto-Sync を Diasble にしてみる
# argocd app set argocd/app-of-apps --sync-policy none
- ステータスを確認
# argocd app get argocd/app-of-apps -o json | jq -r '.spec.syncPolicy.automated'
null
↑
null になってたら、Diableになってる
Enable にするには?
- Enable にする
# argocd app set argocd/app-of-apps --sync-policy automated
- ステータス確認
# argocd app get argocd/app-of-apps -o json | jq -r '.spec.syncPolicy.automated'
{}
↑
わかりにくいですけど、これで正解
まとめ
- これで、全部停止とかするのに楽ちん
注意点
- app-of-apps 系は先に止めないとダメ
- バージョンによって挙動は違うかも
参照
We're hiring
絶賛、エンジニア(だけではなく)募集してます
カジュアル面談もやっていますので、お待ちしています