Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kubernetes with Laravel
Search
Bobby Bouwmann
December 11, 2019
Programming
0
340
Kubernetes with Laravel
Bobby Bouwmann
December 11, 2019
Tweet
Share
More Decks by Bobby Bouwmann
See All by Bobby Bouwmann
Routing Laravel
bobbybouwmann
1
370
Laravel Design Patterns 2.0
bobbybouwmann
2
3.8k
Introducing Laravel Dusk
bobbybouwmann
2
170
Other Decks in Programming
See All in Programming
AI時代に学習する意味はあるのか?
tomoyakamaji
0
100
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
4
1.5k
Namespace and Its Future
tagomoris
6
670
フロントエンドのmonorepo化と責務分離のリアーキテクト
kajitack
2
150
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
390
マイコンでもRustのtestがしたい その2/KernelVM Tokyo 18
tnishinaga
2
2.4k
Go言語での実装を通して学ぶLLMファインチューニングの仕組み / fukuokago22-llm-peft
monochromegane
0
110
旅行プランAIエージェント開発の裏側
ippo012
1
570
Rancher と Terraform
fufuhu
2
170
未来を拓くAI技術〜エージェント開発とAI駆動開発〜
leveragestech
2
200
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
0
220
サーバーサイドのビルド時間87倍高速化
plaidtech
PRO
0
680
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
339
57k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
How STYLIGHT went responsive
nonsquared
100
5.8k
Side Projects
sachag
455
43k
Thoughts on Productivity
jonyablonski
69
4.8k
How GitHub (no longer) Works
holman
315
140k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Transcript
Kubernetes with Laravel Kubernetes with Laravel
@bobbybouwmann Kubernetes with Laravel
Kubernetes with Laravel
Kubernetes with Laravel
Agenda • What is kubernetes • Laravel with Kubernetes •
Kubernetes vs Larvel Vapor Kubernetes with Laravel
What is kubernetes? • Orchestra*on pla0orm for containers • Is
compatable with Docker • Manages deployments and scaling Kubernetes with Laravel
Kubernetes with Laravel
kubectl get pods -o wide NAME READY STATUS AGE IP
NODE horizon-794474c567-5mxwm 1/1 Running 8d 172.31.17.141 server01.eu-central-1 app-57c65f4d5b-9jbjc 1/1 Running 8d 172.31.21.72 server01.eu-central-1 app-57c65f4d5b-hlz25 1/1 Running 8d 172.31.9.186 server02.eu-central-1 app-57c65f4d5b-tzbb8 1/1 Running 8d 172.31.26.106 server02.eu-central-1 Kubernetes with Laravel
NAME READY STATUS RESTARTS AGE app-594f6cfd8b-gl84s 1/1 Running 0 3d
app-594f6cfd8b-8623b 1/1 Running 0 3d Kubernetes with Laravel
kubectl apply -f docker/kube/prod.yml NAME READY STATUS RESTARTS AGE app-vb345b238p-4mnz7
0/1 Terminating 0 3d app-vb345b238p-8623b 1/1 Running 0 3d app-7764bd5f8d-k2k55 0/1 Init:0/1 0 7s Kubernetes with Laravel
NAME READY STATUS RESTARTS AGE app-594f6cfd8b-gl84s 1/1 Running 0 3d
app-7764bd5f8d-k2k55 0/1 Init:0/1 0 7s Kubernetes with Laravel
NAME READY STATUS RESTARTS AGE app-7764bd5f8d-k2k55 1/1 Running 0 27s
app-7764bd5f8d-39dd7 1/1 Running 0 3s Kubernetes with Laravel
NAME READY STATUS RESTARTS AGE app-7764bd5f8d-gl84s 1/1 Running 0 3d
app-59b6f55476-nx65z 0/1 CrashLoopBackOff 4 35s Kubernetes with Laravel
NAME READY STATUS RESTARTS AGE cron-594f6cfd8b-5j46r 0/1 ContainerCreating 0 1s
app-7764bd5f8d-gl84s 1/1 Running 0 2d app-7764bd5f8d-j234j 1/1 Running 0 2d Kubernetes with Laravel
NAME READY STATUS RESTARTS AGE cron-594f6cfd8b-5j46r 0/1 Completed 0 12s
app-7764bd5f8d-gl84s 1/1 Running 0 2d app-7764bd5f8d-j234j 1/1 Running 0 2d Kubernetes with Laravel
Laravel with Kubernetes Kubernetes with Laravel
Storage • Database • Storage • Logging • Excep3on Logging
• Sessions • Queues Kubernetes with Laravel
Database // .env DB_CONNECTION=mysql DB_HOST=prod.hbwehrkblh.eu-central-1.rds.amazonaws.com DB_PORT=3306 DB_DATABASE=app DB_USERNAME=app DB_PASSWORD=123KDjh1233DH*(gh2{34jk]h23\h4) Kubernetes
with Laravel
Storage // config/filesystems.php 'disks' => [ 's3' => [ 'driver'
=> 's3', 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION'), 'bucket' => env('AWS_BUCKET'), 'url' => env('AWS_URL'), ], ], Kubernetes with Laravel
Logging // config/logging.php 'channnels' => [ 'papertrail' => [ 'driver'
=> 'monolog', 'level' => 'debug', 'handler' => SyslogUdpHandler::class, 'handler_with' => [ 'host' => env('PAPERTRAIL_URL'), 'port' => env('PAPERTRAIL_PORT'), ], ], ], Kubernetes with Laravel
// config/logging.php 'channels' => [ 'stderr' => [ 'driver' =>
'monolog', 'handler' => StreamHandler::class, 'formatter' => env('LOG_STDERR_FORMATTER'), 'with' => [ 'stream' => 'php://stderr', ], ], ], Kubernetes with Laravel
Excep&on logging // config/logging.php [ 'default' => env('LOG_CHANNEL', 'stack'), 'channels'
=> [ 'stack' => [ 'driver' => 'stack', 'channels' => ['daily', 'flare'], 'ignore_exceptions' => false, ], ], ] Kubernetes with Laravel
Kubernetes with Laravel
Excep&on logging // .env SENTRY_LARAVEL_DSN=https://
[email protected]
/8499832 Kubernetes with Laravel
Kubernetes with Laravel
Sessions // .env SESSION_DRIVER=database SESSION_LIFETIME=120 Kubernetes with Laravel
Queues QUEUE_CONNECTION=sync REDIS_HOST=redis REDIS_PASSWORD=null REDIS_PORT=6379 Kubernetes with Laravel
Queues QUEUE_CONNECTION=sync REDIS_HOST=redis REDIS_PASSWORD=null REDIS_PORT=6379 Kubernetes with Laravel
Kubernetes with Laravel
Golden rules • Persistent storage is always external • Container
monitoring • Keep containers small Kubernetes with Laravel
Kubernetes vs Laravel Vapor Kubernetes with Laravel
Kubernetes with Laravel
Kubernetes with Laravel
h"p:/ /bit.ly/laravel-giveaway Kubernetes with Laravel
Kubernetes with Laravel - Any ques*ons? - Kubernetes with Laravel