Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ClusterAPI: A Guide to Get Started
Search
Katie Gamanji
October 26, 2019
Technology
0
29
ClusterAPI: A Guide to Get Started
https://fest19.gdgreading.dev/schedule/2018-10-26?sessionId=81
Katie Gamanji
October 26, 2019
Tweet
Share
More Decks by Katie Gamanji
See All by Katie Gamanji
Level Unlocked: GitOps to the Edge and Infrastructure Provisioning
k_gamanji
1
100
Kubernetes Scalability: Federation and ClusterAPI
k_gamanji
0
54
Kubernetes scalability: Federation & Cluster API
k_gamanji
0
150
Kubernetes scalability: VPA, Federation & Cluster API
k_gamanji
0
98
Pixel - Fintech Hackathon
k_gamanji
0
24
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
260
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
170
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
3
530
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
360
テストを軸にした生き残り術
kworkdev
PRO
0
190
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
280
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
210
S3アクセス制御の設計ポイント
tommy0124
2
180
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
160
BPaaSにおける人と協働する前提のAIエージェント-AWS登壇資料
kentarofujii
0
130
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
210
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Automating Front-end Workflow
addyosmani
1370
200k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Visualization
eitanlees
148
16k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
The Cult of Friendly URLs
andyhume
79
6.6k
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