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
Infra@LINE
Search
LINE Developers
July 25, 2019
Programming
0
480
Infra@LINE
2019/7/25に行われたLINE Developer Meetup #56 in KYOTOでの登壇資料です
https://line.connpass.com/event/139283/
LINE Developers
July 25, 2019
Tweet
Share
More Decks by LINE Developers
See All by LINE Developers
LINEスタンプのSREing事例集:大きなスパイクアクセスを捌くためのSREing
line_developers
3
2.3k
Java 21 Overview
line_developers
6
1.2k
Code Review Challenge: An example of a solution
line_developers
1
1.4k
KARTEのAPIサーバ化
line_developers
1
550
著作権とは何か?〜初歩的概念から権利利用法、侵害要件まで
line_developers
5
2.2k
生成AIと著作権 〜生成AIによって生じる著作権関連の課題と対処
line_developers
3
2.2k
マイクロサービスにおけるBFFアーキテクチャでのモジュラモノリスの導入
line_developers
9
3.6k
A/B Testing at LINE NEWS
line_developers
3
1k
LINEのサポートバージョンの考え方
line_developers
2
1.3k
Other Decks in Programming
See All in Programming
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
160
AIでLINEスタンプを作ってみた
eycjur
1
230
OSS開発者という働き方
andpad
5
1.7k
Go言語での実装を通して学ぶLLMファインチューニングの仕組み / fukuokago22-llm-peft
monochromegane
0
120
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
120
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
430
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
2
140
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
520
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
210
今から始めるClaude Code入門〜AIコーディングエージェントの歴史と導入〜
nokomoro3
0
110
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
740
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
320
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
1
39
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Automating Front-end Workflow
addyosmani
1370
200k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Designing for humans not robots
tammielis
253
25k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Fireside Chat
paigeccino
39
3.6k
Transcript
2 . 1 1 1 5 1 2 . -1
4 3 1
None
• ,
…
) C • 0 5 C A2 2 • (
. C • 2 C C • ( C • . C C
+ + + + +
-
- // /
- &
- - ,
- 35 4 / 0: 7592 : ) . ,
• 7592 . 2 5. 2 2 07529 • 7592 : 329 ( 2 2 • 7592 2775 2 2 2 07529 • 7592 029 .71:3 . ( 2 2 • 7592 07. .91 :51 E 07 12 1 . 2
None
• • •
•
None
• • •
• • • • • ) /) ) ( )
None
) , , • ( , • • ( •
, • • • • , /-) ( )
$ docker run -ti ¥ ubuntu bash
None
+ /-) ( )
• •
• • • ,
) • ) ( • • • (
None
•
•
/
• •
• • •
◎ ◦ ◦
╳ ╳ △ △ ◦ ) /) ) ( )
- -) - (
$ cat serve.go time.Sleep(5 * time.Second) http.HandleFunc("/", func(w http.ResponseWriter, r
*http.Request) { log.Printf("%s %s %s %s", r.Method, r.URL.String(), r.RemoteAddr, r.UserAgent()) w.Write([]byte(*greeting + "¥n")) })
$ cat Dockerfile FROM golang:1.12-alpine RUN go build serve.go CMD
["./serve", "--listen=:80", "--greeting=Hello, Docker!"] $ docker build --tag $TAG . Successfully built 728b5f3086be Successfully tagged docker- registry.linecorp.com/christopher- pickel/hello-world:latest
$ docker run -rm --name=demo ¥ --publish 127.0.0.1:2080:80/tcp ¥ $TAG
2019/07/25 06:34:41 starting 2019/07/25 06:34:46 listening on :80 2019/07/25 06:34:52 GET / 172.17.0.1:41676 curl/7.54.0 $ curl localhost:2080 Hello, Docker!
$ docker exec -ti demo bash bash-4.4# ps PID USER
TIME COMMAND 1 root 0:00 ./serve --listen=… 12 root 0:00 bash 22 root 0:00 ps bash-4.4# curl localhost Hello, Docker! 2019/07/25 06:36:27 GET / 127.0.0.1:36774 curl/7.64.0
bash-4.4# file ./serve serve: ELF 64-bit LSB executable, x86-64… bash-4.4#
uname Linux bash-4.4# exit $ uname Darwin
$ cat kube.yaml containers: - name: hello image: docker-registry.linecorp.com/ch… args:
["./serve", "--listen=:80", "--greeting=Hello, Kubernetes!"] readinessProbe: httpGet: path: /healthz port: 80
$ kubectl apply -f kube.yaml namespace/demo created deployment.apps/hello created service/hello
created $ curl $(minikube ip):$PORT Hello, Kubernetes! namespace/demo created deployment.apps/hello created service/hello created
$ kubectl logs hello-674f6956d-97kcb 2019/07/23 09:11:34 starting 2019/07/23 09:11:39 listening
on :80 2019/07/23 09:11:44 GET /healthz 172.17.0.1:39214 kube-probe/1.15 2019/07/23 09:11:49 GET /healthz 172.17.0.1:39214 kube-probe/1.15 2019/07/23 09:11:51 GET / 172.17.0.1:63338 curl/7.54.0
$ kubectl edit deployment hello (s/replicas: 1/replicas: 10/) $ kubectl
edit deployment hello (s/Hello, Kubernetes/Hello, Rollouts/) $ kubectl rollout status deployment hello Waiting for deployment "hello" rollout to finish: 9 of 10 updated replicas are available... deployment "hello" successfully rolled out
- -) - (
None