SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
@k2r2bai
TAIPEI

開發者交流之夜
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. @k2r2bai
Vishwakarma:Terraform modulesfor deploying
EKS andSelf-hosting Kubernetes
Kyle Bai

Site Reliability Engineer

AMIS
Cloud Native Taiwan User Group
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. @k2r2bai
About Me
⽩凱仁(Kyle Bai)
• SRE at AMIS.

• OSS Contributor.

• Certified Kubernetes Administrator/Developer.

• Co-organizer of Cloud Native Taiwan User Group.

• Interested in emerging technologies.
GitHub: kairen(k2r2.bai@gmail.com)
Blog: https://k2r2bai.com
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• Infrastructure as code

• Vishwakarma

• Live Demo
Agenda
Today I would like to talk about
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Infrastructure as code
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
“Infrastructure-as-code (IaC) is the concept of writing
code to represent your infrastructure requirements and
using an IaC tool to apply those changes to your cloud/
on-prem environment.”
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• Create/change/destroy infrastructure resources such as compute, storage,
networking components or platform services like database, Kubernetes cluster etc.

• Deploy/update applications on top of the infrastructure.

• Manage the configurations used by the applications.

• Versioning infrastructure.
The problems IaC tools can solve
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Terraform is the only tool to focus solely on creating, destroying and managing
infrastructure components. You use the Hashicorp Configuration Language (HCL) to
describe the infrastructure resources you need.

• Provider

• Provisioner

• Modules

• Plan phase

• Apply phase
Terraform
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
example
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CLI / SDK / Console
Region A Region B Region C ...
Terraform CLI
Region A Region B Region C ...
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
NGINX
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Vishwakarma
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kubernetes solutions onAWS
Kubespray
RKE
Kops
Kube-aws
Typhoon
EKS
CoreOS Tectonic
LinuxKit
Matchbox
KubeNow
Bootkube
kubeadm-dind-cluster
Minikube
PKS
Kubeadm
KIND
KRIB
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Challenges to build Kubrnetes
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• Maintain all AWS resources(ex: EC2 instance, VPC).

• Kubernetes node(worker) scalability.

• Kubernetes components upgrade.

• Logging and Monitoring.

• Configuration management.
Challenges to build Kubrnetes onAWS
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• Network environment customize.

• Align company compliance.

• Audit.

• Security.

• Cost.

• Clusters have difference topology.

• Want more specific features.

• ....
Why build Kubernetes by ourselves?
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Vishwakarma can be used to create a Kubernetes cluster in AWS by leveraging
HashiCorp Terraform and CoreOS. And there are two kind of Kubernetes master within
vishwakarma, one leverages AWS EKS, the other one is ElastiKube (Self-Hosted).

Vishwakarma
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ElastiKube is a highly configurable Terraform module with building blocks. The
motivation to build ElastiKube is that we need:

• Robust and HA Kubernetes master nodes.

• Pluggable HA worker nodes with different instance types.

• Configurable Kubernetes resources during bootstrapping.

• Standalone and HA etcd.

• Use CoreOS Container Linux on all host machines.

• Use Ignition for provisioning Container Linux.
What's ElastiKube?
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• Agility: The ability to easily and atomically update software
is the only way to improve internet security.

• Portability: Containers turn apps into integral units that can
migrate easily between machines and between providers.

• Security: Today’s VM-focused workflow ties the OS directly
to the apps on the box. Moving dependencies out of the OS
and into a container dramatically reduces complexity.

• Make sure that all resources are IMMUTABLE!
Why do we useCoreOS?
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Ignition is the utility used by CoreOS Container Linux, Fedora CoreOS, and RHEL CoreOS
to manipulate disks during the initramfs. This includes partitioning disks, formatting
partitions, writing files (regular files, systemd units, etc.), and configuring users.
Ignition
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Live Demo
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What’sGoingOn?
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Vishwakarma for Self-hosting Kubernetes
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Vishwakarma for EKS
Thank you!
@k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kyle Bai

k2r2.bai@gmail.com

Weitere ähnliche Inhalte

Was ist angesagt?

Monetize your IOT Investment with Salesforce and AWS PPT
Monetize your IOT Investment with Salesforce and AWS PPTMonetize your IOT Investment with Salesforce and AWS PPT
Monetize your IOT Investment with Salesforce and AWS PPTAmazon Web Services
 
Architecting Application Services For Hybrid Cloud - AWS Summit SG 2017
Architecting Application Services For Hybrid Cloud - AWS Summit SG 2017Architecting Application Services For Hybrid Cloud - AWS Summit SG 2017
Architecting Application Services For Hybrid Cloud - AWS Summit SG 2017Amazon Web Services
 
DEM06 How Demandbase Cut Its Container Costs by 79%
DEM06 How Demandbase Cut Its Container Costs by 79%DEM06 How Demandbase Cut Its Container Costs by 79%
DEM06 How Demandbase Cut Its Container Costs by 79%Amazon Web Services
 
ENT207-The Future of Enterprise IT.pdf
ENT207-The Future of Enterprise IT.pdfENT207-The Future of Enterprise IT.pdf
ENT207-The Future of Enterprise IT.pdfAmazon Web Services
 
AWS per il settore pubblico in Italia
AWS per il settore pubblico in ItaliaAWS per il settore pubblico in Italia
AWS per il settore pubblico in ItaliaAmazon Web Services
 
AWS PROTECTED: Why This Matters for Australia - AWS Summit Sydney
AWS PROTECTED: Why This Matters for Australia - AWS Summit SydneyAWS PROTECTED: Why This Matters for Australia - AWS Summit Sydney
AWS PROTECTED: Why This Matters for Australia - AWS Summit SydneyAmazon Web Services
 
Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用
Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用
Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用Amazon Web Services
 
The Future of Enterprise IT - Lessons Learned
The Future of Enterprise IT - Lessons LearnedThe Future of Enterprise IT - Lessons Learned
The Future of Enterprise IT - Lessons LearnedAmazon Web Services
 
Architecting for the New Age Enterprise - AWS Summit SG 2017
Architecting for the New Age Enterprise - AWS Summit SG 2017Architecting for the New Age Enterprise - AWS Summit SG 2017
Architecting for the New Age Enterprise - AWS Summit SG 2017Amazon Web Services
 
Combining ERP, Public Cloud and Cybersecurity
Combining ERP, Public Cloud and CybersecurityCombining ERP, Public Cloud and Cybersecurity
Combining ERP, Public Cloud and CybersecurityPete Nieminen
 
Building for Scale with AWS Media Services
Building for Scale with AWS Media ServicesBuilding for Scale with AWS Media Services
Building for Scale with AWS Media ServicesAmazon Web Services
 
Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. Enel (IOT2...
Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. Enel (IOT2...Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. Enel (IOT2...
Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. Enel (IOT2...Amazon Web Services
 
Optimize App Performance and Security by Managing Microsoft Workloads on AWS ...
Optimize App Performance and Security by Managing Microsoft Workloads on AWS ...Optimize App Performance and Security by Managing Microsoft Workloads on AWS ...
Optimize App Performance and Security by Managing Microsoft Workloads on AWS ...Amazon Web Services
 
Secure Your Cloud Deployment. Learn how with AWS and Barracuda.
 Secure Your Cloud Deployment. Learn how with AWS and Barracuda. Secure Your Cloud Deployment. Learn how with AWS and Barracuda.
Secure Your Cloud Deployment. Learn how with AWS and Barracuda.Amazon Web Services
 

Was ist angesagt? (20)

Monetize your IOT Investment with Salesforce and AWS PPT
Monetize your IOT Investment with Salesforce and AWS PPTMonetize your IOT Investment with Salesforce and AWS PPT
Monetize your IOT Investment with Salesforce and AWS PPT
 
Architecting Application Services For Hybrid Cloud - AWS Summit SG 2017
Architecting Application Services For Hybrid Cloud - AWS Summit SG 2017Architecting Application Services For Hybrid Cloud - AWS Summit SG 2017
Architecting Application Services For Hybrid Cloud - AWS Summit SG 2017
 
The Future of Enterprise IT
The Future of Enterprise IT The Future of Enterprise IT
The Future of Enterprise IT
 
AWS Espressif Amazon FreeRTOS
AWS Espressif Amazon FreeRTOSAWS Espressif Amazon FreeRTOS
AWS Espressif Amazon FreeRTOS
 
DEM06 How Demandbase Cut Its Container Costs by 79%
DEM06 How Demandbase Cut Its Container Costs by 79%DEM06 How Demandbase Cut Its Container Costs by 79%
DEM06 How Demandbase Cut Its Container Costs by 79%
 
ENT207-The Future of Enterprise IT.pdf
ENT207-The Future of Enterprise IT.pdfENT207-The Future of Enterprise IT.pdf
ENT207-The Future of Enterprise IT.pdf
 
Cloud ibrido nella PA
Cloud ibrido nella PACloud ibrido nella PA
Cloud ibrido nella PA
 
AWS per il settore pubblico in Italia
AWS per il settore pubblico in ItaliaAWS per il settore pubblico in Italia
AWS per il settore pubblico in Italia
 
AWS PROTECTED: Why This Matters for Australia - AWS Summit Sydney
AWS PROTECTED: Why This Matters for Australia - AWS Summit SydneyAWS PROTECTED: Why This Matters for Australia - AWS Summit Sydney
AWS PROTECTED: Why This Matters for Australia - AWS Summit Sydney
 
Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用
Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用
Track 4 Session 5_ 架構即代碼 – AWS CDK 與 CDK8S 聯手打造下一代的 K8S 應用
 
The Future of Enterprise IT - Lessons Learned
The Future of Enterprise IT - Lessons LearnedThe Future of Enterprise IT - Lessons Learned
The Future of Enterprise IT - Lessons Learned
 
Architecting for the New Age Enterprise - AWS Summit SG 2017
Architecting for the New Age Enterprise - AWS Summit SG 2017Architecting for the New Age Enterprise - AWS Summit SG 2017
Architecting for the New Age Enterprise - AWS Summit SG 2017
 
Combining ERP, Public Cloud and Cybersecurity
Combining ERP, Public Cloud and CybersecurityCombining ERP, Public Cloud and Cybersecurity
Combining ERP, Public Cloud and Cybersecurity
 
Building for Scale with AWS Media Services
Building for Scale with AWS Media ServicesBuilding for Scale with AWS Media Services
Building for Scale with AWS Media Services
 
應用開發新思維
應用開發新思維應用開發新思維
應用開發新思維
 
Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. Enel (IOT2...
Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. Enel (IOT2...Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. Enel (IOT2...
Computing at the Edge with AWS Greengrass and Amazon FreeRTOS, ft. Enel (IOT2...
 
Enterprise workloads on AWS
Enterprise workloads on AWSEnterprise workloads on AWS
Enterprise workloads on AWS
 
Public Cloud Security Blueprint
Public Cloud Security BlueprintPublic Cloud Security Blueprint
Public Cloud Security Blueprint
 
Optimize App Performance and Security by Managing Microsoft Workloads on AWS ...
Optimize App Performance and Security by Managing Microsoft Workloads on AWS ...Optimize App Performance and Security by Managing Microsoft Workloads on AWS ...
Optimize App Performance and Security by Managing Microsoft Workloads on AWS ...
 
Secure Your Cloud Deployment. Learn how with AWS and Barracuda.
 Secure Your Cloud Deployment. Learn how with AWS and Barracuda. Secure Your Cloud Deployment. Learn how with AWS and Barracuda.
Secure Your Cloud Deployment. Learn how with AWS and Barracuda.
 

Ähnlich wie Vishwakarma: Terraform modules for deploying EKS and Self-hosting Kubernetes

20191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 220191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 2makker_nl
 
The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)Simon Haslam
 
Expert Tips for Successful Kubernetes Deployment on AWS
Expert Tips for Successful Kubernetes Deployment on AWSExpert Tips for Successful Kubernetes Deployment on AWS
Expert Tips for Successful Kubernetes Deployment on AWSAmazon Web Services
 
From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019Amazon Web Services
 
From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019AWS Summits
 
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018Amazon Web Services
 
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSEnd-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSBhuvaneswari Subramani
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesAmazon Web Services
 
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...Amazon Web Services
 
Comparing Compute Options for Microservices - AWS Summti Sydney 2018
Comparing Compute Options for Microservices - AWS Summti Sydney 2018Comparing Compute Options for Microservices - AWS Summti Sydney 2018
Comparing Compute Options for Microservices - AWS Summti Sydney 2018Amazon Web Services
 
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS SummitRun Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS SummitAmazon Web Services
 
SRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSSRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSAmazon Web Services
 
Expert Tips for Successful Kubernetes Deployments on AWS
Expert Tips for Successful Kubernetes Deployments on AWSExpert Tips for Successful Kubernetes Deployments on AWS
Expert Tips for Successful Kubernetes Deployments on AWSAmazon Web Services
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019AWS Summits
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019Amazon Web Services
 
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Amazon Web Services
 
GPSTEC304_Shipping With PorpoiseA K8s Story
GPSTEC304_Shipping With PorpoiseA K8s StoryGPSTEC304_Shipping With PorpoiseA K8s Story
GPSTEC304_Shipping With PorpoiseA K8s StoryAmazon Web Services
 

Ähnlich wie Vishwakarma: Terraform modules for deploying EKS and Self-hosting Kubernetes (20)

20191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 220191201 kubernetes managed weblogic revival - part 2
20191201 kubernetes managed weblogic revival - part 2
 
The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)
 
Expert Tips for Successful Kubernetes Deployment on AWS
Expert Tips for Successful Kubernetes Deployment on AWSExpert Tips for Successful Kubernetes Deployment on AWS
Expert Tips for Successful Kubernetes Deployment on AWS
 
Builders' Day- Mastering Kubernetes on AWS
Builders' Day- Mastering Kubernetes on AWSBuilders' Day- Mastering Kubernetes on AWS
Builders' Day- Mastering Kubernetes on AWS
 
From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019
 
From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019From Code to a running container | AWS Summit Tel Aviv 2019
From Code to a running container | AWS Summit Tel Aviv 2019
 
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
Expert Tips for Successful Kubernetes Deployment - AWS Summit Sydney 2018
 
Deep Dive into Amazon Fargate
Deep Dive into Amazon FargateDeep Dive into Amazon Fargate
Deep Dive into Amazon Fargate
 
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSEnd-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
AWS Containers Day.pdf
AWS Containers Day.pdfAWS Containers Day.pdf
AWS Containers Day.pdf
 
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
 
Comparing Compute Options for Microservices - AWS Summti Sydney 2018
Comparing Compute Options for Microservices - AWS Summti Sydney 2018Comparing Compute Options for Microservices - AWS Summti Sydney 2018
Comparing Compute Options for Microservices - AWS Summti Sydney 2018
 
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS SummitRun Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
 
SRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSSRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKS
 
Expert Tips for Successful Kubernetes Deployments on AWS
Expert Tips for Successful Kubernetes Deployments on AWSExpert Tips for Successful Kubernetes Deployments on AWS
Expert Tips for Successful Kubernetes Deployments on AWS
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
 
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
 
GPSTEC304_Shipping With PorpoiseA K8s Story
GPSTEC304_Shipping With PorpoiseA K8s StoryGPSTEC304_Shipping With PorpoiseA K8s Story
GPSTEC304_Shipping With PorpoiseA K8s Story
 

Mehr von Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mehr von Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Vishwakarma: Terraform modules for deploying EKS and Self-hosting Kubernetes

  • 2. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. @k2r2bai Vishwakarma:Terraform modulesfor deploying EKS andSelf-hosting Kubernetes Kyle Bai Site Reliability Engineer AMIS Cloud Native Taiwan User Group
  • 3. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. @k2r2bai About Me ⽩凱仁(Kyle Bai) • SRE at AMIS. • OSS Contributor. • Certified Kubernetes Administrator/Developer. • Co-organizer of Cloud Native Taiwan User Group. • Interested in emerging technologies. GitHub: kairen(k2r2.bai@gmail.com) Blog: https://k2r2bai.com
  • 4. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. • Infrastructure as code • Vishwakarma • Live Demo Agenda Today I would like to talk about
  • 5. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Infrastructure as code
  • 6. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. “Infrastructure-as-code (IaC) is the concept of writing code to represent your infrastructure requirements and using an IaC tool to apply those changes to your cloud/ on-prem environment.”
  • 7. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. • Create/change/destroy infrastructure resources such as compute, storage, networking components or platform services like database, Kubernetes cluster etc. • Deploy/update applications on top of the infrastructure. • Manage the configurations used by the applications. • Versioning infrastructure. The problems IaC tools can solve
  • 8. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 9. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 10. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 11. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Terraform is the only tool to focus solely on creating, destroying and managing infrastructure components. You use the Hashicorp Configuration Language (HCL) to describe the infrastructure resources you need. • Provider • Provisioner • Modules • Plan phase • Apply phase Terraform
  • 12. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. example
  • 13. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 14. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. CLI / SDK / Console Region A Region B Region C ... Terraform CLI Region A Region B Region C ...
  • 15. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 16. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. NGINX
  • 17. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Vishwakarma
  • 18. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kubernetes solutions onAWS Kubespray RKE Kops Kube-aws Typhoon EKS CoreOS Tectonic LinuxKit Matchbox KubeNow Bootkube kubeadm-dind-cluster Minikube PKS Kubeadm KIND KRIB
  • 19. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Challenges to build Kubrnetes
  • 20. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. • Maintain all AWS resources(ex: EC2 instance, VPC). • Kubernetes node(worker) scalability. • Kubernetes components upgrade. • Logging and Monitoring. • Configuration management. Challenges to build Kubrnetes onAWS
  • 21. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. • Network environment customize. • Align company compliance. • Audit. • Security. • Cost. • Clusters have difference topology. • Want more specific features. • .... Why build Kubernetes by ourselves?
  • 22. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Vishwakarma can be used to create a Kubernetes cluster in AWS by leveraging HashiCorp Terraform and CoreOS. And there are two kind of Kubernetes master within vishwakarma, one leverages AWS EKS, the other one is ElastiKube (Self-Hosted). Vishwakarma
  • 23. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. ElastiKube is a highly configurable Terraform module with building blocks. The motivation to build ElastiKube is that we need: • Robust and HA Kubernetes master nodes. • Pluggable HA worker nodes with different instance types. • Configurable Kubernetes resources during bootstrapping. • Standalone and HA etcd. • Use CoreOS Container Linux on all host machines. • Use Ignition for provisioning Container Linux. What's ElastiKube?
  • 24. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 25. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. • Agility: The ability to easily and atomically update software is the only way to improve internet security. • Portability: Containers turn apps into integral units that can migrate easily between machines and between providers. • Security: Today’s VM-focused workflow ties the OS directly to the apps on the box. Moving dependencies out of the OS and into a container dramatically reduces complexity. • Make sure that all resources are IMMUTABLE! Why do we useCoreOS?
  • 26. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Ignition is the utility used by CoreOS Container Linux, Fedora CoreOS, and RHEL CoreOS to manipulate disks during the initramfs. This includes partitioning disks, formatting partitions, writing files (regular files, systemd units, etc.), and configuring users. Ignition
  • 27. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 28. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Live Demo
  • 29. @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. What’sGoingOn?
  • 30. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Vishwakarma for Self-hosting Kubernetes
  • 31. © 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Vishwakarma for EKS
  • 32. Thank you! @k2r2bai© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kyle Bai k2r2.bai@gmail.com