Kubernetes(k8s)を学ぼう! ArgoCD編〜最高のデプロイ方法〜

こんにちは。KOUKIです。k8s学習中のWebエンジニアです。

KubernetesとArgoCDを学びましょう。

尚、今回もMinikubeを使いますので、以下の記事でインストール&起動してください。

参考

前提条件

  • minikubeがインストールされていること
  • kubectlがインストールされていること
  • 動作検証: Mac

Minikube コマンド

Start

下記のコマンドで、minikubeをStartさせます。

問題なくStartできれば、下記のコマンドでStatusがReadyになるはずです。

Stop

下記のコマンドで、minikubeをStopできます。

再び起動したい場合は、「minikube start」で起動してください。

ArgoCDの導入

ArgoCDは、minikubeクラスタ内にデプロイするk8sリソースの一つです。

以下の手順で導入しましょう。

NameSpaceの作成

ArgoCDのデプロイ

公式サイトのGetting Startedを参考に、ArgoCDをデプロイしましょう。

ArgoCD UIへアクセス

PortForwardingで、ArgoCDのUIへアクセスしましょう。

Usernameは「admin」ですが、Passwordについては以下のコマンドで取得します。

これらをUI上に打ち込んでログインします。

検証環境の構築

GitHubリポジトリ

ArgoCDと連携させるGitHubリポジトリを作成しましょう。

GitHub連携用の設定ファイル作成

適当な場所に、以下のファイルを作成します。

application.yamlには、GitHubとの接続設定を書きます。
公式サイト

repoURLには、ご自身のGitHub URLを入れてください。

pathは、更新を検知したいファイルの場所を指定するようです。私の場合は、「dev」フォルダを指定しています。

アプリケーションファイルの作成

このリポジトリのソースコードを拝借します。

それぞれのファイルには、以下の記述をします。

GitHubへPush

次に作成したファイルをGitHubにPushします。

GitHubとArgoCDの連携

以下のコマンドで、ArgoCDとGitHubを連携させます。

ArgoCDのUIを確認すると連携されていることがわかります。

より具体的にいうと、ArgoCDからGitHubに対してポーリングを打って、指定のディレクトリ(dev)に変更があるかチェックしているみたいです。

アプリケーションの詳細も確認できて、すごく便利そうです。

podの変更

現状、Podは以下のようになっています。

この「nanajanashia/argocd-app:1.2」のバージョンを一つ下の「1.1」に落としてみます。

変更が完了したらGitHubへPushしてみましょう。

UI上の「REFRESH」ボタンを押しつつ、更新されるのを待ちます。

更新されたみたいですね。先ほどとIDが違います。

バージョンも変わりました。

すごく便利ですね!

まとめ

ArgoCDを使うとK8Sのデプロイが簡単にできるようになりそうです。

まだまだ知らない機能があるので、もっと勉強しなきゃですね^^

それでは、また!

記事まとめ

参考

コメントを残す