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?

KubernetesAdvent Calendar 2024

Day 22

ArgoCDの複数クラスタ運用で本番環境と開発環境を便利に分ける

Last updated at Posted at 2024-12-24

みなさんこんにちは。
今回は、ArgoCDに2クラスタ登録して本番環境と開発環境を一つの画面で操作する話です。

ArgoCDとは

ArgoCDとは、K8sにGitHubから自動的にデプロイしてくれる、いわゆるGitOpsです。

クラスタを追加するとは?

クラスタを追加するというのは具体的にどういうことか。

みなさん、デプロイする時このような画面から設定しますよね?

argocd-dest-setting.png

ここです。
この、クラスタという部分から外部のクラスタを選択できるようにするのです。
これにより、

  • 本番環境と同じリポを使いたい
  • 設定するのだるい

などの問題を解消することができます。

コンテキストを準備する

まず、kubeconfigファイルに追加する環境のcontextがなければなりません。
私の環境はmicrok8sなので、とりあえず、とってきます。

microk8s config

こうすると、context一覧が出てきます。
今回は権限設定なんぞはめんどくさいので、adminに関連するところをコピペして、追加元から操作できるようにします。

argocd CLIを使って追加する

さて、ここからが本題です。
ArgoCD CLIをまだインストールしていない方は、以下のリンクを参照してください。

一応コンテキスト名を確認します。

kubectl config get-contexts

## 例)
## CURRENT   NAME                                         CLUSTER                        AUTHINFO                             NAMESPACE
## *         default/api-cluster-staging:6443/admin       api-cluster-staging:6443       admin/api-cluster-staging:6443       default
##           default/api-cluster-production:6443/admin    api-cluster-production:6443    admin/api-cluster-production:6443    default

お次に、argocd CLIで、以下のコマンドを打ち込みます。

argocd cluster add default/api-cluster-production:6443/admin

これで何やら聞かれるかと思いますが、ArgoCDの動作のために、Admin権限を持ったサービスアカウントの作成をしても良いか?ということなので、yを入力します。
このコマンドで作成されるのは、ServiceAccountとClusterRole、ClusterRoleBindingです。

確認してみる

ArgoCDのWebダッシュボードを見てみましょう。
名前などは違うと思いますが、このようになっているはずです。

argocd-cluster-list.png

これで、Applicationの作成時も、新しい方のクラスタを使用できます。
お疲れ様でした!!

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?