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
PRO
July 25, 2019
Programming
0
420
Infra@LINE
2019/7/25に行われたLINE Developer Meetup #56 in KYOTOでの登壇資料です
https://line.connpass.com/event/139283/
LINE Developers
PRO
July 25, 2019
Tweet
Share
More Decks by LINE Developers
See All by LINE Developers
LINEスタンプのSREing事例集:大きなスパイクアクセスを捌くためのSREing
line_developers
PRO
1
1.4k
Java 21 Overview
line_developers
PRO
6
790
Code Review Challenge: An example of a solution
line_developers
PRO
1
830
KARTEのAPIサーバ化
line_developers
PRO
1
370
著作権とは何か?〜初歩的概念から権利利用法、侵害要件まで
line_developers
PRO
5
1.8k
生成AIと著作権 〜生成AIによって生じる著作権関連の課題と対処
line_developers
PRO
3
1.7k
マイクロサービスにおけるBFFアーキテクチャでのモジュラモノリスの導入
line_developers
PRO
9
2.3k
A/B Testing at LINE NEWS
line_developers
PRO
2
620
LINEのサポートバージョンの考え方
line_developers
PRO
2
780
Other Decks in Programming
See All in Programming
SpringBoot+MyBatisで例外が出たときどこを見るか
syukai
0
110
Doctrine ORMでValue Objectを扱う方法4選 #phpstudy / 4 ways to handle Value Objects with Doctrine ORM
77web
4
110
What We Can Learn From OSS
inouehi
0
400
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
1.2k
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
260
オブジェクト指向のリ・オリエンテーション~歴史を振り返り、AI時代に向きなおる~
hanyudaeiiti
10
5.7k
デザインシステムで Tailwind CSSとCSS in JSに分散投資をしたら良かった話
fsubal
18
4.9k
脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?
har1101
0
300
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
130
Java 22 Overview
kishida
1
170
Rails と人魚の話/rails-and-mermaid
sanfrecce_osaka
0
100
"config" ってなんだ? / What is "config"?
okashoi
0
220
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
258
12k
Statistics for Hackers
jakevdp
789
220k
Code Reviewing Like a Champion
maltzj
513
39k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.4k
Bootstrapping a Software Product
garrettdimon
PRO
301
110k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
KATA
mclloyd
14
12k
We Have a Design System, Now What?
morganepeng
42
6.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
119
39k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
The Invisible Side of Design
smashingmag
294
49k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
13
1.5k
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