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
28
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
99
Kubernetes Scalability: Federation and ClusterAPI
k_gamanji
0
52
Kubernetes scalability: Federation & Cluster API
k_gamanji
0
130
Kubernetes scalability: VPA, Federation & Cluster API
k_gamanji
0
97
Pixel - Fintech Hackathon
k_gamanji
0
19
Other Decks in Technology
See All in Technology
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1k
明日からできる!技術的負債の返済を加速するための実践ガイド~『ホットペッパービューティー』の事例をもとに~
recruitengineers
PRO
3
100
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
5.8k
スクラムのイテレーションを導入してチームの雰囲気がより良くなった話
eccyun
0
110
自動テストの世界に、この5年間で起きたこと
autifyhq
10
7.1k
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
730
アジャイル開発とスクラム
araihara
0
160
AndroidデバイスにFTPサーバを建立する
e10dokup
0
240
High Performance PHP
cmuench
0
140
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.5k
WAF に頼りすぎない AWS WAF 運用術 meguro sec #1
izzii
0
460
10分で紹介するAmazon Bedrock利用時のセキュリティ対策 / 10-minutes introduction to security measures when using Amazon Bedrock
hideakiaoyagi
0
170
Featured
See All Featured
Scaling GitHub
holman
459
140k
Site-Speed That Sticks
csswizardry
3
370
A Modern Web Designer's Workflow
chriscoyier
693
190k
Why Our Code Smells
bkeepers
PRO
335
57k
It's Worth the Effort
3n
184
28k
Six Lessons from altMBA
skipperchong
27
3.6k
Building an army of robots
kneath
302
45k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Code Review Best Practice
trishagee
66
17k
The Language of Interfaces
destraynor
156
24k
Being A Developer After 40
akosma
89
590k
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