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
ClusterAPI: A Guide to Get Started
Search
Katie Gamanji
October 26, 2019
Technology
40
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ClusterAPI: A Guide to Get Started
https://fest19.gdgreading.dev/schedule/2018-10-26?sessionId=81
Katie Gamanji
October 26, 2019
More Decks by Katie Gamanji
See All by Katie Gamanji
Level Unlocked: GitOps to the Edge and Infrastructure Provisioning
k_gamanji
1
120
Kubernetes Scalability: Federation and ClusterAPI
k_gamanji
0
63
Kubernetes scalability: Federation & Cluster API
k_gamanji
0
180
Kubernetes scalability: VPA, Federation & Cluster API
k_gamanji
0
110
Pixel - Fintech Hackathon
k_gamanji
0
30
Other Decks in Technology
See All in Technology
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
130
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
280
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
150
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
190
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.3k
re:Invent初参加で変わったこと、2回目にやってみたいこと(JAWS-UG彩の国埼玉 #12)
mhrtech
2
230
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
540
USB PDを使ってスマホを労わりたい
raspython3
0
180
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
770
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
290
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
260
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Designing for Timeless Needs
cassininazir
1
530
Designing Powerful Visuals for Engaging Learning
tmiket
1
610
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
310
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Optimising Largest Contentful Paint
csswizardry
37
4k
Design in an AI World
tapps
1
350
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
WCS-LA-2024
lcolladotor
0
890
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
270
Transcript
None
Katie Gamanji Cloud Platform Engineer Condé Nast @k_gamanji katie-gamanji
ClusterAPI: A Guide to Get Started @k_gamanji katie-gamanji
ClusterAPI ClusterAPI Workflow ClusterAPI Components
Condé Nast has set the benchmark for print and digital
publishing with a heritage of more than 110 years.
None
Markets 11 Websites 62 Unique users 200m Digital readership 1.1bn
None
None
Unique users Unique users Total digital readership 9m 62m 360m
Russia China
None
K8s Bootstrap Tools Kubeadm Kubespray Kops Tectonic
ClusterAPI
ClusterAPI Provision of declarative APIs for cluster creation, configuration, and
management.
ClusterAPI SIG-cluster-lifecycle: • Initial release: April 2019 • API: v1alpha2
ClusterAPI Workflow
1 / 4
Management cluster Target clusters 2 / 4 Controller managers
3 / 4: Controller Managers Infrastructure Providers Bootstrap Providers ClusterAPI
CRDs + +
Management cluster Target clusters 4 / 4 Controller managers
ClusterAPI Components
ClusterAPI - CRDs • Cluster - CIDRs for pods and
services + DNS suffix • Machine - kubelet and control plane versions • MachineSet • MachineDeployment
Cluster Manifest
apiVersion: cluster.x-k8s.io/v1alpha2 kind: Cluster metadata: name: capi-quickstart spec: clusterNetwork: pods:
cidrBlocks: ["192.168.0.0/16"] infrastructureRef: apiVersion: ${API_VERSION} kind: ${PROVIDER_KIND} name: capi-quickstart Cluster Manifest
apiVersion: ${API_VERSION} kind: AWSCluster metadata: name: capi-quickstart spec: region: us-east-1
sshKeyName: default AWS InfrastructureRef
apiVersion: ${API_VERSION} kind: GCPCluster metadata: name: capi-quickstart spec: project: capi-project
region: us-east-1 network: name: capi-network GCP InfrastructureRef
apiVersion: ${API_VERSION} kind: DockerCluster metadata: name: capi-quickstart namespace: default Docker
InfrastructureRef
Machine Manifest
apiVersion: cluster.x-k8s.io/v1alpha2 kind: Machine metadata: [...] spec: version: v1.15.3 bootstrap:
configRef: apiVersion: ${API_VERSION} kind: KubeadmConfig name: capi-controlplane-0 infrastructureRef: apiVersion: ${API_VERSION} kind: ${PROVIDER_KIND} name: capi-controlplane-0 Machine Manifest
apiVersion: ${API_VERSION} kind: KubeadmConfig metadata: name: capi-controlplane-0 spec: initConfiguration: nodeRegistration:
name: ${HOSTNAME} kubeletExtraArgs: cloud-provider: aws clusterConfiguration: apiServer: extraArgs: cloud-provider: aws controllerManager: extraArgs: cloud-provider: aws AWS Boostrap Config
apiVersion: ${API_VERSION} kind: AWSMachine metadata: name: capi-controlplane-0 spec: instanceType: t3.large
iamInstanceProfile: "capi-iam" sshKeyName: default AWS InfrastructureRef
ClusterAPI DEMO https://asciinema.org/a/DaMKYCSaHWu qFq1l4pEAZMKsR
Building blocks Cloud agnostic Experimental Takeaways
ClusterAPI ClusterAPI Workflow ClusterAPI Components
References • ClusterAPI book https://cluster-api.sigs.k8s.io • ClusterAPI — A Guide
on How to Get Started https://link.medium.com/8BL8xIpP20
https://www.condenast.com/careers @k_gamanji katie-gamanji
None