概要
docker-compose
で作った最小構成のアプリケーションを元にKubernetes
にデプロイすることを目的に勉強会を行いました。平日のお仕事が終わったあとの1時間くらいを毎日続けて目的が達成できましたので、レポートとして残しておきます。
本来は一日一記事を投稿予定でしたが、平日のお仕事の都合もあるため、投稿までは即座に断念し後で投稿することにしました。一日ごとに記事として投稿し、このページはまとめページとして記載させていただきます。
目標
- 最小限の構成で
docker-compose
からアプリケーションを作成する -
GitLab
のCI/CD
を使ってみる - テストコードを作りテストする仕組みを
CI/CD
に組み込む -
docker-compose
のイメージからKubernetes
で動作させてみる
なぜ開催したか?
以前に「やりたいことを実現するためのワークショップ」を開催しました。そこで興味あることとして「仮想化」が優先してやりたいことに挙がったため、今回その取っ掛かりになるような勉強会を開催いたしました。
[やりたいことを実現するためのワークショップをやってみた] (https://qiita.com/tamoco/items/04380288190c0c9b31ba)
全日通してできたこと
-
[一日目] (https://qiita.com/tamoco/items/090f70e5825fcb18bb44)
- Node.js(Express)のアプリケーションの作成
- Dockerfileの作成
- docker-compose.ymlの作成
-
[二日目] (https://qiita.com/tamoco/items/829270d149e72f41b8e1)
- GitLabのCI/CD pipelinesによるContainer RegistryへのPush
-
[三日目] (https://qiita.com/tamoco/items/0662162aa3557fbb5478)
- テスト用のコンテナイメージの作成
- CI/CD pipelinesにテストを組み込む
-
[四日目] (https://qiita.com/tamoco/items/d9345b065cc6ca74f0f8)
- Kubernetes
- deployment.ymlの作成
- service.ymlの作成
- Kubernetes
-
[五日目] (https://qiita.com/tamoco/items/2a29427e3aaef736d8a6)
- Kubernetes
- GitLabでDeployTokenの作成
- secretの作成
成果物
全体を通して振り返り
平日の夜間の一時間程度の時間を使って少しずつ理解を深めていきました。もちろんスムーズに行かなかったところもありましたが、ハマったところも含めて勉強になったと思います。
ただ一日一時間だけとはいえ、それなりに目標を達成できたかなと。ちゃんと時間を作ってやることが大切なんだなと思います。
Kubernetes
については、まだまだ理解できていないことも多く、もっと深く学習を深める必要があると感じました。
この勉強会で終わらせずAWS EKS
へのデプロイや、データベースを作成してKubernetes
でpvc
を使ったり、それらをどうやってAWS
のサービスと連携させるのか進めていければと思います。