Kubernetes サーバレス知識ゼロのエンジニアがKnative環境構築してみた
- 2. ■自己紹介
[名前]: 上畑圭史(うえはたけいじ)
[Twitter]: いじけまん(@ijikeman)
[職業]:株式会社ラクスのインフラエンジニア
[趣味1]: 自作キーボード大好き
アクリル板(4mm)にキーの穴(60個)を手であけた
自キー(自作キーボード)界隈ではちょっとした有名人
[趣味2]: ピアノ (コロナを契機に) …
[趣味3]: 野菜作り2年目突入。玉ねぎ100個育成中
[趣味4]: 息子の将棋教室通いを機に家族全員で将棋にはまる
2
- 5. ■Knative Eventingの特徴
イベント検知
PingやRabbitMQ message、Githubのwebhookなど
サードパーティ製を含む様々なイベントを検知することが可能
CNCFが推進しているCloudEvents仕様のHTTPリクエ
ストによるイベント配信
CloudEvents仕様を採用する、CloudEventsに対応したFaas環境への
移植やベンダロックインを回避することができる
Subscription
Subscription
Service
Service
Source
イベント検知
CloudEvents仕様の
リクエスト発行
POST /eventing HTTP/1.0
Host: example.com
Content-Type: application/json
Ce-sspecversion: 1.0
Ce-type: helloworld
Ce-source http://example.com/
Ce-id: 730bef4-c31f-37b6-bwef-errr15ef2
Broker
(Channel)
フィルタA フィルタB
Trigger Trigger
フィルタ条件に応じて
Subscriptionを呼び出す
- 9. ■Knative構築方法
1. knative Cli(kn) + Knative quickstart plugin
Knative Serving, Eventingをデプロイ
2. kubectl + YAML
BrokerやChannel等の種類を選択して構築したい場合
※一部YAMLファイルのリンクが切れているなどドキュメントの更
新が追い付いていないので注意
※とりあえず上から順番にYAMLを流していくが失敗しているのか
成功しているのかわからない
[条件]:
• kindかminikubeを事前にセットアップ済み
• CPU3つ、メモリ3GBのリソースが必要
始めての人はこちらをおススメ