OpenFaaSのWorkShopでKubernetesに入門した
Oct 10, 2021 23:58 · 1677 words · 4 minute read
近々OpenFaaSを使う機会がありそうです。
「まずは手始めに」ということで、OpenFaaS公式のワークショップを始めてみましたが、序盤から使ったことのないツールがたくさん出てきました。
あやふやな知識のまま先に進むと後で困りそうなので、知らなかった内容の振り返りをしておきます。
目次
- OpenFaaSとは
- OpenFaaSの公式ワークショップ
- Docker Swarm
- Docker SwarmとKubernetes
- K3s: Lightweight Kubernetes
- minikube
- 最後に
OpenFaaSとは
Kubernetes上でFaaS環境を構築することができます。
以前はDocker Swarmもサポートしていましたが、2021年10月現在はKubernetesのみのサポートとなっているようです。
FaaSの使い勝手は各ベンダによって微妙に異なります。
OpenFaaSを使うことで、Kubernetesさえ動けばどのベンダのサービスでも同じFaaS環境を使うことができます。
その反面、Kubernetesを常時使っている状態になるので、FaaSを使うコストメリットは失われます。
参考URL
OpenFaaSの公式ワークショップ
OpenFaaSには公式ワークショップがあります。
日本語版もありますが、日本語版は2018年3月頃で更新が止まっていました。
日本語版ではDocker Swarmを使った内容になっていますが、2021年10月現在のOpenFaaSはDocker Swarmをサポートしていません。
そのため、これからワークショップをする場合は英語版を見ながら進めるのが良いと思います。
参考URL
- workshop/translations/ja at master · openfaas/workshop · GitHub
- FaaS フレームワーク「OpenFaaS」を実践的に学べる公式ワークショップ - kakakakakku blog (hatenablog.com)
- GitHub - openfaas/workshop: Learn Serverless for Kubernetes with OpenFaaS
Docker Swarm
Docker社が提供するオーケストレーションツール。
日本語版のワークショップではKubernetesではなくDocker Swarmを採用していました。
参考URL
Docker SwarmとKubernetes
Docker Swarmもオーケストレーションツールということは、Kubernetesとの違いが気になるところです。
いくつかの記事を読みましたが、内容をまとめると、
- Kubernetesの方が複雑なとこができて高機能
- 対してSwarmはシンプル
- 以前はSwarmはDocker公式サポートであることが強みだったが、KubernetesもDocker公式に取り込まれた
- KubernetesはElasticSearch/Kibanaのようなサードパーティのモニタリングツールの統合もサポートしている。
- KubernetesはDocker Swarmよりも大規模な運用環境を想定して作られている。
という違いがあるようです。
参考URL
- [和訳]Docker SwarmとKubernetesの比較 #docker - クリエーションライン株式会社 (creationline.com)
- Kubernetes と Docker の比較 | Microsoft Azure
- DockerとKubernetesの違いは何ですか? (freexbcodes.com)
- ああdocker swarm,俺はkubernetesに行くよ - PartyIX (hatenablog.com)
- Kubernetes vs Docker Swarm: Comparing Container Orchestration Tools – BMC Software | Blogs
K3s: Lightweight Kubernetes
Kubernetesの軽量ディストリビューション。
IoTやエッジコンピューティング環境でKubernetesを動作させるために軽量化されています。
Raspberry Pi などARMの環境でも動作します。
ワーショップの中で、ローカルでKubernetesを動作させるツールとしてK3sとminikubeが紹介されていました。
参考URL
- K3s: Lightweight Kubernetes
- Rancher Docs: K3s - Lightweight Kubernetes
- Rancher Docs: Architecture
- k3sを知る、動かす、感じる | フューチャー技術ブログ (future-architect.github.io)
minikube
ローカルでKubernetesを実行するためのツール。
開発や検証用のKubernetes環境を構築することが目的。
参考URL
- Minikubeを使用してローカル環境でKubernetesを動かす | Kubernetes
- コンセプト | Kubernetes
- 簡単にローカルKubernetes環境を構築できるツール「Minikube」 | さくらのナレッジ (sakura.ad.jp)
最後に
Kubernetes周りについて前提知識が不足していたので、まずは足場固めをしました。
引き続き公式のワークショップを進めていきます。
- ChatGPT、Bing AI Chat、Notion AI、Google Bardのデータ利用ポリシーを調べた
- ChatGPTにChrome拡張を作ってもらった
- H3ロケットとだいち3号打ち上げ直前予習会に参加した
- 2023年2月の振り返りと2023年3月の目標
- 電動キックボードでMaaS(Mobility as a Service)を体験した
- Herokuの移行先候補「Render」を試した
- Web Framework「Astro」を触ってみた
- 2023年1月の振り返りと2023年2月の目標
- NVDとCPEを使って脆弱性を検索する
- SBOM(ソフトウェアの構成管理表)やツールについてのまとめ