CodeZine(コードジン)

特集ページ一覧

イラストではじめる「Kubernetesでのアプリケーション開発」~CIOps・GitOpsを活用したクラウドネイティブなCI/CD

イラストではじめるKubernetes 第4回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2022/06/01 11:00

 本連載ではKubernetesの簡単な説明からはじまり、開発者の方にとってKubernetesを利用することで何が嬉しいのか、どのように開発フローが変わっていくのかについて、イラストを交えながら紹介します。この回ではKubernetesでのアプリケーションの開発フローを説明し、仮想マシンやコンテナに比べた利点から、CIOpsやGitOpsによるマニフェストの適用とそれらの違いまで解説します。

目次

従来のアプリケーション開発とコンテナ利用

 これまでKubernetesがアプリケーションの運用にとって便利であることは説明してきましたが、アプリケーション開発者にとってどのように便利になるでしょうか? 今回はKubernetesを利用したアプリケーション開発の流れを説明します。

 仮想マシンを利用したアプリケーションの開発では、必要なアプリケーションや設定ファイルが全て同じ仮想マシン上に配置されているでしょう。ではコンテナを利用して開発する場合はどう変わるのでしょうか。この時コンテナのアプリケーション運用に関して多くの課題がありますが、開発者にとってもたくさんの課題があります。

 運用の環境を仮想マシンからコンテナにするだけではなくさらにマイクロサービス化を行うと、いくつものサービス間でやりとりをすることが増え、それにつれ課題も増えます。もちろん一つのコンテナにいくつものサービスや設定ファイルを全部いれることでこの課題の解決を図る方法はありますが、それでは仮想マシンを利用するのと変わらなくなる点に注意してください(コンテナ化して辛くなっただけ、ということもあり得ます)。

 では、Kubernetesを利用するとコンテナ化したアプリケーションの開発はどう便利になるのでしょうか。

 連載第2回でDeploymentの説明をしたとおり、Deploymentを利用してPodを作成することで無停止でコンテナイメージの更新が行えるようになります。Serviceを利用すると、コンテナイメージの更新によって新規に作成したPodに対して追加変更せずに自動でリクエストを新規作成Podに送ることができます。ConfigMapリソースを作ってconfigファイルを書いてPodに受け渡すことが簡単ですし、configファイルの更新を自動でコンテナに読ませることもできます。このように、コンテナを利用したサービスの開発時に課題となることもKubernetesで解決してくれます。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:イラストではじめるKubernetes

著者プロフィール

  • あおい(アオイ)

     大手メーカーにてソフトウェアエンジニアエンジニアを経て2019年7月サイボウズ株式会社にSREとして入社。 現行インフラ基盤上のアプリケーションを新インフラ基盤(Kubernetes)に移行するプロジェクトが主な仕事です。著書は、「まんがではじめるKubernetes」など。

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5