Kubernetesへのデプロイ

Kubernetesクラスタの上に最初のアプリケーションをデプロイします

このガイドでは、PipeCDを用いてKubernetesクラスタの上にアプリケーションをデプロイします。

手元に以下のものがあることを確認します。

  • Kubernetesクラスタ
  • デプロイするアプリケーションの設定ファイルを管理するgitリポジトリ(以降、Config-repoと呼ぶ)

Pipedのインストール

このセクションでは、お使いのKubernetesクラスタ上でPiped Podが正常に実行されることを目指します。

Pipedとは、デプロイメントタスクを処理する単一のバイナリコンポーネントです。このコンポーネントはステートレスに設計されているので、単一のVMやローカルマシンでも実行できます。

ログイン

Control-plane operatorにプロジェクトの作成を依頼し、以下の情報を聞いてください(あなたがControl-plane operatorである場合は、ガイドに従ってプロジェクトを作成してください)

  • Control-planeのアドレス
  • プロジェクトID
  • Static admin用のユーザー名
  • Static admin用のパスワード

Control-planeにアクセスし、Static adminとしてログインしてください。

(任意)PipeCDはRBACによる権限管理機構を提供しています。あなたのチームに適切な権限を与えたい場合は、ガイドに従って設定を行ってください。

Pipedの登録

Pipedをインストールする前に、Pipedがcontrol-planeと通信するための認証情報をWeb UIから取得します。 https://{CONTROL_PLANE_ADDRESS}/settings/piped を開き、+ADDボタンを押してPipedを登録してください。作成後に表示されるpiped-idとpiped-keyは後ほど利用するので控えておいてください。

SSH keyの登録

PipeCDにおけるデプロイフローは、PipedがConfig-repoを監視することから始まります。Config-repoが更新されたら(例えばDeploymentマニフェストの更新)Pipedはデプロイメントを開始します。 そのためにもまずは、PipedがConfig-repoにアクセス出来るように設定しておく必要があります。

  • SSHキーペアを作成してください
  • 公開鍵をConfig-repoに登録してください(Githubをお使いの場合は、デプロイキーとして登録することが出来ます)
  • 秘密鍵は後ほど利用するので控えておいてください

クラスタへPipedをインストールする

お使いのクラスタ上にPipedをインストールします。前のステップで取得した以下のものが手元にあることを確認してください:

  • piped-id
  • piped-key
  • ssh-key

インストールガイドに従ってインストールを完了させてください。 こちらのインストールガイドはクラスタレベルのリソースを必要とすることに注意してください。 NamespaceレベルのリソースのみでPipedを構成したい場合は、こちらに従ってインストールを進めてください。

Gitホストはデフォルトでgithub.comです。Config-repoがそれ以外のホストで管理されている場合は、Piped設定ファイルに以下のフィールドを追加してください:

git:
  host: ghe.foo.org

Piped Podの状態がRunningになっていれば成功です。

アプリケーションのデプロイ

このセクションでは、最初のアプリケーションが正常にデプロイされることを目指します。

アプリケーションの登録

デプロイを行う前に、デプロイするアプリケーション情報をPipeCDに登録する必要があります。

アプリケーションとは、一緒に管理されるk8sリソースの集合です。マイクロサービスアーキテクチャの場合、通常一つのマイクロサービスが一つのアプリケーションとなります。 PipeCDでは、アプリケーションのマニフェスト群とそのデプロイ設定(.pipe.yaml)を1つのディレクトリにまとめる必要があります。 そのディレクトリはアプリケーションディレクトリと呼ばれます。

  • ガイドに従って、デプロイするアプリケーションをPipeCDに登録してください
  • ガイドに従って、デプロイ設定(.pipe.yaml)を追加してください

しばらくすると、最初のデプロイが実行されるはずです。https://{CONTROL_PLANE_ADDRESS}/deployments を開いて結果を確認します。ステータスがSUCCESSであれば成功です。

お疲れさまでした。チュートリアルは以上となります。