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つのディレクトリにまとめる必要があります。 そのディレクトリはアプリケーションディレクトリと呼ばれます。
しばらくすると、最初のデプロイが実行されるはずです。https://{CONTROL_PLANE_ADDRESS}/deployments
を開いて結果を確認します。ステータスがSUCCESS
であれば成功です。
お疲れさまでした。チュートリアルは以上となります。
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.