SlideShare a Scribd company logo
Kubernetes Cloud Native
Meetup X BukaMeetup
February 2023
Agenda
● Kubernetes Community Update
● Opening Speech from Bukalapak
● Talk #1 by Dewangga Alam @ Bukalapak
● Talk #2 by Nicolas Julian @ Jubelio
● Q&A
● Announcements
Update from
Kubernetes & CloudNative Indonesia
Last Meetup
August 31, 2022
September 24, 2022
Last conference: KCD X IOD Indonesia November 26-27 2022
Last conference: KCD X IOD Indonesia November 26-27 2022
Event Documentation
bit.ly/kcd-x-iod-indonesia-photos
Speakers Talk Playlist
bit.ly/kcd-x-iod-indonesia-playlist
Next Conference: KubeCon | CloudNativeCon Europe 2023
April 18-21, 2023 @ Amsterdam
events.linuxfoundation.org/kubecon-cloudnativecon-europe/
Scholarships
https://events.linuxfoundation.org/kubecon-cloudnativecon-eur
ope/attend/scholarships/
Our Speakers
Buka Meet Up
February 2023
Opening Speech:
Agung Wijayanto
February 2023
Let’s
Join
With Us!
bit.ly/DevOpsBL
K8s Component
Election
Dewangga Alam
Dewangga Alam
Working Experience(s) at Bukalapak
● Senior System Engineer (2018-2020)
● Engineering Manager (2020-Now)
Interest at
● Infrastructure
● Internet Security
● Networking
dewanggaba@xtremenitro.org
t.me/hostmaster
Overview
● Start from early 2010 - Now
● Up to 20 Gbps traffic
● Up to 118 Terabytes traffic per month
● 90% Infrastructure as a Code (IAC)
● 3 different cloud provider(s) (2 Singapore & 1 Indonesia)
Core Components
● Security & Policy
○ Hashicorp Vault
● Traffic Management
○ Ingress Nginx
● Deployment Strategy
○ Terraform
○ Helm
○ Gitlab CI
○ ArgoCD
Security & Policy
Hashicorp Vault
It’s agnostic solution for multi-cloud
deployment. We can deploy variety
workload across cloud provider.
Ref: AWS Secret Manager, Azure Key
Vault
Why Hashicorp Vault?
● Agnostics!
● Allows dynamic secret (ISO 27001 & PCI Standard)
● RBAC Support
● Self-hosted support
Ingress Nginx
Just like other ingress, but we trust in
LUA for runtime changes.
Traffic
Management
Why Ingress Nginx?
● “Official” Kubernetes Ingress
● Nginx fork with LUA Support (extra features can
easily hooked/called)
● Community support (no vendor lock)
● Open sources!
Deployment
Strategy
Terraform
Src: O’reilly
Deployment
Strategy
Terraform (cont)
a This is the number of cookbooks in the Chef Supermarket.
b To avoid false positives for the term “chef”, I searched for “chef engineer”.
c Based on the Puppet Labs JIRA account.
d This is the number of modules in the Puppet Forge.
e To avoid false positives for the term “puppet”, I searched for “puppet engineer”.
f This is the number of reusable roles in Ansible Galaxy.
g This is the number of formulas in the Salt Stack Formulas GitHub account.
h This is the number of templates in the awslabs GitHub account.
i Based on the OpenStack bug tracker.
j I could not find any collections of community Heat templates.
k To avoid false positives for the term “heat”, I searched for “openstack”.
l This is the number of modules in the terraform-community-modules repo.
Src: O’reilly
Why Terraform?
● Agent-less
● Multi-cloud deployment support in a single workflow
● Community support (no vendor lock)
● Open sources!
● Define your goal at the beginning
● Do the PoC(s)
● We prefer leading edge than bleeding edge
● Open Source
How do we choose?
Conclusion
Know your expectations, deliver
it on time, panic nicely.
Thanks!
Our Speakers
Management
confidential data
with Vault and
ArgoCD
Kulo Nicolas Julian
Sekarang bekerja sebagai “Kuli Server” di Jubelio.
Latar belakang, Seorang warga sipil bisa yang
suka ngopi sambil sebats, dan scrolling twitter …
Kulo Sopo ?
28
Mau Ngomongin
Apa ?
Management Secret di Kubernetes dengan bersumber dari Vault di era
GitOps ini ..
1
29
Apa yang bakal didapat dari
talk ini ?
◉ Bagaimana caranya membuat Custom Plugin di
ArgoCD
◉ Kelebihan dan Kekurangan dari setiap Secret
Operator (sependek pengetahuan saya)
◉ Ideal integrasi secret managemen, “Kondisi di
mana semua confidential data ter-sentralisasi di
satu tempat, dapat di-consume oleh semua
deployment, dan dapat di-update dari satu tempat
tersebut” 30
Kemudahan dan
Permasalahan baru yang
dibawa GitOps (Yang saya
hadapi)
Kemudahan
◉ Single Sources of truth.
◉ Make Multi Cluster
deployment ezz.
◉ All your application is
reflected from your
declarative yaml file in
repo.
Permasalahan
◉ (Sometimes) Hard Coded
sensitif value in your repo.
31
32
Bagaimana menghindari
“Hardcoded sensitif value”
Choose your secret management flow
1. Integrate your Kubernetes with ExternalSecretOperator for
pulling secret from your vault.
2. Integrate your ArgoCD with ArgoCD Vault Plugin for pulling
secret from your vault, right before your yaml deployment
applied to Kubernetes Cluster.
3. Both is good too!
ArgoCD
Continuous Delivery dengan
prinsip GitOps. (Pull base)
Apa itu …
Hasci Vault
Sebuah Secrets Management
tools.
33
Secret Operator
◉ External Secret Operator
○ Kubernetes CRD for pulling secret from your vault
◉ ArgoCD Vault Plugin
○ Tools for filling your template yaml with secret value
from vault.
Option 1
External Secret Operator
34
Video Demo ESO
35
Limitasi dari External Secret
Operator
Pros
◉ There’s some schedule
RefreshInterval by design
◉ More mature project also
more wide community
◉ Multiple namespace
management secret by
design
Cons
◉ Only support Kind=Secret
resources
◉ You need to recreate the
clusterexternalsecret if you
wanna add new namespace
36
37
Contoh Resources Selain
Secret Yang Memerlukan
Sensitif Data
https://access.crunchydata.com/documentation/p
ostgres-operator/v5/references/crd/#postgresclust
erspecdatabaseinitsql
To fulfil these kind of resources, we can go to
Option 2
Option 2
ArgoCD (Vault) Plugin
Why use this plugin?
This plugin is aimed at helping to solve the issue of secret management with
GitOps and Argo CD. We wanted to find a simple way to utilize Vault
without having to rely on an operator or custom resource definition. This
plugin can be used not just for secrets but also for deployments,
configMaps or any other Kubernetes resource.
38
Installation ArgoCD Vault
Plugin – Add Backed Vault and
InitContainer
39
Installation ArgoCD Vault
Plugin – Add Cluster Role and
Mount SA-Token
40
Installation ArgoCD Vault
Plugin – Config Plugin
41
https://nicolas.my.id/sebuah-cerita-implementasi-gitops-part-2/
Demo Argocd Vault Plugin
42
Limitasi dari ArgoCD Vault
Plugin
Pros
◉ Handle all resources k8s
◉ ArgoCD Ecosystem
Cons
◉ Required hard refresh the
application, if we want to
pull new values from vault
◉ Required third party tools
like reflector or create multi
application in all wanted
namespace where
resources contain sensitive
data going to deploy
43
Only choose what you need!
Pilih Solusi Sesuai
Kebutuhan, Apabila tidak ada
keperluan konfidensial data di
luar Kind=Secret maka
Externalsecret.io operator
adalah pilihan paling cocok!
44
Any questions ?
You can find me at
◉ nicolas.my.id
◉ me@nicolas.my.id
Thanks!
45
QnA
Photo
Session
Let’s
Join
With Us!
bit.ly/DevOpsBL
bit.ly/BLKubernetes_Feedback
We love to hear your
feedbacks and thoughts
for the event by fill out or
scan the feedback form!
Feedback Form
Thank
You

More Related Content

Similar to Kubernetes & Cloud Native Indonesia X BukaMeetup - Feb 2023

Kubernetes 101 for_penetration_testers_-_null_mumbai
Kubernetes 101 for_penetration_testers_-_null_mumbaiKubernetes 101 for_penetration_testers_-_null_mumbai
Kubernetes 101 for_penetration_testers_-_null_mumbai
n|u - The Open Security Community
 
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
Codemotion
 
Microservices development at scale
Microservices development at scaleMicroservices development at scale
Microservices development at scale
Vishal Banthia
 
Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...
Codemotion
 
NuGet beyond Hello World - DotNext Piter 2017
NuGet beyond Hello World - DotNext Piter 2017NuGet beyond Hello World - DotNext Piter 2017
NuGet beyond Hello World - DotNext Piter 2017
Maarten Balliauw
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Sunnyvale
 
Scalable Clusters On Demand
Scalable Clusters On DemandScalable Clusters On Demand
Scalable Clusters On Demand
Bogdan Kyryliuk
 
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, PuppetPuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
Puppet
 
Enhance Your Kubernetes CI/CD Pipelines With GitLab & Open Source
Enhance Your Kubernetes CI/CD Pipelines With GitLab & Open SourceEnhance Your Kubernetes CI/CD Pipelines With GitLab & Open Source
Enhance Your Kubernetes CI/CD Pipelines With GitLab & Open Source
Nico Meisenzahl
 
GitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdfGitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdf
Weaveworks
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Weaveworks
 
DevSecCon Singapore 2018 - Remove developers’ shameful secrets or simply rem...
DevSecCon Singapore 2018 -  Remove developers’ shameful secrets or simply rem...DevSecCon Singapore 2018 -  Remove developers’ shameful secrets or simply rem...
DevSecCon Singapore 2018 - Remove developers’ shameful secrets or simply rem...
DevSecCon
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
Stanislav Pogrebnyak
 
Heroku to Kubernetes & Gihub to Gitlab success story
Heroku to Kubernetes & Gihub to Gitlab success storyHeroku to Kubernetes & Gihub to Gitlab success story
Heroku to Kubernetes & Gihub to Gitlab success story
Jérémy Wimsingues
 
Building a Kubernetes cluster for a large organisation 101
Building a Kubernetes cluster for a large organisation 101Building a Kubernetes cluster for a large organisation 101
Building a Kubernetes cluster for a large organisation 101
Ed Schouten
 
Free GitOps Workshop
Free GitOps WorkshopFree GitOps Workshop
Free GitOps Workshop
Weaveworks
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
Mario-Leander Reimer
 
A hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stackA hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stack
QAware GmbH
 
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
tdc-globalcode
 
KubeCon 2022 EU Flux Security.pdf
KubeCon 2022 EU Flux Security.pdfKubeCon 2022 EU Flux Security.pdf
KubeCon 2022 EU Flux Security.pdf
Weaveworks
 

Similar to Kubernetes & Cloud Native Indonesia X BukaMeetup - Feb 2023 (20)

Kubernetes 101 for_penetration_testers_-_null_mumbai
Kubernetes 101 for_penetration_testers_-_null_mumbaiKubernetes 101 for_penetration_testers_-_null_mumbai
Kubernetes 101 for_penetration_testers_-_null_mumbai
 
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
Resilient microservices with Kubernetes - Mete Atamel - Codemotion Rome 2017
 
Microservices development at scale
Microservices development at scaleMicroservices development at scale
Microservices development at scale
 
Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...
 
NuGet beyond Hello World - DotNext Piter 2017
NuGet beyond Hello World - DotNext Piter 2017NuGet beyond Hello World - DotNext Piter 2017
NuGet beyond Hello World - DotNext Piter 2017
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
 
Scalable Clusters On Demand
Scalable Clusters On DemandScalable Clusters On Demand
Scalable Clusters On Demand
 
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, PuppetPuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
 
Enhance Your Kubernetes CI/CD Pipelines With GitLab & Open Source
Enhance Your Kubernetes CI/CD Pipelines With GitLab & Open SourceEnhance Your Kubernetes CI/CD Pipelines With GitLab & Open Source
Enhance Your Kubernetes CI/CD Pipelines With GitLab & Open Source
 
GitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdfGitOps Testing in Kubernetes with Flux and Testkube.pdf
GitOps Testing in Kubernetes with Flux and Testkube.pdf
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
 
DevSecCon Singapore 2018 - Remove developers’ shameful secrets or simply rem...
DevSecCon Singapore 2018 -  Remove developers’ shameful secrets or simply rem...DevSecCon Singapore 2018 -  Remove developers’ shameful secrets or simply rem...
DevSecCon Singapore 2018 - Remove developers’ shameful secrets or simply rem...
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Heroku to Kubernetes & Gihub to Gitlab success story
Heroku to Kubernetes & Gihub to Gitlab success storyHeroku to Kubernetes & Gihub to Gitlab success story
Heroku to Kubernetes & Gihub to Gitlab success story
 
Building a Kubernetes cluster for a large organisation 101
Building a Kubernetes cluster for a large organisation 101Building a Kubernetes cluster for a large organisation 101
Building a Kubernetes cluster for a large organisation 101
 
Free GitOps Workshop
Free GitOps WorkshopFree GitOps Workshop
Free GitOps Workshop
 
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
A Hitchhiker’s Guide to the Cloud Native Stack. #CDS17
 
A hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stackA hitchhiker‘s guide to the cloud native stack
A hitchhiker‘s guide to the cloud native stack
 
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
 
KubeCon 2022 EU Flux Security.pdf
KubeCon 2022 EU Flux Security.pdfKubeCon 2022 EU Flux Security.pdf
KubeCon 2022 EU Flux Security.pdf
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 

Kubernetes & Cloud Native Indonesia X BukaMeetup - Feb 2023

  • 1. Kubernetes Cloud Native Meetup X BukaMeetup February 2023
  • 2. Agenda ● Kubernetes Community Update ● Opening Speech from Bukalapak ● Talk #1 by Dewangga Alam @ Bukalapak ● Talk #2 by Nicolas Julian @ Jubelio ● Q&A ● Announcements
  • 3. Update from Kubernetes & CloudNative Indonesia
  • 4. Last Meetup August 31, 2022 September 24, 2022
  • 5. Last conference: KCD X IOD Indonesia November 26-27 2022
  • 6. Last conference: KCD X IOD Indonesia November 26-27 2022 Event Documentation bit.ly/kcd-x-iod-indonesia-photos Speakers Talk Playlist bit.ly/kcd-x-iod-indonesia-playlist
  • 7. Next Conference: KubeCon | CloudNativeCon Europe 2023 April 18-21, 2023 @ Amsterdam events.linuxfoundation.org/kubecon-cloudnativecon-europe/ Scholarships https://events.linuxfoundation.org/kubecon-cloudnativecon-eur ope/attend/scholarships/
  • 13. Dewangga Alam Working Experience(s) at Bukalapak ● Senior System Engineer (2018-2020) ● Engineering Manager (2020-Now) Interest at ● Infrastructure ● Internet Security ● Networking dewanggaba@xtremenitro.org t.me/hostmaster
  • 14. Overview ● Start from early 2010 - Now ● Up to 20 Gbps traffic ● Up to 118 Terabytes traffic per month ● 90% Infrastructure as a Code (IAC) ● 3 different cloud provider(s) (2 Singapore & 1 Indonesia)
  • 15. Core Components ● Security & Policy ○ Hashicorp Vault ● Traffic Management ○ Ingress Nginx ● Deployment Strategy ○ Terraform ○ Helm ○ Gitlab CI ○ ArgoCD
  • 16. Security & Policy Hashicorp Vault It’s agnostic solution for multi-cloud deployment. We can deploy variety workload across cloud provider. Ref: AWS Secret Manager, Azure Key Vault
  • 17. Why Hashicorp Vault? ● Agnostics! ● Allows dynamic secret (ISO 27001 & PCI Standard) ● RBAC Support ● Self-hosted support
  • 18. Ingress Nginx Just like other ingress, but we trust in LUA for runtime changes. Traffic Management
  • 19. Why Ingress Nginx? ● “Official” Kubernetes Ingress ● Nginx fork with LUA Support (extra features can easily hooked/called) ● Community support (no vendor lock) ● Open sources!
  • 21. Deployment Strategy Terraform (cont) a This is the number of cookbooks in the Chef Supermarket. b To avoid false positives for the term “chef”, I searched for “chef engineer”. c Based on the Puppet Labs JIRA account. d This is the number of modules in the Puppet Forge. e To avoid false positives for the term “puppet”, I searched for “puppet engineer”. f This is the number of reusable roles in Ansible Galaxy. g This is the number of formulas in the Salt Stack Formulas GitHub account. h This is the number of templates in the awslabs GitHub account. i Based on the OpenStack bug tracker. j I could not find any collections of community Heat templates. k To avoid false positives for the term “heat”, I searched for “openstack”. l This is the number of modules in the terraform-community-modules repo. Src: O’reilly
  • 22. Why Terraform? ● Agent-less ● Multi-cloud deployment support in a single workflow ● Community support (no vendor lock) ● Open sources!
  • 23. ● Define your goal at the beginning ● Do the PoC(s) ● We prefer leading edge than bleeding edge ● Open Source How do we choose?
  • 24. Conclusion Know your expectations, deliver it on time, panic nicely.
  • 28. Kulo Nicolas Julian Sekarang bekerja sebagai “Kuli Server” di Jubelio. Latar belakang, Seorang warga sipil bisa yang suka ngopi sambil sebats, dan scrolling twitter … Kulo Sopo ? 28
  • 29. Mau Ngomongin Apa ? Management Secret di Kubernetes dengan bersumber dari Vault di era GitOps ini .. 1 29
  • 30. Apa yang bakal didapat dari talk ini ? ◉ Bagaimana caranya membuat Custom Plugin di ArgoCD ◉ Kelebihan dan Kekurangan dari setiap Secret Operator (sependek pengetahuan saya) ◉ Ideal integrasi secret managemen, “Kondisi di mana semua confidential data ter-sentralisasi di satu tempat, dapat di-consume oleh semua deployment, dan dapat di-update dari satu tempat tersebut” 30
  • 31. Kemudahan dan Permasalahan baru yang dibawa GitOps (Yang saya hadapi) Kemudahan ◉ Single Sources of truth. ◉ Make Multi Cluster deployment ezz. ◉ All your application is reflected from your declarative yaml file in repo. Permasalahan ◉ (Sometimes) Hard Coded sensitif value in your repo. 31
  • 32. 32 Bagaimana menghindari “Hardcoded sensitif value” Choose your secret management flow 1. Integrate your Kubernetes with ExternalSecretOperator for pulling secret from your vault. 2. Integrate your ArgoCD with ArgoCD Vault Plugin for pulling secret from your vault, right before your yaml deployment applied to Kubernetes Cluster. 3. Both is good too!
  • 33. ArgoCD Continuous Delivery dengan prinsip GitOps. (Pull base) Apa itu … Hasci Vault Sebuah Secrets Management tools. 33 Secret Operator ◉ External Secret Operator ○ Kubernetes CRD for pulling secret from your vault ◉ ArgoCD Vault Plugin ○ Tools for filling your template yaml with secret value from vault.
  • 36. Limitasi dari External Secret Operator Pros ◉ There’s some schedule RefreshInterval by design ◉ More mature project also more wide community ◉ Multiple namespace management secret by design Cons ◉ Only support Kind=Secret resources ◉ You need to recreate the clusterexternalsecret if you wanna add new namespace 36
  • 37. 37 Contoh Resources Selain Secret Yang Memerlukan Sensitif Data https://access.crunchydata.com/documentation/p ostgres-operator/v5/references/crd/#postgresclust erspecdatabaseinitsql To fulfil these kind of resources, we can go to Option 2
  • 38. Option 2 ArgoCD (Vault) Plugin Why use this plugin? This plugin is aimed at helping to solve the issue of secret management with GitOps and Argo CD. We wanted to find a simple way to utilize Vault without having to rely on an operator or custom resource definition. This plugin can be used not just for secrets but also for deployments, configMaps or any other Kubernetes resource. 38
  • 39. Installation ArgoCD Vault Plugin – Add Backed Vault and InitContainer 39
  • 40. Installation ArgoCD Vault Plugin – Add Cluster Role and Mount SA-Token 40
  • 41. Installation ArgoCD Vault Plugin – Config Plugin 41 https://nicolas.my.id/sebuah-cerita-implementasi-gitops-part-2/
  • 42. Demo Argocd Vault Plugin 42
  • 43. Limitasi dari ArgoCD Vault Plugin Pros ◉ Handle all resources k8s ◉ ArgoCD Ecosystem Cons ◉ Required hard refresh the application, if we want to pull new values from vault ◉ Required third party tools like reflector or create multi application in all wanted namespace where resources contain sensitive data going to deploy 43
  • 44. Only choose what you need! Pilih Solusi Sesuai Kebutuhan, Apabila tidak ada keperluan konfidensial data di luar Kind=Secret maka Externalsecret.io operator adalah pilihan paling cocok! 44
  • 45. Any questions ? You can find me at ◉ nicolas.my.id ◉ me@nicolas.my.id Thanks! 45
  • 46. QnA
  • 49. bit.ly/BLKubernetes_Feedback We love to hear your feedbacks and thoughts for the event by fill out or scan the feedback form! Feedback Form