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
Start a fullnode on GKE in <2 min - Alexander P...
Search
GoDays
January 30, 2019
Technology
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Start a fullnode on GKE in <2 min - Alexander Peters, IOV
Start a fullnode on GKE in <2 min - Alexander Peters, IOV
GoDays
January 30, 2019
More Decks by GoDays
See All by GoDays
Standing on the shoulders of giants - Tomasz Janiszewski - D2IQ
godays
1
170
How to instrument Go code in 2020 - Björn Rabenstein - Grafana Labs
godays
1
300
12 Factor CLI Apps with Cobra - Markus Zimmermann - cosee
godays
0
460
Integration and end-to-end testing with TestContainers-Go - Nikolay Kuznetsov & Erdem Toraman - Zalando
godays
1
1.2k
Fun with Functions - Frank Müller - Loodse
godays
0
160
Amazon SNS/SQS with Go - Paul Borlin - Compassion International
godays
1
360
Writing a language parser in 15min (or less) - Xavier Coulon - Red Hat
godays
0
160
A story about distributed computing before the cloud arrived - Rogier Lommers - bol.com
godays
0
150
Serverless Ops – Bye-bye Bash, Hello Go! - Rob Sutter - Amazon
godays
0
120
Other Decks in Technology
See All in Technology
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
120
国際カードブランドルール変更に伴うクレジットカード決済取引仕様変更について
k1style
0
130
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
1
220
freeeにおける AI を用いた ブラウザ動作確認の自動化の取り組み
freee
PRO
0
110
Optunaの最新リリースv5.0について
pfn
PRO
0
130
ポケモン対戦を自動で記録して振り返ろう
fufufukakaka
0
180
AI駆動開発における開発環境のセキュリティの考え方
yamahiro
0
200
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
170
【データ横丁主催】AI エージェント時代のTranslytical Data Platform
shisyu_gaku
0
200
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
170
野蛮なアジャイル [サイボウズ発!]組織の常識を覆した反骨のスクラム実践記 / Barbaric Agile - Enterprise Agile Study Group
ama_ch
0
120
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
150
Featured
See All Featured
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
We Have a Design System, Now What?
morganepeng
55
8.4k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
WENDY [Excerpt]
tessaabrams
14
40k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Thoughts on Productivity
jonyablonski
76
5.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Crafting Experiences
bethany
1
390
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Transcript
Start a full node on GKE in <2 min 2019
- Alexander Peters
About Me Alexander Peters Backend lead at IOV.one Go, K8s,
DevOps and Security
Architecture V S S iNet S L B
Architecture V S S iNet S L B
Containers
Minimal Container Images • Scratch Image • Alpine Linux when
OS required https://alpinelinux.org • Distroless base images https://github.com/GoogleContainerTools/distroless
State
State transfer • VolumeSnapshot Controller • VolumeSnapshot Provisioner > Disk
snapshots #FTW https://github.com/kubernetes-incubator/external-storage
Best height? F F F F F C
Take snapshot F F F C V
CRDs: VolumeSnapshots + Data > kubectl get volumesnapshots NAME AGE
godays-snap-1548763215780962127 17m godays-snap-1548763506627916883 12m godays-snap-1548763807378144367 7m apiVersion: volumesnapshot.external-storage.k8s.io/v1 kind: VolumeSnapshotData spec: gcePersistentDisk: snapshotId: pvc-d92e9529-2033-11e9-8eb6-42010a8400241548763507112695918
Let’s use it!
VolumeSnapshot Provisioning kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: snapshot-promoter provisioner:
volumesnapshot.external-storage.k8s.io/snapshot-promoter reclaimPolicy: Delete volumeBindingMode: Immediate parameters: type: pd-ssd https://github.com/kubernetes-incubator/external-storage/blob/master/snapshot/doc/user-guide.md
Sentry - Full Node Config apiVersion: apps/v1 kind: StatefulSet spec:
... volumeClaimTemplates: spec: storageClassName: snapshot-promoter selector: matchLabels: group: "godays" matchExpressions: - {key: approved, operator: Exists}
Not a live demo
PVC - Provisioning > kubectl get pvc -w ... godays-fullnode-xrpc-0
Pending snapshot-promoter 19s godays-fullnode-xrpc-0 Pending snapshot-promoter 22s godays-fullnode-xrpc-0 Pending snapshot-promoter 24s godays-fullnode-xrpc-0 Pending snapshot-promoter 26s godays-fullnode-xrpc-0 Pending snapshot-promoter 28s godays-fullnode-xrpc-0 Pending snapshot-promoter 30s godays-fullnode-xrpc-0 Pending snapshot-promoter 32s godays-fullnode-xrpc-0 Pending pvc-23c64f9c-2308-11e9-8eb6-42010a840024 0 snapshot-promoter 34s godays-fullnode-xrpc-0 Bound pvc-23c64f9c-2308-11e9-8eb6-42010a840024 33Gi RWO snapshot-promoter 34s godays-fullnode-xrpc-0 Bound pvc-23c64f9c-2308-11e9-8eb6-42010a840024 33Gi RWO snapshot-promoter 34s
Pod - Deployment > kubectl get pods -w godays-fullnode-xrpc-0 0/3
Pending 0 0s godays-fullnode-xrpc-0 0/3 Pending 0 34s godays-fullnode-xrpc-0 0/3 Init:0/2 0 34s godays-fullnode-xrpc-0 0/3 Init:0/2 0 44s godays-fullnode-xrpc-0 0/3 Init:1/2 0 45s godays-fullnode-xrpc-0 0/3 PodInitializing 0 46s godays-fullnode-xrpc-0 2/3 Running 0 47s godays-fullnode-xrpc-0 3/3 Running 0 59s
• Rolling snapshots *) • PVC not deleted • Data
integrity issues • Security concerns • High frequency Problems *) https://github.com/kubernetes-incubator/external-storage/issues/875
Summary • All good now! • Fast startup time <
2min • Works well with Horizontal Pod Autoscaler • Kubernetes v1.12 as an alpha feature
Thanks!
Bonus: Merkle tree https://en.wikipedia.org/wiki/Merkle_tree
Bonus: Working With Scratch Image • Go static compilation •
COPY ca-bundle.pem /etc/ssl/certs/ca-certificates.crt https://curl.haxx.se/docs/caextract.html • ENV ZONEINFO /zoneinfo.zip COPY zoneinfo.zip / In $GOROOT/lib/time/zoneinfo.zip https://golang.org/pkg/time/#LoadLocation