13章開発ワークフロー
サーフィンて、それはもう驚くべき発想よ。小さなボードで自然に挑むの、「乗りこなしてあげるわ!」なんて言いながらね。でも、たいていは自然が「そうはさせんよ!」って牙をむいて、波に飲みこまれるんだけど。
――Jolene Blalock(米国の女優兼モデル、1975~)
この章では、12章で説明した内容を拡張して、ローカルな開発からKubernetesクラスタへの更新のデプロイに至るアプリケーションのライフサイクル全体に視野を広げ、データベースの移行という注意を要するトピックも扱います。また、アプリケーションの開発、テスト、デプロイに役立つツールも紹介します(Skaffold、Draft、Telepresence、Knative)。アプリケーションをクラスタにデプロイする方法の基本を理解したら、Helmでフックを用いて実行する、より複雑なデプロイについても学びましょう。
13.1 開発ツール
12章では、Kubernetesリソースマニフェストの作成、ビルド、デプロイに役立つツールを説明しました。いずれもその守備範囲では効果的に活用できますが、Kubernetesで実行するアプリケーションの開発では多くの場合、ビルド、プッシュ(アップロード)、デプロイ、更新という完全なループをその都度繰り返さなくても、試行錯誤して変更結果を即座に確認できるほうが便利です。
13.1.1 Skaffold
Skaffold(スキャフォールド)(https://github.com/GoogleContainerTools/skaffold)はGoogleが開発しているオープンソースツールで、開発ワークフローの迅速化を目的としています。Skaffoldは、ユーザがローカルで開発を進める過程でコンテナを自動的に再ビルドして、変更をローカルまたはリモートのクラスタにデプロイします。 ...
Get Kubernetesで実践するクラウドネイティブDevOps now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.