Kubernetes Cloud Native Indonesia Meetup - June 2024

PrastaMaha 407 views 77 slides Jun 27, 2024
Slide 1
Slide 1 of 77
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77

About This Presentation

Kubernetes Cloud Native Indonesia Meetup - June 2024


Slide Content

Kubernetes Cloud Native
Meetup June 2024

Agenda
●Kubernetes Community Update
●Talk #1 by Samir H., Training Manager @ Upcloud
●Talk #2 by Nicolas Julian, Performance engineer @
Jubelio
●Talk #3 by Irwan Shofwan, Cloud native enthusiast
●Q&A
●Photo Session

Update from
Kubernetes & Cloud Native Indonesia

Kubernetes Community Days
Indonesia 2024

CFP, April 2024 ~ 2025

https://events.linuxfoundation.org/about/calendar/

Speakers

Talk #1

UpCloud Kubernetes Service (UKS)
Samir Haliru
Training Manager

About me: Samir Haliru
●Joined UpCloud Support team 5 years ago.
●Technical training for new and existing
members of the Support team
●Used to work and live in Jakarta

UpCloud: Who We
Are
UpCloud is a leading European cloud service provider
with a global cloud platform spanning four continents.
We offer a reliable, GDPR-compliant cloud-native
product portfolio available from 13 different data
centres.
●10 000+ customers
●13 data centres globally
●24/7 customer service
upcloud.com

Today’s agenda
➔ A quick Introduction to Kubernetes
➔ UpCloud Kubernetes Service (UKS)
➔ Short demo

What is
Kubernetes?

What is Kubernetes?
●Open-source container orchestration platform.
●Developed by Google and now maintained by the Cloud
Native Computing Foundation (CNCF).
●Its primary purpose is to automate the deployment, scaling,
and management of containerised applications.

Benefits of Kubernetes?
●Automation
●Scalability
●Efficiency

UpCloud
Kubernetes Service
(UKS).

UpCloud Kubernetes
Service (UKS)
UKS is a fully serviced container orchestration system provided by
UpCloud. It easily automates the deployment, scaling and
management of container workloads.
UpCloud’s Managed Kubernetes is a part of CNCF’s Certified
Kubernetes Conformance Program.

UKS architecture

Some features of UKS

●Simplified cluster creation and management
●Intuitive dashboard and management tools
●Built-in support for high availability
●Compatibility with various tools

UKS demo.

Documentation available at
https://upcloud.com/docs/

Special promo code for event attendees
CNCFJKT0624
Tutorials and
documentation
Free trial and starting
credits
How to get started

Thank you.

Talk #2

Observe
Performance in
Kubernetes

Nicolas Julian
Sekarang bekerja sebagai “Kuli Server” di
Jubelio.
Latar belakang, Seorang warga sipil bisa yang
suka ngopi sambil sebats,…
Who ?
24

◉You know your k8s cluster doing better.
◉Gain performance win.
◉More hate work of ministry of telecommunication.
What will you know by this
talk
25

26
What does observe on mean? a. : to watch
carefully especially with attention to details or
behavior for the purpose of arriving at a judgment.

How to Observe (in k8s)
27
Kube components
○Kiali
○kubernetes/kube-state-metrics
○Kubernetes Dashboard, etc…
Apps inside k8s
○Datadog
○NewRelic
○APM by Elastic
○Otel, etc…

Common Observe Performance Problem
28

●Manual instrumentation not sometimes not covering blindspot
●High CPUs
●Network Overhead sending data to centralize Performance Monitoring

Blind Spot
●Kubernetes service
communication is based
on alot of network
instrumentation, that
create new blind spot for
performance. With e-bpf
agent siting in the kernel
watch every event, all
events is traceable.
Resources
●In term of resources,
eBPF is very lightweight
compare to others.
Why e-BPF Agent?
29

What ebpf agent suite our need (Jubelio)
30
●OpenSources.
●75% our traffic is egress.
●Need to trace the TLS Encrypted outgoing
http packet.
●Low footprint cpu/memory.
●Low overhead network traffic.
●Auto-Instrumentation.

As Far I Know
31
●https://github.com/inspektor-gadget/ (Debuging)

●https://github.com/pixie-io/pixie (GUI)

Inspektor-gadget
32

Pixie
33

How we utilise the tools so far – Debug not efficient resolving DNS
mechanism

34
Resolve with
small changes in
/etc/resolve.conf

Update Value
ndots:1

Speed up 10x
better.

How we utilise the tools so far – Trace the restransmit traffic that going
out of our cluster
35
Make sure with
your Cloud
Provider.

If this is can be
resolve. Latency
to that will DST
will much be
better.

How we utilise the tools so far – Trace our server that blocked from ISP
in indonesia by Goverment

36

How we utilise the tools so far – Get the Slow to Postgres queries

37

How we utilise the tools so far – Get the stat Redis queries

38

How we utilise the tools so far – Get the stat Redis queries

39

How we utilise the tools so far – Discovering something that we never
know it was exist

40
blanja.com is not
even exist
anymore.

Check your cluster!
41
kubectl gadget trace tcpdrop
kubectl trace dns|grep Non-Existen
kubectl trace tcpretrans

“It shouldn't hurt your cluster” i guess

Or try to visualize with Pixie
42
The red
dots that
mean
success
rates is
under~
50%

Or try to visualize with Pixie and get better latency each of your call
43
The red
line that
mean
success
rates is
~50%

Fun to watch eBPF Documentary
44

Any questions ?

You can find me at
●nicolas.my.id
[email protected]
Thanks!
45

Talk #3

etcd and It’s super power
Irwan Shofwan

Agenda
●What is etcd?
●Superpower #1 Raft!
●Superpower #2 High Availability
●Superpower #3 Extensible
●What’s Next?

What is etcd?

What is etcd?
●etcd adalah key-value store
terdistribusi yang andal untuk
menyimpan data yang sangat
penting untuk suatu sistem
terdistribusi.
●etcd merupakan akronim dari etc
dan distributed
Source: https://github.com/etcd-io/etcd

What is etcd?
●etcd dikembangkan oleh Core OS untuk menangani concurrency control pada
upgrade sistem operasi
●etcd terinspirasi dari Apache Zookeeper dan Doozer
●etcd mulai digunakan kubernetes dari awal perkembangannya (v 0.4).
●etcd support digunakan dibanyak project lain seperti dapr, flannel, k3s, dll

What is etcd?
http://www.uml.org.cn/yunjisuan/202205174.asp

What is etcd?

Feature comparison
etcd Zookeeper Consul New Sql (Spanner,
CockroachDB, TiDB)
Concurrency Yes Not by default Yes Rare if any
Linearizable ReadsYes No Yes Sometimes
Multi-version
Concurrency
Control
Yes No No Sometimes
User permissionsRole Based ACL ACL Varies
Maximum reliable
database size
Several gigabytesHundreds of mb
(sometimes
several gb)
Hundreds of MBsTerabytes+

Superpower #1:
Raft

What is Raft?
●Raft merupakan suatu konsensus ataupun pendekatan yang digunakan oleh
etcd untuk memastikan data yang disimpan konsisten.
●Raft menggunakan pendekatan dengan memilih leader sebagai pengatur
replikasi dan request dari pengguna.
●Raft akan memastikan server lainnya (follower) menulis data yang sama
sebelum menulis miliknya sendiri

What is Raft?

What is Raft?

What is Raft?
In Search of an Understandable Consensus Algorithm (Extended Version), Diego Ongaro and John Ousterhout Stanford University

Why Raft?
●Raft memiliki performa
lebih baik daripada
paxos.
●Raft lebih mudah
dipahami.
https://www.semanticscholar.org/reader/31c45b6647429d5770093fc8cb90f18eafba2083
https://arxiv.org/abs/1911.01231

Why Raft?

https://www.semanticscholar.org/reader/31c45b6647429d5770093fc8cb90f18eafba2083

So, all distributed system use Raft then?
●Paxos
●Multi Paxos
●ZAB
●etc
https://www.researchgate.net/publication/224248727_Zab_High-performance_broadcast_for_primary-backup_systems
https://research.google.com/archive/chubby-osdi06.pdf

So, all distributed system use Raft then?
http://muratbuffalo.blogspot.com/2015/10/consensus-in-wild.html

Superpower #2:
High Availability

How etcd achieve High Availability?
●Raft!!!
●Node etcd akan melakukan leader election jika pada batas waktu tertentu
node follower tidak mendapatkan heartbeat dari leader.
●Node follower akan menjadi node candidate dan akan terpilih menjadi node
leader jika mendapatkan mayoritas vote

How etcd achieve High Availability?

Superpower #3:
Extensible

How etcd works?
KubeCon EU 2024: Unleash the Power of etcd: What Can an E[Xtensible]-etcd Bring? - Siyuan Zhang & Bogdan Kanivets

Etcd challenge
●Etcd dapat mengelola beberapa gigabyte
●Kebutuhan AI/ML membutuhkan data yang besar
KubeCon EU 2024: Unleash the Power of etcd: What Can an E[Xtensible]-etcd Bring? - Siyuan Zhang & Bogdan Kanivets

e-Etcd propose design
badger
sqlite
KubeCon EU 2024: Unleash the Power of etcd: What Can an E[Xtensible]-etcd Bring? - Siyuan Zhang & Bogdan Kanivets

What’s next?

What’s next?
●etcd sebagai opsi pilihan untuk pengembangan sistem terdistribusi
●Kustomisasi pada etcd sesuai kebutuhan dari use case kita
●Menggunakan beberapa bagian dari etcd untuk kebutuhan sistem distribusi
●Utilize other etcd superpower RBAC, MVCC, etc
Unleash the Power of etcd: What Can an E[Xtensible]-etcd Bring? - Siyuan Zhang & Bogdan Kanivets

Thank you

QnA

https://bit.ly/2024_June_Feedback_
CNCFID
We love to hear your
feedbacks and thoughts
for the event by fill out or
scan the feedback form!
Feedback Form

Photo
Session

Thank
You