今日からはじめる Pulumiでカンタン インフラ運用・管理 7

動作確認

動作確認

Pulumi Kubernetes Operatorを作成できたので、ここでGitHubのProgramを更新し、再度自動デプロイが実行されるか試してみます。

・Pulumi Programの更新&自動デプロイ

  1. ローカルPCのコンソールで用意したPulumi Kubernetes Operatorで同期させるProgramの中身を空にして、GitHubにpushします(S3 Bucketの記述が削除されたので、実体のリソースも削除される想定です)。
    $ pwd   
    /****/operator-test 
    
    $ echo '' > __main__.py
    
    $ git add __main__.py
    
    $ git commit -m "delete: S3 bucket resource"
    
    $ git push
  2. しばらくするとBucket Objectが自動的に作成されるのが確認できます(筆者の環境ではpushからBucket削除まで5分ほどかかりました)。 Stackをdescribeすると、同期対象のGitHubレポジトリの新たなcommit(detected: "47bd2621****”)をStackControllerで検知しているのが確認できます。
    $ kubectl describe Stack
    ~~~   
    Events:
      Type     Reason               Age   From              Message
      ----     ------               ----  ----              -------
      Normal   StackUpdateDetected  14m   stack-controller  New commit detected: "cedd9734b15c22b9314cca9c9b114d26575d51a4".
      Normal   StackCreated         14m   stack-controller  Successfully updated stack.
      Normal   StackUpdateDetected  39s   stack-controller  New commit detected: "47bd262177fe525bb5c34750121ca57bf6750c62".

ハンズオンは以上です。

クリーンアップ

ハンズオンで作成したリソースのクローンアップ作業を実施します。

・EKS Cluster (+関連リソース) 削除

  1. 「eksctl」コマンドで作成したEKS Clusterやその他リソース(VPC/Subnetなど)を削除します。
    [cloudshell-user@ip-10-6-43-90 ~]$ eksctl delete cluster --name operator-test-cluster
    2023-09-01 16:26:02 [ℹ]  deleting EKS cluster "operator-test-cluster"

おわりに

今回は、Pulumi Kubernetes Operatorを利用してProgramも自動デプロイを実現しました。

GitLab CIやGitHub ActionsなどでもCI/CDワークフローをサポートしていますが、KubernetesにデプロイされるPulumi Kubernetes Operatorであれば、他のKubernetesワークロードと合わせて一元的に管理できる点にメリットがありそうです。すでにKubernetesを運用されている方は、この機会にPulumi Kubernetes Operatorの導入を検討されてみてはいかがでしょうか。次回もお楽しみに!

【参考】Pulumi公式ホームページ(英語)

この記事のキーワード

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る