コンテナ技術
第1回は、その第一歩として、なぜCI/CDが必要なのかに触れつつ、開発環境であるWSL上でDockerを使ってFastAPIとPostgreSQLのアプリケーションを立ち上げるところまでを解説します。
こんにちは、たねやつです。 Kubernetes基礎の章はこれで終了です。お疲れ様でした! この章では、コンテナオーケストレーションの王様であるKubernetesに焦点を当て、その概念から、実際にアプリケーションをデプロイして公開するまでの一連の流れを体験し…
こんにちは、たねやつです。 前回、FastAPIアプリケーションをDeploymentとしてKubernetesクラスタにデプロイしました。Podが2つ、元気に動いていることも確認できました。 しかし、このままではPodはクラスタ内部のネットワークにしか接続されておらず、私…
こんにちは、たねやつです。 前回、Deploymentというリソースを使えば、自己修復やスケーリングが可能なアプリケーションを定義できることを学びました。 今回は、その知識を実践に移します。Dockerを学ぶで作成し、コンテナ化したFastAPIアプリケーションを…
こんにちは、たねやつです。 前回はkubectlコマンドを使って、クラスタの状態を「見る」方法を学びました。 今回は、いよいよ自分たちのアプリケーションをクラスタに配置(デプロイ)するための第一歩として、Kubernetesにおける「設計図」の役割を果たすマ…
こんにちは、たねやつです。 前回、Minikubeを使ってローカルにKubernetesクラスタを構築しました。しかし、今のままではクラスタはただ動いているだけの箱にすぎません。 今回は、この箱の中身を覗いたり、情報を取得したりするための必須ツール、kubectl(…
こんにちは、たねやつです。 前回はKubernetesの概念とアーキテクチャについて学びました。理論を学んだら、次は実践です。 今回は、自分のPC上にKubernetesの動作を検証するためのローカルクラスタを構築します。これにより、クラウドサービスを使わなくて…
こんにちは、たねやつです。 前章ではDockerを使ってアプリケーションを「コンテナ」という箱に詰める方法を学びました。しかし、実際のシステムでは無数のコンテナが協調して動作します。これらを人力で管理するのは現実的ではありません。 そこで今回のテ…
こんにちは、たねやつです。 今回の連載の総仕上げです! 前回はDocker Composeを使ってWeb APIとデータベース(PostgreSQL)のコンテナを同時に起動しました。しかし、まだAPIとデータベースは連携しておらず、それぞれが独立して動いているだけでした。 最…
こんにちは、たねやつです。 前回はDocker Composeを使って、単一のAPIコンテナをスマートに管理する方法を学びました。 今回は、Docker Composeの最も強力な機能の一つである、複数コンテナの連携に挑戦します。前回作成したFastAPIアプリケーションに、永…
こんにちは、たねやつです。 これまでは、docker runコマンドを使って単一のコンテナを起動・管理してきました。しかし、実際のアプリケーションでは、Webサーバー、データベース、キャッシュサーバーなど、複数のコンテナが連携して動作することがほとんど…
こんにちは、たねやつです。 前回、Dockerfileを作成し、docker buildとdocker runを使ってアプリケーションをコンテナとして起動しました。 しかし、一度起動したコンテナはどのように管理すればよいのでしょうか?今回は、起動中のコンテナを確認したり、…
こんにちは、たねやつです。 前回、FastAPIで簡単なWeb APIを作成しました。今はまだ、私たちのローカルPCのPython環境でしか動作しません。 今回は、このAPIをコンテナ化するための設計図であるDockerfileを作成していきます。これにより、私たちのアプリケ…
こんにちは、たねやつです。 Docker環境の準備が整ったので、次はその上で動かすアプリケーションを作成していきます。 このロードマップでは、AI/MLモデルのサービング(推論結果を返す口)としてAPIサーバーを構築することが一つのゴールになります。そこ…
こんにちは、たねやつです。 今回からDockerとDocker Composeの基本的な使い方をFastAPIを用いて全7回で学んでいこうと思います。 今回はDockerをとりあえずWSL環境上で使えるようにしていきます。 この記事でできること 事前に必要なもの Dockerとは何か?…
こんにちは、たねやつです。 これまでは、docker runコマンドを使って単一のコンテナを起動・管理してきました。しかし、実際のアプリケーションでは、Webサーバー、データベース、キャッシュサーバーなど、複数のコンテナが連携して動作することがほとんど…