Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
プロダクションレディ Pods / Production-Ready Pods
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kazuki Suda
December 20, 2017
Technology
2.1k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
プロダクションレディ Pods / Production-Ready Pods
市ヶ谷Geek★Night #16 Kubernetes Christmas! /
https://ichigayageek.connpass.com/event/74057/
Kazuki Suda
December 20, 2017
More Decks by Kazuki Suda
See All by Kazuki Suda
"なるべくスケジューリングしない" を実現する "PreferNoSchedule" taint
superbrothers
0
300
実践/先取り「入門 Kubernetes Validating/Mutating Admission Policy」 / CloudNative Days Winter 2024
superbrothers
0
100
個人的、Kubernetes の最新注目機能! (2024年5月版)
superbrothers
0
190
Kubernetes + containerd で cgroup v2 に移行したら "failed to create fsnotify watcher" エラーが発生する原因と対策
superbrothers
0
1.6k
Kubernetes にこれから入るかもしれない注目機能!(2022年11月版)
superbrothers
2
1.6k
コミュニティ/ 勉強会紹介
superbrothers
0
290
高可用性、省力運用を目指す 自宅 Kubernetes クラスタ (K8s@home #1)
superbrothers
13
6.8k
KubeCon + CloudNativeCon Europe 2022 Recap
superbrothers
0
130
独断と偏見で選んだ Kubernetes 1.24 の注目機能と今後!
superbrothers
2
8.8k
Other Decks in Technology
See All in Technology
AIで選択肢が広がった組織設計の理想と現実
konifar
16
7.7k
アクセラレーターで実現するServiceNow活用の高速化 / ServiceNow World Forum 2026
visional_engineering_and_design
0
130
WireGuard for Apache NuttX - Bringing Secure Remote Access to embedded Devices -
aki310ooooo
0
140
セキュリティ専任チームなしで攻撃を先回りするSREが実践したSIEM on Amazon OpenSearch Service
cscengineer
PRO
0
120
Jev の中身は50行で再現できる。でも本物との差はどこにあるのか
hisuzuya
0
300
Oracle Database Security 詳細解説
oracle4engineer
PRO
1
250
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
700
2拠点SRE活動始めてみた | sogaoh's LT @ ホンマでっかSRE勉強会 #3
sogaoh
PRO
0
240
Technical Project Manager の役割とやりがい、少しだけ AI
yoshiiryo1
0
590
複雑な業務システムを高速でつくるため、チーム全員をつくれる人へ
ayakurabuchi
0
130
re:Inventで、人生は変わったのか? / growth-builders-hub-1-reinvent-2026
mhrtech
2
310
なぜ東京にいる私が、新潟の技術コミュニティを運営するのか by 八雲慎之助
yakumo
0
220
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
500
Agile that works and the tools we love
rasmusluckow
331
22k
My Coaching Mixtape
mlcsv
0
380
Practical Orchestrator
shlominoach
192
12k
Done Done
chrislema
187
17k
Prompt Engineering for Job Search
mfonobong
0
570
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
650
Site-Speed That Sticks
csswizardry
13
1.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
WENDY [Excerpt]
tessaabrams
14
40k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
670
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
390
Transcript
䋐٠靼(FFLӹ/JHIU ,B[VLJ4VEBLTVEB![MBCDPKQ !TVQFSCSPUIFST ϓϩμΫγϣϯϨσΟ Pods
,B[VLJ4VEB!TVQFSCSPUIFST Ӝ اؿزؐؑ،ؒٝآص،!;-BC Ӝ ,VCFSOFUFT.FFUVQ5PLZP⚺⪵
،آؑٝت 1PETהכ⡦ַ فٗتؙءّٖٝر؍1PET
1PETהכ⡦ַ
Ӝ 醱侧ך؝ٝذشה醱侧ךنُٔ٦ي Ӝ رفٗ؎ך剑㼭⽃⡘ Ӝ *1QFS1PE 1PET 1PE Volume 8FCTFSWFS
'JMF1VMMFS
apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: -
name: nginx image: nginx:1.13.7 ports: - containerPort: 80 Ӝ 醱侧ך؝ٝذشה醱侧ךنُٔ٦ي Ӝ رفٗ؎ך剑㼭⽃⡘ Ӝ *1QFS1PE 1PET
1PEٓ؎ؿ؟؎ؙٕ 3VOOJOH 5FSNJOBUJOH 4DIFEVMJOH
فٗتؙءّٖٝر؍1PET
#VJMEJOH $POUBJOFST Ӝ 5IF5XFMWF'BDUPS"QQ Ӝ 㼭ְׁك٦أ؎ً٦آ⢪ֲ Ӝ ♶銲זػح؛٦آ؎ٝأز٦ٕ׃זְ NVMUJTUBHFCVJMET Ӝ
فٗإأ؝ٝذش Ӝ ؚٗכTUEPVU TUEFSSח⳿⸂ׅ
NVMUJTUBHFCVJMET 6TFNVMUJTUBHFCVJMET]%PDLFS%PDVNFOUBUJPO FROM golang:1.7.3 WORKDIR /go/src/github.com/alexellis/href-counter/ RUN go get -d
-v golang.org/x/net/html COPY app.go . RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app . FROM alpine:latest RUN apk --no-cache add ca-certificates WORKDIR /root/ COPY --from=0 /go/src/github.com/alexellis/href-counter/app . CMD ["./app"]
㹋遤ח䗳銲זٔا٦أָ婍גְזְظ٦سחأ؛آُ٦ٕ ׁג׃תֲ Ӝ ؝ٝذشך䗳銲剑⡚ꣲ䗳銲זٔا٦أ䭷㹀ׅ SFTPVSDFSFRVFTUT 4DIFEVMJOH
SFTPVSDFSFRVFTUT Ӝ ؝ٝذشך㹋遤ח䗳銲剑⡚ꣲ䗳銲זٔا٦أ Ӝ أ؛آُ٦ׁٕ؝ٝذشךٔا٦أ銲実ך さ鎘ָظ٦سך㺁ꆀ״㼰זְֿה⥂鏾ׅ apiVersion: v1 kind: Pod
metadata: name: kuard spec: containers: - image: gcr.io/kuar-demo/kuard- name: kuard resources: requests: cpu: "500m" memory: "128Mi" ports: - containerPort: 8080 name: http protocol: TCP
3VOOJOH ظ٦سךٔا٦أ⢪ְⴖג׃תֲ ،فٔ؛٦ءָؙّٝٓحءُ׃ג㔿תג׃תֲ ؙٔؒأز「ֽ彊⪒ָ穄חؙٔؒأزָֹג׃תֲ Ӝ ؝ٝذشךٔا٦أ⢪欽ꆀך♳ꣲ䭷㹀ׅ SFTPVSDFMJNJUT Ӝ ؝ٝذشךقٕأثؑحؙ鏣㹀ׅ -JWFOFTTQSPCF
欰ֹגְַוֲַ 3FBEJOFTTQSPCF 䘔瘶דַֹוֲַ
apiVersion: v1 kind: Pod metadata: name: kuard spec: containers: -
image: gcr.io/kuar-demo/kuar name: kuard resources: requests: cpu: "500m" memory: "128Mi" limits: cpu: "1000m" memory: "256Mi" ports: - containerPort: 8080 name: http protocol: TCP Ӝ ؝ٝذشךٔا٦أ⢪欽ꆀך♳ꣲ䭷㹀ׅ $16♳ꣲ馄ִג⢪欽׃זְ NFNPSZ♳ꣲ馄ִה00.ח״فٗإأָ媷ׁ SFTPVSDFMJNJUT
-JWFOFTTQSPCF Ӝ ؝ٝذشⰻفٗإأך娤崞湊鋔 Ӝ 㣟侁ׅה؝ٝذش䓼ⵖ涸חⱄ饯⹛ׅ name: kuard spec: containers: -
image: gcr.io/kuar-demo/kuard-amd64:1 name: kuard ports: - containerPort: 8080 name: http protocol: TCP livenessProbe: httpGet: path: /healthy port: 8080 initialDelaySeconds: 5 timeoutSeconds: 1 periodSeconds: 10 failureThreshold: 3 readinessProbe: httpGet: path: /ready port: 8080 initialDelaySeconds: 30 timeoutSeconds: 1 periodSeconds: 10 failureThreshold: 3
-JWFOFTTQSPCF Ӝ FYFD؝وٝسך㹋遤 &YJU؝٦سָדIFBMUIZⴻ㹀 Ӝ IUUQ(FU)551(&5ؙٔؒأز أذ٦ةأ؝٦سָ⟃♳劢弫דIFBMUIZⴻ㹀 Ӝ UDQ4PDLFU5$14PDLFU ؝طؙءָّٝ然甧ׅלIFBMUIZⴻ㹀
http.HandleFunc("/healthy", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("OK")) } http.ListenAndServe(":8080", nil)
3FBEJOFTT1SPCF Ӝ ؝ٝذشⰻفٗإأָؙٔؒأزח 䘔瘶דַֹ Ӝ 㣟侁ׅה4FSWJDFT鸐ׄג زٓؿ؍حؙ「⥋׃זְ 6OSFBEZ name: kuard
spec: containers: - image: gcr.io/kuar-demo/kuard-amd64:1 name: kuard ports: - containerPort: 8080 name: http protocol: TCP livenessProbe: httpGet: path: /healthy port: 8080 initialDelaySeconds: 5 timeoutSeconds: 1 periodSeconds: 10 failureThreshold: 3 readinessProbe: httpGet: path: /ready port: 8080 initialDelaySeconds: 30 timeoutSeconds: 1 periodSeconds: 10 failureThreshold: 3
4FSWJDFT Ӝ ⟎䟝*1הه٦ز Ӝ ٓكٕإؙٖةח״ 1PEךؚٕ٦ؾؚٝ Ӝ ؟٦ؽأة؎ف $MVTUFS*1 /PEF1PSU
-PBE#BMBODFS 1PE app web 1PE app web 3FQMJDB4FU 4FSWJDF VIP: 10.0.0.249 Selector: app=web
apiVersion: v1 kind: Service metadata: name: kuard spec: type: ClusterIP
selector: app: kuard ports: - protocol: TCP port: 8080 targetPort: 8080 4FSWJDFT Ӝ ⟎䟝*1הه٦ز Ӝ ٓكٕإؙٖةח״ 1PEךؚٕ٦ؾؚٝ Ӝ ؟٦ؽأة؎ف $MVTUFS*1 /PEF1PSU -PBE#BMBODFS
http.HandleFunc("/ready", func(w http.ResponseWriter, r *http.Request) { message := "" //
Check database if err := db.Ping(); err != nil { message += fmt.Sprintf("database: %s\n", err) } if len(message) > 0 { // Send 503 http.Error(w, message, http.StatusServiceUnavailable) } else { w.Write([]byte("OK")) } }) http.ListenAndServe(":8080", nil)
5FSNJOBUJOH 穄✪⚥חؙٔؒأزָֹגؒٓ٦鵤׃ג׃תֲ Ӝ ؝ٝذش(SBDFGVMTIVUEPXOׇׁ UFSNJOBUJPO(SBDF1FSJPE4FDPOET QSF4UPQؿحؙ4*(5&3.ךعٝسؚٔٝ
apiVersion: apps/v1 kind: Deployment metadata: name: kuard spec: selector: matchLabels:
app: kuard template: metadata: labels: app: kuard spec: terminationGracePeriodSeconds: 60 containers: - image: gcr.io/kuar-demo/kuard-amd64:1 name: kuard ports: - containerPort: 8080 name: http protocol: TCP livenessProbe: UFSNJOBUJPO(SBDF1FSJPE4FDPOET Ӝ 1PE(SBDFGVMח穄✪ׇׁ䗳銲ז猱侧 Ӝ 鏣㹀׃猱侧ָ穗麓ׅה؝ٝذشח4*(,*--ָ鷏⥋ׁ
apiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx name: nginx
spec: selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - image: nginx:1.13.7 name: nginx lifecycle: preStop: exec: command: ["nginx", "-s", "quit"] Ӝ 1PEך穄✪ؿؑ؎ؤך剑ⴱח㹋遤ׁ 0QUJPOBM ـٗحؙ׃זֽלזזְ ず劍 ֿהח岣䠐 Ӝ QSF4UPQؿحؙ㹋遤䖓ח4*(5&3.ָ鷏⥋ׁ QSF4UPQؿحؙ
倜鋉؝طؙءّٝ 䱸竲幥؝طؙءّٝ QSF4UPQⳢ椚 4*(5&3.Ⳣ椚 1PEך穄✪㨣 0QUJPOBM QSF4UPQؿحؙ 4FSWJDFTךة٦حزַ㢩 LVCFQSPYZָJQUBCMFTٕ٦ٕ刿倜׃ծ倜鋉䱸竲ָזֻז
ֿ⟃꣬倜鋉䱸竲כזֻז QSF4UPQؿحַؙ4*(5&3.ד (SBDFGVMחؙٗ٦ؤׅ䗳銲ָ֮ (SBDF1FSJPE4FDPOET䖓 穄✪׃גְזְ㜥さ رؿٕؓز猱 4*(,*-- 4*(5&3. ,VCFSOFUFT鑫鍑1PETך穄✪2JJUB
תה
תה Ӝ #VJMEJOH$POUBJOFST كأزفؙٓذ؍أח䖞ֲ Ӝ 1PE4DIFEVMJOH 䗳銲剑⡚ꣲ䗳銲זٔا٦أ鏣㹀ׅ SFTPVSDFSFRVFTUT Ӝ
1PE3VOOJOH قٕأثؑحؙ鏣㹀ׅ -JWFOFTT3FBEJOFTTQSPCF ٔا٦أ⢪欽ꆀח♳ꣲ鏣㹀ׅ SFTPVSDFMJNJUT Ӝ 1PE5FSNJOBUJOH (SBDFGVMTIVUEPXOׇׁ QSF4UPQؿحؙ4*(5&3.عٝسؚٔٝ
8FˏSF)JSJOH IUUQT[MBCDPKQ ,VCFSOFUFT %PDLFS 1SPNFUIFVT (PMBOH $PSF04
2VFTUJPOT