Movatterモバイル変換


[0]ホーム

URL:


PDF, PPTX4,015 views

[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵

This document provides an overview of an Amazon EKS hands-on workshop. It introduces the workshop agenda which includes deploying example microservices, logging with Elasticsearch Fluentd and Kibana, monitoring with Prometheus and Grafana, and continuous integration/continuous delivery using GitOps with Weave Flux. Key concepts covered are Kubernetes pods, services, deployments, container networking with CNI plugins, observability tools, and CI/CD approaches.

Embed presentation

Download as PDF, PPTX
Amazon EKS Hands-on WorkshopJeong, Young JoonKim, Sae HoYoo, Jae SeokKim, Kwang YoungJeong, Jun WooChoi, In Young
Pre-lab.Start the Workshop, Launch using eksctlYoo, Jae Seok
eksworkshop.com
Cloud9
Caution
Caution
Recommendations• 영문이 불편하시다면 크롬 번역 기능이 괜찮습니다.• 터미널을 끄지 마세요.• 명령어는 검은 창 안에 있습니다. 복사 아이콘을 사용하세요.• Cleanup은 임의로 하지 마시고, 매뉴얼을 따라주세요.
https://eksworkshop.com
Lab 1.Deploy the Example MicroservicesKim, Sae Ho
How do we make this work at scale?
We need to• start, stop, and monitor lots of containers running on lots of hosts• decide when and where to start or stop containers• control our hosts and monitor their status• manage rollouts of new code (containers) to our hosts• manage how traffic flows to containers and how requests are routed
Containers on HostsHost 1Host 2Host 3A host is a server – e.g. EC2 virtual machine.We run these hosts together as a cluster.Web AppTo start let’s run a 3 copies of our web appacross our cluster of EC2 hosts.3xOur simple example web application is alreadycontainerized.Cluster
Run n containersHost 1Host 2Host 3We define a deployment and set the replicasto 3 for our container.deploymentkubectlrep = 3
Scale up!Host 1Host 2Host 3Need more containers?Update the replication set!deploymentkubectlrep = 5The new containers are started on the cluster.
Untimely terminationHost 1Host 2Host 3Oh no! Our host has died!Replicationsetrep = 5Kubernetes notices only 3 of the 5containers are running and starts 2additional containers on the remaininghosts.
Containers IRLHost 1Host 2Host 3In production, we want to do more complexthings like,• Run a service to route traffic to a set ofrunning containers• Manage the deployment of containers toour cluster• Run multiple containers together andspecify how they run
Pods• Define how your containers should run• Allow you to run 1 to n containers togetherContainers in pods have• Shared IP space• Shared volumes• Shared scaling (you scale pods not individualcontainers)When containers are started on our cluster, theyare always part of a pod.(even if it’s a pod of 1)IPContainer AContainer B
ServicesOne of the ways traffic gets to your containers.• Internal IP addresses are assigned to each container• Services are connected to containersand use labels to reference which containersto route requests toIPIPIPServiceIP
DeploymentsIPIPIPServiceIPReplication setversion = 1count = 3DeploymentServices work with deployments to manageupdating or adding new pods.Let’s say we want to deploy a new version of ourweb app as a ‘canary’ and see how it handlestraffic.
DeploymentsIPIPIPServiceIPReplication setversion = 1count = 3The deployment creates a new replication setfor our new pod version.Replication setversion = 2count = 1IPDeployment
DeploymentsIPIPIPServiceIPReplication setversion = 1count = 3Only after the new pod returns a healthystatus to the service do we add more newpods and scale down the old.Replication setversion = 2count = 1IPDeploymentReplication setversion = 1count = 0Replication setversion = 2count = 3
Lab Architecturefrontend:3000backend:3000backend:3000ELBservicediscoveryhttp://ecsdemo-crystal.default.svc.cluster.local/crystalhttp://ecsdemo-nodejs.default.svc.cluster.local/:80:80:80
Lab Architecture$ kubectl get podNAME READY STATUS RESTARTS AGEecsdemo-crystal-844d84cb86-vkpmg 1/1 Running 0 4m57secsdemo-frontend-6df6d9bb9-nj2df 1/1 Running 0 26secsdemo-nodejs-6fdf964f5f-2ftdq 1/1 Running 0 5m38s$ kubectl get svcNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEecsdemo-crystal ClusterIP 10.100.56.118 <none> 80/TCP 4m49secsdemo-frontend LoadBalancer 10.100.63.140 a9efbe276d88611e99c5702f05f1a82d-1003952118.ap-northeast-2.elb.amazonaws.com 80:32268/TCP 5secsdemo-nodejs ClusterIP 10.100.48.163 <none> 80/TCP 5m31s
Lab ArchitectureI, [2019-09-17T03:26:03.072922 #1] INFO -- : Started GET "/" for 192.168.233.51 at 2019-09-17 03:26:03 +0000I, [2019-09-17T03:26:03.075543 #1] INFO -- : Processing by ApplicationController#index as HTMLI, [2019-09-17T03:26:03.081943 #1] INFO -- : uri port is 80I, [2019-09-17T03:26:03.081977 #1] INFO -- : expanded http://ecsdemo-nodejs.default.svc.cluster.local/ to http://ecsdemo-nodejs.default.svc.cluster.local/I, [2019-09-17T03:26:03.089166 #1] INFO -- : uri port is 80I, [2019-09-17T03:26:03.089197 #1] INFO -- : expanded http://ecsdemo-nodejs.default.svc.cluster.local/ to http://ecsdemo-nodejs.default.svc.cluster.local/I, [2019-09-17T03:26:03.092048 #1] INFO -- : uri port is 80I, [2019-09-17T03:26:03.092078 #1] INFO -- : expanded http://ecsdemo-nodejs.default.svc.cluster.local/ to http://ecsdemo-nodejs.default.svc.cluster.local/I, [2019-09-17T03:26:03.121076 #1] INFO -- : uri port is 80I, [2019-09-17T03:26:03.121120 #1] INFO -- : expanded http://ecsdemo-crystal.default.svc.cluster.local/crystal to http://ecsdemo-crystal.default.svc.cluster.local/crystalI, [2019-09-17T03:26:03.128501 #1] INFO -- : uri port is 80I, [2019-09-17T03:26:03.128538 #1] INFO -- : expanded http://ecsdemo-crystal.default.svc.cluster.local/crystal to http://ecsdemo-crystal.default.svc.cluster.local/crystalI, [2019-09-17T03:26:03.135349 #1] INFO -- : uri port is 80I, [2019-09-17T03:26:03.135382 #1] INFO -- : expanded http://ecsdemo-crystal.default.svc.cluster.local/crystal to http://ecsdemo-crystal.default.svc.cluster.local/crystalI, [2019-09-17T03:26:03.146138 #1] INFO -- : Rendered application/index.html.erb within layouts/application (2.5ms)I, [2019-09-17T03:26:03.146535 #1] INFO -- : Completed 200 OK in 71ms (Views: 6.3ms | ActiveRecord: 0.0ms)
Lab 2.Logging with Elasticsearch, Fluentdand KibanaChoi, In Young
Amazon EKS LoggingWorkerWorkerMasterWorkerWorkerMasterAuto ScalinggroupAZ1EKS Cluster RegionAZ2Auto Scaling groupCloudWatchLogsElasticsearchKibanaFluentdDaemonSetKubectl logsElasticsearch (index),Fluentd (store), andKibana (visualize)
Fluentd – Data collectorFluentdPODSDaemonsetsHealth & Performance Monitoring• App Containers, Pods, System, Nodes• Kubernetes Events, Unavailable pods• Application Logs & Metrics• System Logs & Metrics• Cluster Capacity, Performance, Network Traffic• Adhoc Analysis & Troubleshooting
Elasticsearch – Build for search and analysisNatural languageBoolean queriesRelevanceText searchHigh-volume ingestNear real timeDistributed storageStreamingTime-based visualizationsNestable statisticsTime series toolsAnalysis0010110100101110001011110011000000110001001100100011001100110100001101010011
Amazon Elasticsearch ServiceAmazon Elasticsearch Service is afully managed service that makesit easy to deploy, manage, andscale Elasticsearch and Kibana
Benefits of Amazon Elasticsearch ServiceTightly Integrated withOther AWS ServicesSeamless data ingestion, security,auditing and orchestrationSupports Open-SourceAPIs and ToolsDrop-in replacement with no needto learn new APIs or skillsEasy to UseDeploy a production-readyElasticsearch cluster in minutesScalableResize your cluster with a fewclicks or a single API callSecureDeploy into your VPC and restrictaccess using security groups andIAM policiesHighly AvailableReplicate across AvailabilityZones, with monitoring andautomated self-healing
Kibana – Dashboard for Kubernetes• Open Source Visualization tool builtfor Elasticsearch• Real-time dashboards• Build dashboards for Redis,Kubernetes, System metrics
Lab ArchitectureAWS CloudAvailability Zone 1Auto ScalinggroupAvailability Zone 2Auto Scalinggroup
Lab 3.Monitoring using Prometheusand GrafanaYoo, Jae Seok
What should we monitor?
AWS CloudWatch Container Insights
AWS CloudWatch Container Insights
AWS CloudWatch Container Insights
Prometheus & GrafanaMonitoring and alerting solutionTime series databasePromQLMetric analytics & visualization solutionVisualizing time series data
Prometheus Architecture
Grafana
Lab ArchitectureAmazon EBSrometheus
Lab 4.CI/CD - GitOps with Weave FluxKim, Kwang Young
Release process stagesSource Build Test Production• Integration testswith othersystems• Load testing• UI tests• Security testing• Check-in sourcecode such as .javafiles• Peer review newcode• Compile code• Unit tests• Style checkers• Create containerimages andfunctiondeploymentpackages• Deployment toproductionenvironments• Monitor code inproduction toquickly detecterrors• Check-in sourcecode such as .javafiles• Peer review newcode• Compile code• Unit tests• Style checkers• Create containerimages andfunctiondeploymentpackages• Integration testswith othersystems• Load testing• UI tests• Security testing
Release process stagesSource Build Test Production
AWS Developer ToolsSource Build Test Deploy MonitorAWS CodeBuild +third partySoftware release stepsAWS CodeCommit AWS CodeBuild AWS CodeDeployAWS CodePipelineAWSCodeStarAWS X-RayAmazonCloudWatch
Approaches to modern application development• Accelerate the delivery of new, high-quality services with CI/CD• Simplify environment management with serverless technologies• Reduce the impact of code changes with microservice architectures• Automate operations by modeling applications and infrastructure as code• Gain insight across resources and applications by enabling observability• Protect customers and the business with end-to-end security and compliance
Approaches to modern application development• Accelerate the delivery of new, high-quality services with CI/CD• Simplify environment management with serverless technologies• Reduce the impact of code changes with microservice architectures• Automate operations by modeling applications and infrastructure as code• Gain insight across resources and applications by enabling observability• Protect customers and the business with end-to-end security and compliance
Effects of CI/CDSource: 2018 DORA State of DevOps reportDeployment frequency Weekly–monthly Hourly–dailyChange lead time 1–6 months 1–7 daysChange failure rate 46%–60% 0%–15%48% ofsoftwareteams
CodePipeline• Continuous delivery service for fast and reliable application updates• Model and visualize your software release process• Builds, tests, and deploys your code every time there is a code change• Integrates with third-party tools and AWS
CodeBuild• Fully managed build service that compiles sourcecode, runs tests, and produces software packages• Scales continuously and processes multiple buildsconcurrently• No build servers to manage• Pay by the minute, only for the computeresources you use• Monitor builds through CloudWatch Events
CodeBuild• Each build runs in a new Docker container fora consistent, immutable environment• Docker and AWS Command Line Interface (AWS CLI) are installed in every official CodeBuild image• Provide custom build environments suited to yourneeds through the use of Docker images
Elastic Container Registry• Fully managed private Docker Registry• Supports Docker Registry HTTP API V2• Scalable, available, durable architecture• Secure: encrypt at rest, control access with IAM• Manage image lifecycle• Integrated with other AWS services• Supports Immutable Image Tags
What is GitOps?
Benefis of GitopsAutomated delivery pipelines roll out changes to your infrastructurewhen changes are made to Git. But the idea of GitOps goes further thanthat – it uses tools to compare the actual production state of your wholeapplication with what’s under source control and then it tells you whenyour cluster doesn’t match the real worldIncreased ProductivityEnhanced Developer ExperienceImproved StabilityHigher ReliabilityConsistency and StandardizationStronger Security Guarantees
Lab Architecture
Lab 5.Calico or KubeflowJeong YoungJoon
IntroductionNetwork architecture is one of the more complicated aspects of many Kubernetes installations. The Kubernetes networking model itself demandscertain network features but allows for some flexibility regarding the implementation. As a result, various projects have been released to address specific environments and requirements.
BackgroundContainer networking is the mechanism through which containers can optionally connect to other containers, the host, and outside networks like the internet.For example Docker can configure the following networks for a container by default:• none: Adds the container to a container-specific network stack with noconnectivity.• host: Adds the container to the host machine’s network stack, with no isolation.• default bridge: The default networking mode. Each container can connect withone another by IP address.• custom bridge: User-defined bridge networks with additional flexibility, isolation,and convenience features.
Native VPC networkingwith CNI pluginPods have the same VPCaddress inside the podas on the VPCSimple, securenetworkingOpen source andon Github…{ }
CNI InfrastructureR u n t i m eN e t w o r kp l u g i nN e t w o r kc o n f i g u r a t i o n
Nginx PodJava PodENISecondary IPs:10.0.0.110.0.0.2Veth IP: 10.0.0.1Veth IP: 10.0.0.2Nginx PodJava PodENIVeth IP: 10.0.0.20Veth IP: 10.0.0.22Secondary IPs:10.0.0.2010.0.0.22ec2.associateaddress()VPC Subnet – 10.0.0.0/24Instance 1 Instance 2
VPC CNI networking internalsK u b e l e tV P C C N Ip l u g i n1 . C N I A d d / D e l e t eE C 2E N I E N I E N IP o d P o d P o d P o dV P CN e t w o r k.........0 . C r e a t e E N I2 . S e t u p v e t h
VPC CNI plugin architectureK u b e l e tV P C C N Ip l u g i nN e t w o r k l o c a lc o n t r o l p l a n eE N I s /S e c o n d a r y I P sC N I A d d / D e l e t eg R P CE C 2
Packet flow : pod - to - podE C 2Default namespacePod namespaceveth vethMain RTE C 2Default namespacePod namespacevethRouteTableMain RTENI RTvethVPCfabricENI RTRouteTable
Packet flow : pod - to externalE C 2Default namespacePod namespacevethRoute TableMain RTENI RTvethExternalNetworkIPTables
Kubernetes CNI Providers
Calico
Lab Architecture
Lab Architecture
Lab 6.Service Mesh with App MeshJeong, Jun Woo
Introducing AWS App MeshService mesh for AWSObservability and traffic controlEasily export logs, metrics, and tracesClient-side traffic policies—circuit breaking, retriesRoutes for deploymentsWorks across clusters and container servicesAmazon ECSAmazon EKSKubernetes on EC2AWS built and runManaged control planeProduction-grade
App Mesh uses Envoy proxyOSS project managed by CNCFStarted at Lyft in 2016Wide community support, numerous integrationsStable and production-proven
AWS App Mesh configures every proxyMicroserviceProxy
Easily deliver configuration and receive dataInfraOperatorApplicationDeveloper MetricsIntentMicroserviceProxy
Why AWS App MeshLibraries or application code vs. meshOverall - migrate to microservices safer and fasterReduce work requiredby developersProvide operationalcontrols decoupledfrom application logicUse any languageor platformSimplify visibility,troubleshooting, anddeployments
Traffic controlsRouting optionsService discoveryRetriesTimeoutsError-code recognitionRouting controlsAccessQuotasRate limitsWeights
Application observability+ othersUniversal metricscollection fora wide range ofmonitoring tools
App Mesh ConstructsMeshVirtual nodeVirtual router and routesVirtual serviceCreate and manage these in AppMesh API, CLI, SDK, orAWS Management ConsoleProxiesServicesService discoveryConfigure and run proxies andservices on Amazon ECS, Fargate,Amazon EKS, Amazon EC2Service discovery withAWS Cloud Map
Mesh – [sample_app]Virtual routerHTTP routeTargets:Prefix: /BB’Virtualnode AServicediscoveryListener Backends Virtualnode BServicediscoveryListener BackendsVirtualnode B’ServicediscoveryListener BackendsBBB’B’AConnecting microservices
Lab Procedures1. Create the k8s app1) Clone the Repo2) Create DJ App3) Test DJ App2. Create the App Mesh Components1) Creating the Injector Controller2) Define the Injector Targets3) Adding the CRDs3. Porting DJ to App Mesh1) Create the Mesh2) Create the Virtual Nodes3) Create the Virtual Services4) Testing the App Mesh
Create the k8s app
Create the App Mesh Components
Canary Testing with a v2
여러분의 피드백을 기다립니다!#AWSDEVDAYSEOUL

Recommended

PDF
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
PDF
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
PDF
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
PDF
실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive
PDF
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
PDF
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
PDF
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
PDF
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
PDF
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
PDF
AWS 비용 효율화를 고려한 Reserved Instance + Savings Plan 옵션 - 박윤 어카운트 매니저 :: AWS Game...
PDF
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
PDF
이벤트 기반 분산 시스템을 향한 여정
PDF
Apache Camel v3, Camel K and Camel Quarkus
PDF
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
PDF
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
PDF
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
PDF
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
PPTX
MSA ( Microservices Architecture ) 발표 자료 다운로드
PDF
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
PDF
Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
PDF
CJ프레시웨이 All-in 클라우드 전환 사례를 통해서 알아보는 Modernization성공 사례-오동규, 메가존 인프라 모더나이제이션 그...
PPTX
쿠버네티스 ( Kubernetes ) 소개 자료
PDF
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
PDF
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
PDF
Amazon SageMaker 모델 학습 방법 소개::최영준, 솔루션즈 아키텍트 AI/ML 엑스퍼트, AWS::AWS AIML 스페셜 웨비나
PPT
Docker introduction
PDF
Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018
PDF
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
PDF
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
PDF
Kubernetes on AWS

More Related Content

PDF
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
PDF
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
PDF
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
PDF
실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive
PDF
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
PDF
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
PDF
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
PDF
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
Datadog을 활용한 Elastic Kubernetes Service(EKS)에서의 마이크로서비스 통합 가시성 - 정영석 시니어 세일즈 ...
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
실시간 스트리밍 분석 Kinesis Data Analytics Deep Dive
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌

What's hot

PDF
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
PDF
AWS 비용 효율화를 고려한 Reserved Instance + Savings Plan 옵션 - 박윤 어카운트 매니저 :: AWS Game...
PDF
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
PDF
이벤트 기반 분산 시스템을 향한 여정
PDF
Apache Camel v3, Camel K and Camel Quarkus
PDF
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
PDF
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
PDF
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
PDF
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
PPTX
MSA ( Microservices Architecture ) 발표 자료 다운로드
PDF
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
PDF
Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
PDF
CJ프레시웨이 All-in 클라우드 전환 사례를 통해서 알아보는 Modernization성공 사례-오동규, 메가존 인프라 모더나이제이션 그...
PPTX
쿠버네티스 ( Kubernetes ) 소개 자료
PDF
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
PDF
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
PDF
Amazon SageMaker 모델 학습 방법 소개::최영준, 솔루션즈 아키텍트 AI/ML 엑스퍼트, AWS::AWS AIML 스페셜 웨비나
PPT
Docker introduction
PDF
Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018
PDF
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
AWS 비용 효율화를 고려한 Reserved Instance + Savings Plan 옵션 - 박윤 어카운트 매니저 :: AWS Game...
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
이벤트 기반 분산 시스템을 향한 여정
Apache Camel v3, Camel K and Camel Quarkus
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
Amazon ECS/ECR을 활용하여 마이크로서비스 구성하기 - 김기완 (AWS 솔루션즈아키텍트)
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
MSA ( Microservices Architecture ) 발표 자료 다운로드
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
Amazon SageMaker 모델 배포 방법 소개::김대근, AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
CJ프레시웨이 All-in 클라우드 전환 사례를 통해서 알아보는 Modernization성공 사례-오동규, 메가존 인프라 모더나이제이션 그...
쿠버네티스 ( Kubernetes ) 소개 자료
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
Amazon SageMaker 모델 학습 방법 소개::최영준, 솔루션즈 아키텍트 AI/ML 엑스퍼트, AWS::AWS AIML 스페셜 웨비나
Docker introduction
Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018
[AWS Builders] AWS 네트워크 서비스 소개 및 사용 방법 - 김기현, AWS 솔루션즈 아키텍트

Similar to [AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵

PDF
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
PDF
Kubernetes on AWS
PDF
Kubernetes on AWS
PPTX
Kubernetes #1 intro
PDF
Clusternaut: Orchestrating  Percona XtraDB Cluster with Kubernetes
PDF
[AWS Container Service] Getting Started with Kubernetes on AWS
PDF
Cluster management with Kubernetes
PDF
Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes.
PDF
Builders' Day- Mastering Kubernetes on AWS
PDF
Docker clusters on AWS with Amazon ECS and Kubernetes
PPTX
Introduction to Kubernetes
PDF
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...
PDF
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
PPTX
A brief study on Kubernetes and its components
PDF
Getting started with kubernetes
PDF
Introduction to EKS (AWS User Group Slovakia)
PDF
From CoreOS to Kubernetes and Concourse CI
PDF
Elastic Kubernetes Services (EKS)
PPTX
Running kubernetes with amazon eks
PDF
DevOpsDays Houston 2019 - Dan Kirkpatrick - My Kubernetes Tool Chain: Open-So...
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
Kubernetes on AWS
Kubernetes on AWS
Kubernetes #1 intro
Clusternaut: Orchestrating  Percona XtraDB Cluster with Kubernetes
[AWS Container Service] Getting Started with Kubernetes on AWS
Cluster management with Kubernetes
Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes.
Builders' Day- Mastering Kubernetes on AWS
Docker clusters on AWS with Amazon ECS and Kubernetes
Introduction to Kubernetes
[AWS Dev Day] 앱 현대화 | DevOps 개발자가 되기 위한 쿠버네티스 핵심 활용 예제 알아보기 - 정영준 AWS 솔루션즈 아키...
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
A brief study on Kubernetes and its components
Getting started with kubernetes
Introduction to EKS (AWS User Group Slovakia)
From CoreOS to Kubernetes and Concourse CI
Elastic Kubernetes Services (EKS)
Running kubernetes with amazon eks
DevOpsDays Houston 2019 - Dan Kirkpatrick - My Kubernetes Tool Chain: Open-So...

More from Amazon Web Services Korea

PDF
[D3T1S01] Gen AI를 위한 Amazon Aurora 활용 사례 방법
PDF
[D3T1S06] Neptune Analytics with Vector Similarity Search
PDF
[D3T1S03] Amazon DynamoDB design puzzlers
PDF
[D3T1S04] Aurora PostgreSQL performance monitoring and troubleshooting by use...
PDF
[D3T1S07] AWS S3 - 클라우드 환경에서 데이터베이스 보호하기
PDF
[D3T1S05] Aurora 혼합 구성 아키텍처를 사용하여 예상치 못한 트래픽 급증 대응하기
PDF
[D3T1S02] Aurora Limitless Database Introduction
PDF
[D3T2S01] Amazon Aurora MySQL 메이저 버전 업그레이드 및 Amazon B/G Deployments 실습
PDF
[D3T2S03] Data&AI Roadshow 2024 - Amazon DocumentDB 실습
PDF
AWS Modern Infra with Storage Roadshow 2023 - Day 2
PDF
AWS Modern Infra with Storage Roadshow 2023 - Day 1
PDF
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
PDF
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
PDF
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
PDF
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
PDF
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
PDF
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
PDF
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
PDF
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
PDF
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
[D3T1S01] Gen AI를 위한 Amazon Aurora 활용 사례 방법
[D3T1S06] Neptune Analytics with Vector Similarity Search
[D3T1S03] Amazon DynamoDB design puzzlers
[D3T1S04] Aurora PostgreSQL performance monitoring and troubleshooting by use...
[D3T1S07] AWS S3 - 클라우드 환경에서 데이터베이스 보호하기
[D3T1S05] Aurora 혼합 구성 아키텍처를 사용하여 예상치 못한 트래픽 급증 대응하기
[D3T1S02] Aurora Limitless Database Introduction
[D3T2S01] Amazon Aurora MySQL 메이저 버전 업그레이드 및 Amazon B/G Deployments 실습
[D3T2S03] Data&AI Roadshow 2024 - Amazon DocumentDB 실습
AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 1
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...

Recently uploaded

PDF
GPUS and How to Program Them by Manya Bansal
PPTX
Data Privacy and Protection: Safeguarding Information in a Connected World
PDF
Day 1 - Cloud Security Strategy and Planning ~ 2nd Sight Lab ~ Cloud Security...
PPTX
Unit-4-ARTIFICIAL NEURAL NETWORKS.pptx ANN ppt Artificial neural network
PDF
Six Shifts For 2026 (And The Next Six Years)
PDF
Safeguarding AI-Based Financial Infrastructure
PDF
ElyriaSoftware — Powering the Future with Blockchain Innovation
PPTX
Kanban India 2025 | Daksh Gupta | Modeling the Models, Generative AI & Kanban
PDF
Zero Trust & Defense-in-Depth: The Future of Critical Infrastructure Security
PPTX
Ethics in AI - Artificial Intelligence Fundamentals.pptx
PDF
Is It Possible to Have Wi-Fi Without an Internet Provider
PPTX
Cybersecurity Best Practices - Step by Step guidelines
PDF
Day 2 - Network Security ~ 2nd Sight Lab ~ Cloud Security Class ~ 2020
PDF
Digit Expo 2025 - EICC Edinburgh 27th November
PDF
Day 5 - Red Team + Blue Team in the Cloud - 2nd Sight Lab Cloud Security Class
DOCX
Introduction to the World of Computers (Hardware & Software)
PDF
The year in review - MarvelClient in 2025
PDF
Session 1 - Solving Semi-Structured Documents with Document Understanding
PDF
Eredità digitale sugli smartphone: cosa resta di noi nei dispositivi mobili
PDF
Energy Storage Landscape Clean Energy Ministerial
GPUS and How to Program Them by Manya Bansal
Data Privacy and Protection: Safeguarding Information in a Connected World
Day 1 - Cloud Security Strategy and Planning ~ 2nd Sight Lab ~ Cloud Security...
Unit-4-ARTIFICIAL NEURAL NETWORKS.pptx ANN ppt Artificial neural network
Six Shifts For 2026 (And The Next Six Years)
Safeguarding AI-Based Financial Infrastructure
ElyriaSoftware — Powering the Future with Blockchain Innovation
Kanban India 2025 | Daksh Gupta | Modeling the Models, Generative AI & Kanban
Zero Trust & Defense-in-Depth: The Future of Critical Infrastructure Security
Ethics in AI - Artificial Intelligence Fundamentals.pptx
Is It Possible to Have Wi-Fi Without an Internet Provider
Cybersecurity Best Practices - Step by Step guidelines
Day 2 - Network Security ~ 2nd Sight Lab ~ Cloud Security Class ~ 2020
Digit Expo 2025 - EICC Edinburgh 27th November
Day 5 - Red Team + Blue Team in the Cloud - 2nd Sight Lab Cloud Security Class
Introduction to the World of Computers (Hardware & Software)
The year in review - MarvelClient in 2025
Session 1 - Solving Semi-Structured Documents with Document Understanding
Eredità digitale sugli smartphone: cosa resta di noi nei dispositivi mobili
Energy Storage Landscape Clean Energy Ministerial

[AWS Dev Day] 실습워크샵 | Amazon EKS 핸즈온 워크샵

  • 2.
    Amazon EKS Hands-onWorkshopJeong, Young JoonKim, Sae HoYoo, Jae SeokKim, Kwang YoungJeong, Jun WooChoi, In Young
  • 3.
    Pre-lab.Start the Workshop,Launch using eksctlYoo, Jae Seok
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    Recommendations• 영문이 불편하시다면크롬 번역 기능이 괜찮습니다.• 터미널을 끄지 마세요.• 명령어는 검은 창 안에 있습니다. 복사 아이콘을 사용하세요.• Cleanup은 임의로 하지 마시고, 매뉴얼을 따라주세요.
  • 10.
  • 11.
    Lab 1.Deploy theExample MicroservicesKim, Sae Ho
  • 13.
    How do wemake this work at scale?
  • 14.
    We need to•start, stop, and monitor lots of containers running on lots of hosts• decide when and where to start or stop containers• control our hosts and monitor their status• manage rollouts of new code (containers) to our hosts• manage how traffic flows to containers and how requests are routed
  • 15.
    Containers on HostsHost1Host 2Host 3A host is a server – e.g. EC2 virtual machine.We run these hosts together as a cluster.Web AppTo start let’s run a 3 copies of our web appacross our cluster of EC2 hosts.3xOur simple example web application is alreadycontainerized.Cluster
  • 16.
    Run n containersHost1Host 2Host 3We define a deployment and set the replicasto 3 for our container.deploymentkubectlrep = 3
  • 17.
    Scale up!Host 1Host2Host 3Need more containers?Update the replication set!deploymentkubectlrep = 5The new containers are started on the cluster.
  • 18.
    Untimely terminationHost 1Host2Host 3Oh no! Our host has died!Replicationsetrep = 5Kubernetes notices only 3 of the 5containers are running and starts 2additional containers on the remaininghosts.
  • 19.
    Containers IRLHost 1Host2Host 3In production, we want to do more complexthings like,• Run a service to route traffic to a set ofrunning containers• Manage the deployment of containers toour cluster• Run multiple containers together andspecify how they run
  • 20.
    Pods• Define howyour containers should run• Allow you to run 1 to n containers togetherContainers in pods have• Shared IP space• Shared volumes• Shared scaling (you scale pods not individualcontainers)When containers are started on our cluster, theyare always part of a pod.(even if it’s a pod of 1)IPContainer AContainer B
  • 21.
    ServicesOne of theways traffic gets to your containers.• Internal IP addresses are assigned to each container• Services are connected to containersand use labels to reference which containersto route requests toIPIPIPServiceIP
  • 22.
    DeploymentsIPIPIPServiceIPReplication setversion =1count = 3DeploymentServices work with deployments to manageupdating or adding new pods.Let’s say we want to deploy a new version of ourweb app as a ‘canary’ and see how it handlestraffic.
  • 23.
    DeploymentsIPIPIPServiceIPReplication setversion =1count = 3The deployment creates a new replication setfor our new pod version.Replication setversion = 2count = 1IPDeployment
  • 24.
    DeploymentsIPIPIPServiceIPReplication setversion =1count = 3Only after the new pod returns a healthystatus to the service do we add more newpods and scale down the old.Replication setversion = 2count = 1IPDeploymentReplication setversion = 1count = 0Replication setversion = 2count = 3
  • 26.
  • 27.
    Lab Architecture$ kubectlget podNAME READY STATUS RESTARTS AGEecsdemo-crystal-844d84cb86-vkpmg 1/1 Running 0 4m57secsdemo-frontend-6df6d9bb9-nj2df 1/1 Running 0 26secsdemo-nodejs-6fdf964f5f-2ftdq 1/1 Running 0 5m38s$ kubectl get svcNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEecsdemo-crystal ClusterIP 10.100.56.118 <none> 80/TCP 4m49secsdemo-frontend LoadBalancer 10.100.63.140 a9efbe276d88611e99c5702f05f1a82d-1003952118.ap-northeast-2.elb.amazonaws.com 80:32268/TCP 5secsdemo-nodejs ClusterIP 10.100.48.163 <none> 80/TCP 5m31s
  • 28.
    Lab ArchitectureI, [2019-09-17T03:26:03.072922#1] INFO -- : Started GET "/" for 192.168.233.51 at 2019-09-17 03:26:03 +0000I, [2019-09-17T03:26:03.075543 #1] INFO -- : Processing by ApplicationController#index as HTMLI, [2019-09-17T03:26:03.081943 #1] INFO -- : uri port is 80I, [2019-09-17T03:26:03.081977 #1] INFO -- : expanded http://ecsdemo-nodejs.default.svc.cluster.local/ to http://ecsdemo-nodejs.default.svc.cluster.local/I, [2019-09-17T03:26:03.089166 #1] INFO -- : uri port is 80I, [2019-09-17T03:26:03.089197 #1] INFO -- : expanded http://ecsdemo-nodejs.default.svc.cluster.local/ to http://ecsdemo-nodejs.default.svc.cluster.local/I, [2019-09-17T03:26:03.092048 #1] INFO -- : uri port is 80I, [2019-09-17T03:26:03.092078 #1] INFO -- : expanded http://ecsdemo-nodejs.default.svc.cluster.local/ to http://ecsdemo-nodejs.default.svc.cluster.local/I, [2019-09-17T03:26:03.121076 #1] INFO -- : uri port is 80I, [2019-09-17T03:26:03.121120 #1] INFO -- : expanded http://ecsdemo-crystal.default.svc.cluster.local/crystal to http://ecsdemo-crystal.default.svc.cluster.local/crystalI, [2019-09-17T03:26:03.128501 #1] INFO -- : uri port is 80I, [2019-09-17T03:26:03.128538 #1] INFO -- : expanded http://ecsdemo-crystal.default.svc.cluster.local/crystal to http://ecsdemo-crystal.default.svc.cluster.local/crystalI, [2019-09-17T03:26:03.135349 #1] INFO -- : uri port is 80I, [2019-09-17T03:26:03.135382 #1] INFO -- : expanded http://ecsdemo-crystal.default.svc.cluster.local/crystal to http://ecsdemo-crystal.default.svc.cluster.local/crystalI, [2019-09-17T03:26:03.146138 #1] INFO -- : Rendered application/index.html.erb within layouts/application (2.5ms)I, [2019-09-17T03:26:03.146535 #1] INFO -- : Completed 200 OK in 71ms (Views: 6.3ms | ActiveRecord: 0.0ms)
  • 29.
    Lab 2.Logging withElasticsearch, Fluentdand KibanaChoi, In Young
  • 30.
    Amazon EKS LoggingWorkerWorkerMasterWorkerWorkerMasterAutoScalinggroupAZ1EKS Cluster RegionAZ2Auto Scaling groupCloudWatchLogsElasticsearchKibanaFluentdDaemonSetKubectl logsElasticsearch (index),Fluentd (store), andKibana (visualize)
  • 31.
    Fluentd – DatacollectorFluentdPODSDaemonsetsHealth & Performance Monitoring• App Containers, Pods, System, Nodes• Kubernetes Events, Unavailable pods• Application Logs & Metrics• System Logs & Metrics• Cluster Capacity, Performance, Network Traffic• Adhoc Analysis & Troubleshooting
  • 32.
    Elasticsearch – Buildfor search and analysisNatural languageBoolean queriesRelevanceText searchHigh-volume ingestNear real timeDistributed storageStreamingTime-based visualizationsNestable statisticsTime series toolsAnalysis0010110100101110001011110011000000110001001100100011001100110100001101010011
  • 33.
    Amazon Elasticsearch ServiceAmazonElasticsearch Service is afully managed service that makesit easy to deploy, manage, andscale Elasticsearch and Kibana
  • 34.
    Benefits of AmazonElasticsearch ServiceTightly Integrated withOther AWS ServicesSeamless data ingestion, security,auditing and orchestrationSupports Open-SourceAPIs and ToolsDrop-in replacement with no needto learn new APIs or skillsEasy to UseDeploy a production-readyElasticsearch cluster in minutesScalableResize your cluster with a fewclicks or a single API callSecureDeploy into your VPC and restrictaccess using security groups andIAM policiesHighly AvailableReplicate across AvailabilityZones, with monitoring andautomated self-healing
  • 35.
    Kibana – Dashboardfor Kubernetes• Open Source Visualization tool builtfor Elasticsearch• Real-time dashboards• Build dashboards for Redis,Kubernetes, System metrics
  • 36.
    Lab ArchitectureAWS CloudAvailabilityZone 1Auto ScalinggroupAvailability Zone 2Auto Scalinggroup
  • 37.
    Lab 3.Monitoring usingPrometheusand GrafanaYoo, Jae Seok
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
    Prometheus & GrafanaMonitoringand alerting solutionTime series databasePromQLMetric analytics & visualization solutionVisualizing time series data
  • 43.
  • 44.
  • 45.
  • 46.
    Lab 4.CI/CD -GitOps with Weave FluxKim, Kwang Young
  • 48.
    Release process stagesSourceBuild Test Production• Integration testswith othersystems• Load testing• UI tests• Security testing• Check-in sourcecode such as .javafiles• Peer review newcode• Compile code• Unit tests• Style checkers• Create containerimages andfunctiondeploymentpackages• Deployment toproductionenvironments• Monitor code inproduction toquickly detecterrors• Check-in sourcecode such as .javafiles• Peer review newcode• Compile code• Unit tests• Style checkers• Create containerimages andfunctiondeploymentpackages• Integration testswith othersystems• Load testing• UI tests• Security testing
  • 49.
    Release process stagesSourceBuild Test Production
  • 50.
    AWS Developer ToolsSourceBuild Test Deploy MonitorAWS CodeBuild +third partySoftware release stepsAWS CodeCommit AWS CodeBuild AWS CodeDeployAWS CodePipelineAWSCodeStarAWS X-RayAmazonCloudWatch
  • 52.
    Approaches to modernapplication development• Accelerate the delivery of new, high-quality services with CI/CD• Simplify environment management with serverless technologies• Reduce the impact of code changes with microservice architectures• Automate operations by modeling applications and infrastructure as code• Gain insight across resources and applications by enabling observability• Protect customers and the business with end-to-end security and compliance
  • 53.
    Approaches to modernapplication development• Accelerate the delivery of new, high-quality services with CI/CD• Simplify environment management with serverless technologies• Reduce the impact of code changes with microservice architectures• Automate operations by modeling applications and infrastructure as code• Gain insight across resources and applications by enabling observability• Protect customers and the business with end-to-end security and compliance
  • 54.
    Effects of CI/CDSource:2018 DORA State of DevOps reportDeployment frequency Weekly–monthly Hourly–dailyChange lead time 1–6 months 1–7 daysChange failure rate 46%–60% 0%–15%48% ofsoftwareteams
  • 56.
    CodePipeline• Continuous deliveryservice for fast and reliable application updates• Model and visualize your software release process• Builds, tests, and deploys your code every time there is a code change• Integrates with third-party tools and AWS
  • 57.
    CodeBuild• Fully managedbuild service that compiles sourcecode, runs tests, and produces software packages• Scales continuously and processes multiple buildsconcurrently• No build servers to manage• Pay by the minute, only for the computeresources you use• Monitor builds through CloudWatch Events
  • 58.
    CodeBuild• Each buildruns in a new Docker container fora consistent, immutable environment• Docker and AWS Command Line Interface (AWS CLI) are installed in every official CodeBuild image• Provide custom build environments suited to yourneeds through the use of Docker images
  • 59.
    Elastic Container Registry•Fully managed private Docker Registry• Supports Docker Registry HTTP API V2• Scalable, available, durable architecture• Secure: encrypt at rest, control access with IAM• Manage image lifecycle• Integrated with other AWS services• Supports Immutable Image Tags
  • 61.
  • 62.
    Benefis of GitopsAutomateddelivery pipelines roll out changes to your infrastructurewhen changes are made to Git. But the idea of GitOps goes further thanthat – it uses tools to compare the actual production state of your wholeapplication with what’s under source control and then it tells you whenyour cluster doesn’t match the real worldIncreased ProductivityEnhanced Developer ExperienceImproved StabilityHigher ReliabilityConsistency and StandardizationStronger Security Guarantees
  • 63.
  • 64.
    Lab 5.Calico orKubeflowJeong YoungJoon
  • 65.
    IntroductionNetwork architecture isone of the more complicated aspects of many Kubernetes installations. The Kubernetes networking model itself demandscertain network features but allows for some flexibility regarding the implementation. As a result, various projects have been released to address specific environments and requirements.
  • 66.
    BackgroundContainer networking isthe mechanism through which containers can optionally connect to other containers, the host, and outside networks like the internet.For example Docker can configure the following networks for a container by default:• none: Adds the container to a container-specific network stack with noconnectivity.• host: Adds the container to the host machine’s network stack, with no isolation.• default bridge: The default networking mode. Each container can connect withone another by IP address.• custom bridge: User-defined bridge networks with additional flexibility, isolation,and convenience features.
  • 67.
    Native VPC networkingwithCNI pluginPods have the same VPCaddress inside the podas on the VPCSimple, securenetworkingOpen source andon Github…{ }
  • 68.
    CNI InfrastructureR un t i m eN e t w o r kp l u g i nN e t w o r kc o n f i g u r a t i o n
  • 69.
    Nginx PodJava PodENISecondaryIPs:10.0.0.110.0.0.2Veth IP: 10.0.0.1Veth IP: 10.0.0.2Nginx PodJava PodENIVeth IP: 10.0.0.20Veth IP: 10.0.0.22Secondary IPs:10.0.0.2010.0.0.22ec2.associateaddress()VPC Subnet – 10.0.0.0/24Instance 1 Instance 2
  • 70.
    VPC CNI networkinginternalsK u b e l e tV P C C N Ip l u g i n1 . C N I A d d / D e l e t eE C 2E N I E N I E N IP o d P o d P o d P o dV P CN e t w o r k.........0 . C r e a t e E N I2 . S e t u p v e t h
  • 71.
    VPC CNI pluginarchitectureK u b e l e tV P C C N Ip l u g i nN e t w o r k l o c a lc o n t r o l p l a n eE N I s /S e c o n d a r y I P sC N I A d d / D e l e t eg R P CE C 2
  • 72.
    Packet flow :pod - to - podE C 2Default namespacePod namespaceveth vethMain RTE C 2Default namespacePod namespacevethRouteTableMain RTENI RTvethVPCfabricENI RTRouteTable
  • 73.
    Packet flow :pod - to externalE C 2Default namespacePod namespacevethRoute TableMain RTENI RTvethExternalNetworkIPTables
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
    Lab 6.Service Meshwith App MeshJeong, Jun Woo
  • 80.
    Introducing AWS AppMeshService mesh for AWSObservability and traffic controlEasily export logs, metrics, and tracesClient-side traffic policies—circuit breaking, retriesRoutes for deploymentsWorks across clusters and container servicesAmazon ECSAmazon EKSKubernetes on EC2AWS built and runManaged control planeProduction-grade
  • 81.
    App Mesh usesEnvoy proxyOSS project managed by CNCFStarted at Lyft in 2016Wide community support, numerous integrationsStable and production-proven
  • 82.
    AWS App Meshconfigures every proxyMicroserviceProxy
  • 83.
    Easily deliver configurationand receive dataInfraOperatorApplicationDeveloper MetricsIntentMicroserviceProxy
  • 84.
    Why AWS AppMeshLibraries or application code vs. meshOverall - migrate to microservices safer and fasterReduce work requiredby developersProvide operationalcontrols decoupledfrom application logicUse any languageor platformSimplify visibility,troubleshooting, anddeployments
  • 85.
    Traffic controlsRouting optionsServicediscoveryRetriesTimeoutsError-code recognitionRouting controlsAccessQuotasRate limitsWeights
  • 86.
    Application observability+ othersUniversalmetricscollection fora wide range ofmonitoring tools
  • 87.
    App Mesh ConstructsMeshVirtualnodeVirtual router and routesVirtual serviceCreate and manage these in AppMesh API, CLI, SDK, orAWS Management ConsoleProxiesServicesService discoveryConfigure and run proxies andservices on Amazon ECS, Fargate,Amazon EKS, Amazon EC2Service discovery withAWS Cloud Map
  • 88.
    Mesh – [sample_app]VirtualrouterHTTP routeTargets:Prefix: /BB’Virtualnode AServicediscoveryListener Backends Virtualnode BServicediscoveryListener BackendsVirtualnode B’ServicediscoveryListener BackendsBBB’B’AConnecting microservices
  • 90.
    Lab Procedures1. Createthe k8s app1) Clone the Repo2) Create DJ App3) Test DJ App2. Create the App Mesh Components1) Creating the Injector Controller2) Define the Injector Targets3) Adding the CRDs3. Porting DJ to App Mesh1) Create the Mesh2) Create the Virtual Nodes3) Create the Virtual Services4) Testing the App Mesh
  • 92.
  • 93.
    Create the AppMesh Components
  • 94.
  • 96.

[8]ページ先頭

©2009-2025 Movatter.jp