Amazon Elastic Kubernetes Service (Amazon EKS)를 통하여 오픈소스 컨테이너 오케이스트레이션 도구인 Kubernetes를 신규 도입하고자 하는 고객들이 폭발적으로 늘어나고 있습니다. AWS Cloud Development Kit (AWS CDK) 그리고 CDK8s 를 활용하여 개발자에게 친숙한 프로그래밍 언어로 Amazon EKS를 정의하고 Kubernetes 어플리케이션을 정의하는 데에 활용하는 방법을 소개하여, 새롭게 Amazon EKS를 사용해보고자 하는 고객들이 도입을 가속화할 수 있는 방법을 제시합니다.
** Kubernetes Certification Training: https://www.edureka.co/kubernetes-certification **
This Edureka tutorial on "Kubernetes Architecture" will give you an introduction to popular DevOps tool - Kubernetes, and will deep dive into Kubernetes Architecture and its working. The following topics are covered in this training session:
1. What is Kubernetes
2. Features of Kubernetes
3. Kubernetes Architecture and Its Components
4. Components of Master Node and Worker Node
5. ETCD
6. Network Setup Requirements
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
This document provides an overview and agenda for an AWS webinar on Amazon EKS (Elastic Kubernetes Service). The key topics to be covered include: Kubernetes concepts and architecture; EKS features such as high availability, auto-scaling, and integration with IAM; networking and security with EKS; and best practices for running containers on EKS. The webinar aims to explain how EKS provides a fully managed Kubernetes service on AWS.
The document discusses Amazon EKS (Elastic Kubernetes Service), which allows users to run Kubernetes on AWS. It highlights that EKS manages the control plane for users and provides native integrations with other AWS services like load balancers, IAM, and container registry. The document also summarizes key capabilities like high availability of the Kubernetes masters, networking options, version upgrades, and how to provision Kubernetes nodes on EKS.
Modernizing applications with Amazon EKS - MAD304 - Santa Clara AWS Summit.pdfAmazon Web Services
In this session, learn how to easily containerize and migrate existing applications to Amazon Elastic Container Service for Kubernetes (Amazon EKS) without needing to refactor your code or tooling. Amazon EKS makes it easy to deploy, manage, and scale containerized applications using Kubernetes on AWS.
Amazon EKS Architecture in detail including CNI/Networking, IAM, Provisioning, Shared Responsibility Model, Project Calico, Load Balancing, Logging/Metrics, CI/CD using AWS CodePipeline, CodeCommit, CodeBuild, Lambda, Amazon ECR and Parameter Store and finally the use of Spot Instances which could yield a savings of 70-90% versus conventional on-demand EC2 instances.
The document describes Amazon EKS (Elastic Container Service for Kubernetes), including an overview of EKS, its architecture, features, and integration with other AWS services. Key points include: EKS manages Kubernetes control planes and nodes are launched in the customer's VPC, EKS supports networking via the AWS VPC CNI plugin, and EKS provides security and access management using IAM roles and policies.
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌BESPIN GLOBAL
지난 11월 Bespin Gaming Day 행사의 발표 자료를 통해 AWS에서 컨테이너를 활용하는 방법을 알아보겠습니다.
AWS에서는 사용 목적에 따라 다양한 컨테이너 서비스를 제공합니다.
- Management 스케쥴링, 스케일링, 배포, 전략: Amazon ECS, Amazon EKS
- Hosting 컨테이너가 수행되는 곳: Amazon EC2, AWS Fargate
- Image Registry 컨테이너 이미지 저장소: Amazon ECR
컨테이너 및 쿠버네티스 관련 서비스 중 Amazon EKS, Amazon ECS, AWS Fargate에 대해 보다 자세히 살펴보실 수 있습니다.
This talk discusses the core concepts behind the Kubernetes extensibility model. We are going to see how to implement new CRDs, operators and when to use them to automate the most critical aspects of your Kubernetes clusters.
An in depth overview of Kubernetes and it's various components.
NOTE: This is a fixed version of a previous presentation (a draft was uploaded with some errors)
The document discusses continuous integration, continuous deployment, and infrastructure as code best practices for releasing modern applications on AWS. It covers AWS services like CodePipeline, CodeBuild, and CodeDeploy that can be used to automate the build, test, and deployment process. It also discusses using the AWS Cloud Development Kit (CDK) to model infrastructure as code and define pipelines through reusable constructs. The overall goal is to enable automated deployments of new changes to staging environments for testing and reduce deployment lead times and change failure rates for production deployments.
Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...Amazon Web Services Korea
컨테이너를 활용하고자 하는 고객은 많이 있지만, 일정 규모 이상의 서비스를 하려면 오케스트레이션 플랫폼이 필수적 입니다. 직접 물리/가상 서버를 이용하여 컨테이너 플랫폼을 설치하는 방법도 있지만 이 경우 설치, 모니터링, 용량관리, 트래픽 처리 등 다양한 문제들을 마주하게 됩니다. AWS의 완전 관리형 쿠버네티스 서비스인 EKS를 통해 클러스터에 운영 시 고려해야하는 다양한 문제를 보다 쉽게 해결할 수 있습니다. 또한 다양한 에코 시스템과 연동하여 탄력적이고 비용 효율적인 모델을 서비스할 수 있도록 소개해 드립니다.
Kubernetes is a platform for managing containerized workloads and services that provides a container-centric management environment. It aims to provide high utilization, high availability, minimize fault recovery time, and reduce the probability of correlated failures through a declarative job specification language, name service integration, real-time job monitoring, and analyzing and simulating system behavior using APIs and dashboards. Kubernetes can manage 100,000s of jobs, 1000s of applications across multiple clusters each with 10,000s of machines.
Kubernetes is an open source container orchestration system that automates the deployment, maintenance, and scaling of containerized applications. It groups related containers into logical units called pods and handles scheduling pods onto nodes in a compute cluster while ensuring their desired state is maintained. Kubernetes uses concepts like labels and pods to organize containers that make up an application for easy management and discovery.
The document discusses Amazon Web Services container management services and Kubernetes. It provides an overview of AWS services like Amazon ECS, EKS, Fargate, ECR, Cloud Map and App Mesh. It also describes Kubernetes concepts like pods, deployments, services, namespaces and control plane/data plane architecture. Amazon EKS is highlighted as a managed Kubernetes service that makes it easy to run Kubernetes on AWS without operating the control plane.
This document provides an overview of Kubernetes including:
1) Kubernetes is an open-source platform for automating deployment, scaling, and operations of containerized applications. It provides container-centric infrastructure and allows for quickly deploying and scaling applications.
2) The main components of Kubernetes include Pods (groups of containers), Services (abstract access to pods), ReplicationControllers (maintain pod replicas), and a master node running key components like etcd, API server, scheduler, and controller manager.
3) The document demonstrates getting started with Kubernetes by enabling the master on one node and a worker on another node, then deploying and exposing a sample nginx application across the cluster.
컨테이너 및 서버리스를 위한 효율적인 CI/CD 아키텍처 구성하기 - 현창훈 데브옵스 엔지니어, Flex / 송주영 데브옵스 엔지니어, W...Amazon Web Services Korea
최근에 컨테이너 및 서버리스 환경의 지속적 통합 및 배포 (CI/CD)에 대한 관심이 늘어나고 있습니다. 본 세션에서는 Amazon EKS를 기반한 효율적인 CI/CD를 구축하기 위해, Statefulset으로 Jenkins/Argocd로 배포 시간 단축 및 기능별 브랜치로 테스트 인프라 구성사례를 소개합니다. DevOpsArt의 오픈소스 프로젝트 중 하나인 klocusts는 로드테스팅 도구인 Locust 를 쉽게 관리하기 위한 도구입니다. 이를 통해 EKS 기반 Fargate 활용사례도 같이 알아봅니다.
AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트:: AWS S...Amazon Web Services Korea
발표영상 다시보기: https://youtu.be/_lceAtDmlto
MSA 혹은 다양한 이유로 컨테이너 오케스트레이션 플랫폼인 Kubernetes를 사용합니다. 하지만 production scale의 kubernetes 클러스터를 만드는 것은 굉장히 큰 도전이며 또한 완전히 Containerized 된 세계 즉, Kubernetes 환경에서 Devops 환경을 구축하는것은 더 많은 고민을 하게 만듭니다. 본 세션에서는 AWS의 다양한 서비스를 활용하여 AWS의 Kubernetes 서비스인 EKS 환경에서 손쉽게 Devops 환경을 구축하는 법을 소개합니다.
AWS에서 Kubernetes 실행하기
황경태 솔루션즈 아키텍트, AWS
본 세션에서는 AWS의 관리형 Kubernetes 서비스인 EKS에 대해 3가지 파트 1.구성요소와 아키텍처, 2. 대규모 해외 고객사례, 3. EKS 기반 마이크로서비스 데모 를 살펴봅니다. 컨트롤/데이터 플레인, 네트워크, 인증&권한, CI/CD, 로깅 및 모니터 등 필수적인 기술요소와 실제 동작모습을 이해하고, 실 고객사례를 통해 대형 Kubernetes 클러스터 구성과 조직에 대해서도 알아봅니다.
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdfOpen Source Consulting
최근 금융권이나 공공기관에서는 차세대 프로젝트에 PaaS 기반 시스템을 구축하고 그 위에 마이크로서비스아키텍처(MSA)를 구현하기 위해 많은 투자를 하고 있는데요, 많은 기업들이 오픈소스 기반의 인프라를 고려할 때 기술지원이나 버전 업그레이드 등에 대한 애로사항을 겪게 됩니다. 이런 문제에 대한 해결 방안 중 하나가 바로 커뮤니티 기반의 오픈소스 재단을 활용하는 것인데요!
본 자료에서 커뮤니티 오픈소스 기반 인프라 구축의 장점과 실제 사례에 대해 확인해 보실 수 있습니다.
클라우드 네이티브로 가는길 - AWS 컨테이너 서비스 파헤치기 - 최진영 AWS 테크니컬 트레이너 / 배주혁 소프트웨어 엔지니어, 삼성전자...Amazon Web Services Korea
애플리케이션 현대화를 위한 첫 걸음이 된 컨테이너 서비스는 매우 다양한 종류와 옵션들을 가지고 있으며, AWS re:Invent 2020에서도 컨테이너 관련 서비스들에 대한 다양한 업데이트가 추가 되었습니다. AWS 의 다양한 컨테이너 서비스를 활용하면 어떻게 기존의 애플리케이션을 마이그레이션 하는지, 컨테이너를 활용하게 되면 어떠한 장점이 있는지를 알아봅니다.
Pivotal은 개발자 생산성을 높이고 운영비용을 줄이면서 성공적인 비지니스를 할 수 있도록 개발 환경의 혁신 문화와 플랫폼을 제공하고 있습니다.
본 세션에서는 플랫폼의 구조와 효과에 대해 소개하며 기업이 진정한 기술선도 업체로 발전해 갈 수 있도록 혁신적은 플랫폼 *PAS, *PKS를 소개합니다.
*PAS: Pivotal Application Service로 개발자에게 기능 구현 속도를 높이고, 운영 팀은 세계 최고 수준의 가용성을 제공해주는 서비스입니다.
*PKS: Pivotal Container Service로 Kubernates의 배포, 관리, 모니터링, 업데이트 등을 자동화하고 Pivotal에서 관리해주는 서비스입니다
BRK3713 - Microsoft Azure에서 Windows와 Linux를 동시에 사용하는 하이브리드 Kubernetes 클러스터 구축Jung Hyun Nam
이 세션에서는 Windows Kubernetes 클러스터를 구축하는 방법에 대해 자세히 설명하고 Windows 노드와 Linux 노드를 동시에 구성 할 수있는 하이브리드 Kubernetes 클러스터와 함께 Polyglot DevOps 환경을 활용하는 예제를 제공합니다.
Windows 기반 노드를 Linux 기반 노드로 구성된 기존 Kubernetes 클러스터에 통합하여 복잡한 응용 프로그램을 호스팅하는 방법을 배울 수 있습니다.
Session 1. 디지털 트렌스포메이션의 핵심, 클라우드 마이그레이션 A to Z - 베스핀글로벌 이근우 위원BESPIN GLOBAL
전 세계적으로 클라우드 기반의 디지털 트랜스포메이션이 빠르게 진행되고 있음에도 불구하고, 기업에서 클라우드를 도입하고 마이그레이션 하는 과정은 여전히 어려움이 많습니다. 성공적인 마이그레이션은 클라우드로의 단순 인프라 변경에서 그치는 것이 아니라 비즈니스와 프로세스가 함께 변화할 때 완성될 수 있습니다.
그리고 그 변화의 중심에는 인공지능(AI)과 머신러닝(ML)이 있습니다. 인공지능과 머신러닝은 모든 것을 자동화하여 스스로 데이터를 분류하며 유의미한 가치를 찾아냅니다. 바로 여기에서부터 기업의 비즈니스 혁신은 시작됩니다.
클라우드로의 디지털 트랜스포메이션 전략과 인공지능/머신러닝을 활용한 비즈니스 혁신 방법 중, 어떻게 성공적으로 클라우드 마이그레이션을 할 수 있을지에 대해 이번 세션을 통해 알아보겠습니다.
* 발표 동영상: https://youtu.be/xWSk3h4IlcY
데브옵스는 애플리케이션과 서비스를 빠른 속도로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합입니다. 기존의 소프트웨어 개발 및 인프라 관리 프로세스를 사용하는 조직보다 제품을 더 빠르게 혁신하고 개선할 수 있도록 AWS 에서는 어떻게 도움 드릴 수 있는지 알아봅니다.
NexClipper is an open source software to monitor and manage performance for cloud native computing - Docker and Kubernetes. NexClipper features the following capabilities:
Fullstack dashboard (Kubernetes and Infrastructure)
Container Cluster (Kuberentes cluster, nodes and worklodas)
Infrastruture Monitoring (Docker Container, Host, Resource)
Incidents Management (Rule set and alert manager) (#30)
Rest API service (Soon)
Dashboard Enhancement to replace k8s dashboard (Soon)
Dashboard Enhancement for customizing (Plan)
Global view and multi tenancy (Plan)
Prometheus Integration (Plan)
Workload management and deployment (Plan)
Resource analytics and forecasting (Plan)
Openshift 활용을 위한 Application의 준비, Cloud Nativerockplace
What is Cloud-native - DevOps, MSA and Cloud-native: Openshift 활용을 위한 Application의 준비, Cloud Native
*웨비나 다시보기 영상 바로가기:
https://www.youtube.com/watch?v=tzSBS-vki6w
Similar to Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021 (20)
클라우드에서 Database를 백업하고 복구하는 방법에 대해 설명드립니다. AWS Backup을 사용하여 전체백업/복구 부터 PITR(Point in Time Recovery)백업, 그리고 멀티 어카운트, 멀티 리전등 다양한 데이터 보호 방법을 소개합니다(데모 포함). 또한 self-managed DB 의 데이터 저장소로 Amazon FSx for NetApp ONTAP 스토리지 서비스를 사용할 경우 얼마나 신속하게 데이터를 복구/복제 할수 있는지 살펴 봅니다.
기업은 이벤트나 신제품 출시 등으로 예기치 못한 트래픽 급증 시 데이터베이스 과부하, 서비스 지연 및 중단 등의 문제를 겪곤 합니다. Aurora 오토스케일링은 프로비저닝 시간으로 인해 실시간 대응이 어렵고, 트래픽 대응을 위한 과잉 프로비저닝이 발생합니다. 이러한 문제를 해결하기 위해 프로비저닝된 Amazon Aurora 클러스터와 Aurora Serverless v2(ASV2) 인스턴스를 결합하는 Amazon Aurora 혼합 구성 클러스터 아키텍처와 고해상도 지표를 기반으로 하는 커스텀 오토스케일링 솔루션을 소개합니다.
Amazon Aurora 클러스터를 초당 수백만 건의 쓰기 트랜잭션으로 확장하고 페타바이트 규모의 데이터를 관리할 수 있으며, 사용자 지정 애플리케이션 로직을 생성하거나 여러 데이터베이스를 관리할 필요 없이 Aurora에서 관계형 데이터베이스 워크로드를 단일 Aurora 라이터 인스턴스의 한도 이상으로 확장할 수 있는 Amazon Aurora Limitless Database를 소개합니다.
Amazon Aurora MySQL 호환 버전 2(MySQL 5.7 호환성 지원)는 2024년 10월 31일에 표준 지원이 종료될 예정입니다. 이로 인해 Aurora MySQL의 메이저 버전 업그레이드를 검토하고 계시다면, Amazon Blue/Green Deployments는 운영 환경에 영향을 주지 않고 메이저 버전 업그레이드를 할 수 있는 최적의 솔루션입니다. 본 세션에서는 Blue/Green Deployments를 통한 Aurora MySQL의 메이저 버전 업그레이드를 실습합니다.
Amazon DocumentDB(MongoDB와 호환됨)는 빠르고 안정적이며 완전 관리형 데이터베이스 서비스입니다. Amazon DocumentDB를 사용하면 클라우드에서 MongoDB 호환 데이터베이스를 쉽게 설치, 운영 및 규모를 조정할 수 있습니다. Amazon DocumentDB를 사용하면 MongoDB에서 사용하는 것과 동일한 애플리케이션 코드를 실행하고 동일한 드라이버와 도구를 사용하는 것을 실습합니다.
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...Amazon Web Services Korea
Database Migration Service(DMS)는 RDBMS 이외에도 다양한 데이터베이스 이관을 지원합니다. 실제 고객사 사례를 통해 DMS가 데이터베이스 이관, 통합, 분리를 수행하는 데 어떻게 활용되는지 알아보고, 동시에 데이터 분석을 위한 데이터 수집(Data Ingest)에도 어떤 역할을 하는지 살펴보겠습니다.
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Web Services Korea
Amazon ElastiCache는 Redis 및 MemCached와 호환되는 완전관리형 서비스로서 현대적 애플리케이션의 성능을 최적의 비용으로 실시간으로 개선해 줍니다. ElastiCache의 Best Practice를 통해 최적의 성능과 서비스 최적화 방법에 대해 알아봅니다.
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Amazon Web Services Korea
ccAmazon Aurora 데이터베이스는 클라우드용으로 구축된 관계형 데이터베이스입니다. Aurora는 상용 데이터베이스의 성능과 가용성, 그리고 오픈소스 데이터베이스의 단순성과 비용 효율성을 모두 제공합니다. 이 세션은 Aurora의 고급 사용자들을 위한 세션으로써 Aurora의 내부 구조와 성능 최적화에 대해 알아봅니다.
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...Amazon Web Services Korea
오랫동안 관계형 데이터베이스가 가장 많이 사용되었으며 거의 모든 애플리케이션에서 널리 사용되었습니다. 따라서 애플리케이션 아키텍처에서 데이터베이스를 선택하기가 더 쉬웠지만, 구축할 수 있는 애플리케이션의 유형이 제한적이었습니다. 관계형 데이터베이스는 스위스 군용 칼과 같아서 많은 일을 할 수 있지만 특정 업무에는 완벽하게 적합하지는 않습니다. 클라우드 컴퓨팅의 등장으로 경제적인 방식으로 더욱 탄력적이고 확장 가능한 애플리케이션을 구축할 수 있게 되면서 기술적으로 가능한 일이 달라졌습니다. 이러한 변화는 전용 데이터베이스의 부상으로 이어졌습니다. 개발자는 더 이상 기본 관계형 데이터베이스를 사용할 필요가 없습니다. 개발자는 애플리케이션의 요구 사항을 신중하게 고려하고 이러한 요구 사항에 맞는 데이터베이스를 선택할 수 있습니다.
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...Amazon Web Services Korea
실시간 분석은 AWS 고객의 사용 사례가 점점 늘어나고 있습니다. 이 세션에 참여하여 스트리밍 데이터 기술이 어떻게 데이터를 즉시 분석하고, 시스템 간에 데이터를 실시간으로 이동하고, 실행 가능한 통찰력을 더 빠르게 얻을 수 있는지 알아보십시오. 일반적인 스트리밍 데이터 사용 사례, 비즈니스에서 실시간 분석을 쉽게 활성화하는 단계, AWS가 Amazon Kinesis와 같은 AWS 스트리밍 데이터 서비스를 사용하도록 지원하는 방법을 다룹니다.
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon Web Services Korea
Amazon EMR은 Apache Spark, Hive, Presto, Trino, HBase 및 Flink와 같은 오픈 소스 프레임워크를 사용하여 분석 애플리케이션을 쉽게 실행할 수 있는 관리형 서비스를 제공합니다. Spark 및 Presto용 Amazon EMR 런타임에는 오픈 소스 Apache Spark 및 Presto에 비해 두 배 이상의 성능 향상을 제공하는 최적화 기능이 포함되어 있습니다. Amazon EMR Serverless는 Amazon EMR의 새로운 배포 옵션이지만 데이터 엔지니어와 분석가는 클라우드에서 페타바이트 규모의 데이터 분석을 쉽고 비용 효율적으로 실행할 수 있습니다. 이 세션에 참여하여 개념, 설계 패턴, 라이브 데모를 사용하여 Amazon EMR/EMR 서버리스를 살펴보고 Spark 및 Hive 워크로드, Amazon EMR 스튜디오 및 Amazon SageMaker Studio와의 Amazon EMR 통합을 실행하는 것이 얼마나 쉬운지 알아보십시오.
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon Web Services Korea
로그 및 지표 데이터를 쉽게 가져오고, OpenSearch 검색 API를 사용하고, OpenSearch 대시보드를 사용하여 시각화를 구축하는 등 Amazon OpenSearch의 새로운 기능과 기능에 대해 자세히 알아보십시오. 애플리케이션 문제를 디버깅할 수 있는 OpenSearch의 Observability 기능에 대해 알아보세요. Amazon OpenSearch Service를 통해 인프라 관리에 대해 걱정하지 않고 검색 또는 모니터링 문제에 집중할 수 있는 방법을 알아보십시오.
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Amazon Web Services Korea
데이터 거버넌스는 전체 프로세스에서 데이터를 관리하여 데이터의 정확성과 완전성을 보장하고 필요한 사람들이 데이터에 액세스할 수 있도록 하는 프로세스입니다. 이 세션에 참여하여 AWS가 어떻게 분석 서비스 전반에서 데이터 준비 및 통합부터 데이터 액세스, 데이터 품질 및 메타데이터 관리에 이르기까지 포괄적인 데이터 거버넌스를 제공하는지 알아보십시오. AWS에서의 스트리밍에 대해 자세히 알아보십시오.
3. CDK
• 쿠버네티스 관리의 어려움
• AWS Cloud Development Kit
• Demo
• CDK 이용 효과
Agenda
CDK8s
• CDK8s?
• Demo
• GitOps 실제 적용 패턴
4. CNCF 2020 서베이 결과
•컨테이너를 프로덕션에서 사용하는 비율이 92%로 증가.
• 2019년 84%
• 2016년 첫 서베이 기준 300% 성장
•쿠버네티스를 프로덕션에서 사용하는 비율이 83%로 증가
• 2019년 78%
5. 쿠버네티스 관련 자원의 계층
Infrastructure
Platform
Application 비즈니스 어플리케이션
K8S 클러스터 관련 자원
Namespace, Add-ons, Monitoring / Logging..
인프라 레벨 자원
EC2 인스턴스, 네트워크 설정, 보안 설정
6. 클러스터를 확장해야 한다면?
Amazon Elastic
Kubernetes Service
Region
Amazon Elastic
Kubernetes Service
Amazon Elastic
Kubernetes Service
8. 혹은 다른 계정으로?
AWS Account (prod)
AWS Account (stage)
Amazon Elastic
Kubernetes Service
Amazon Elastic
Kubernetes Service
Amazon Elastic
Kubernetes Service
AWS Account (dev)
12. 자원이 적을 때는 쉽습니다
YAML
자원이 많아지면 단점이 드러나죠
• 읽기 쉬움
• 어디서든 통용됨
• Declarative – desired state
• 정적
• 끝없는 복사/붙여넣기
• 커스터마이즈가 필요하다?
− 한땀씩 손으로
− 별도 툴 사용
• 업데이트가 복잡
15. Amazon Elastic
Kubernetes Service
Managed node group Auto scaling group
with spot instances
Fargate profile
Namespaces (probably with ResourceQuota)
ClusterAutoscaler
Metrics-server
Ingress Controller
Argo/Flux
Cloudwatch Container Insights / Prometheus
AppMesh
…
EKS 클러스터를 원하는 대로 모델링해보세요
클러스터 별로 반드시 포함되어야 하는
쿠버네티스 자원
• 3개 AZ에 걸친 프라이/ 퍼블릭
서브넷을 가진 VPC
• 최소한의 통신 만을 허용하는
보안그룹 정책
• 다양한 컴퓨팅 옵션을 활용하는
EKS 클러스터
22. Cloud DevelopmentKit for Kubernetes
CDK8s
개발자 친화적인 프로그래밍 언어와
풍부한 객체지향 API를 이용하여
Kubernetes 애플리케이션과 재사용가능한
추상화를 정의할 수 있는 소프트웨어 개발
프레임워크
CDK8s 는 순수한 Kubernetes YAML 파일을 생성.
(현재 베타 릴리즈 v1.0.0-beta.9)
23. 손쉽게 Kubernetes 애플리케이션을 정의
익숙한 프로그래밍 언어로 Kubernetes
애플리케이션을 정의합니다
현재:
Javascript, Typescript, Python, Java
지원예정:
Go, .NET 외 다른 언어
24. 라이브러리를 통하여 베스트 프랙티스를 공유
코드 라이브러리를 통하여 베스트 프렉티스를
작성하고 재사용가능한 컴포넌트를 공유합니다.
라이브러리는 템플릿보다 업데이트하고
유지보수하고 공유하는 것이 더 쉽습니다.
CDK8s를 사용하여 Kubernetes 애플리케이션을
정의하는 것을 표준화 할 수 있습니다.
25. 애플리케이션 워크플로우를 단순화
애플리케이션을 개발하는 것과 동일한 툴을
사용하여 워크플로우를 정의합니다.
CDK8s를 GitOps와 함께 사용하면
애플리케이션을 작성할 때와 그 것을 위한 설정을
모두 코드로 작성이 가능하고 그 것들을 CI/CD
파이프라인을 통하여 여러분의 Kubernetes
클러스터에 배포할 수 있습니다.
26. 모든 쿠버네티스 환경에서 실행 가능
어떤 Kubernetes 환경에서도 실행됩니다.
CDK8s는 로컬 환경에서 실행이 되고 YAML 파일을
생성하기 때문에 이것을 이용해 어떤 Kubernetes
클러스터에도 배포가 가능합니다.
온프레미스를 비롯하여 어떤 클라우드를 사용하더라도
코드를 통해 표준화 할 수 있습니다.
31. Ops practices using Git
Recap: GitOps란 무엇인가요 ?
빌드
테스트
IDE
배포
오퍼레이션
관리
모니터링
추적 / 로깅
GIT
• Git 레토지토리를 어떤 시스템의
원하는 상태 (desired state) 의
근거 ( single source of truth) 로
사용합니다.
• 모든 의도된 오퍼레이션들은
“Pull Request”를 통해서
코드로 커밋이 됩니다.
• 의도한 상태와 관찰된 상태의
모든 차이점을 자동화된 방법으로
수렴하여 운영합니다.
32. SRE는 가동 중단의 약 70 %가
라이브 시스템의 변경으로 인한 것을
발견했습니다.
From Site Reliability Engineering,
Google Runs Production Systems
33. CI + Gitops = ❤️ ❤️ ❤️
GitOPS를 CI/CD에 도입하여 얻는 장점
DEVOPS
AWS CodeBuild Amazon Elastic Container
Registry
FluxCD
Kubernetes
API Server
Push
Triggers Docker push
Watch
Sync
Push
Apply/Delete
AWS CodePipeline
K8S Manifest Repo
App Code Repo
Deployment
배포 문제를 분리
36. Pattern 1 Pattern 2
애자일 DevOps 패턴 앤터프라이즈 패턴
개발팀이 인프라에 대한
제어권을 갖고 있는 경우
개발팀과 운영팀이
분리되어 있는 경우
37. Pattern 1 Pattern 2
애자일 DevOps 패턴 앤터프라이즈 패턴
개발팀이 인프라에 대한
제어권을 갖고 있는 경우
개발팀과 운영팀이
분리되어 있는 경우
38. 인프라 및 Kubernetes 클러스터 설정/매니페스트 변경을 한번에 배포
CDK+CDKS8S exsists in 1 Code repo, managed by Devops team
애자일 DevOps 패턴
DEVOPS
AWS CodeBuild Amazon Elastic Container
Registry
Triggers Docker push
Pull
AWS CodePipeline
AWS CodeBuild
AWS CodePipeline
Pull
CDK Deploy
Amazon Elastic
Container Kubernetes
Triggers
AWS Lambda
RepositoryAPI를사용하여이미지태그업데이트를위한PR생성
Amazon EventBridge
Event
Triggers
Push
Push
인프라/플랫폼 자원을 위한CDK
쿠버네티스 어플리케이션을 위한 CDK8s
App Code Repo
39. CDK+CDK8s 제공하는 강력한 통합성
• 애플리케이션 변경이 인프라 변경을 동시에 요구하는 경우
• 애플리케이션이 AWS 리소스들의 정보를 필요로 하는 경우 ( RDS endpoint, ES
endpoint, SNS Topic)
• 테스트나 벤치마크 테스트 데모 등을 위하여 전체 클러스터 환경을 복제해서 구성해야
하는 경우
45. 결론 및 핵심사항 요약
• CDK / CDK8s는 개발자를 yaml 엔지니어링에서 벗어나서
친숙한 프로그래밍 언어를 사용하도록 해줍니다.
• CDK / CDK8s는 여러분의 개발/운영 조직의 모범 사례를 강화하고
그것을 공유하기 쉽도록 만듭니다.
• GitOps는 CI로부터 CD 의 운영 고려요소를 분리해주는 최고의 모범사례 중
하나 입니다.
• CDK / CDK8s를 적용한 GitOps 패턴은 사용자의 시나리오에 따라서
다양하게 달라질 수 있습니다.
• CDK / CDK8s / GitOps 를 사용하면 인프라를 포함한 애플리케이션의
통합적인 가시성을 확보 할 수 있습니다.