에서 개발 운영 엔지니어로이 튜토리얼에서는, 나는 내 경험을 공유 Cloudify.co는 , 이것은이다 두번째 이후 의 튜토리얼 나는 우리가에서 만든 VPC에 기반 클러스터 EKS 만드는 방법을 설명 할에 이전 게시물.
미래 게시 게시물 의 CI / CD 구축 :
Amazon Elastic Kubernetes Service (Amazon EKS)는 자체 Kubernetes 제어 플레인을 세우거나 유지 관리 할 필요없이 AWS에서 Kubernetes를 쉽게 실행할 수있는 관리 형 서비스입니다. Kubernetes는 컨테이너화 된 애플리케이션의 배포, 확장 및 관리를 자동화하기위한 오픈 소스 시스템입니다.
Amazon EKS는 고 가용성을 보장하기 위해 여러 가용 영역에서 Kubernetes 제어 플레인 인스턴스를 실행합니다. Amazon EKS는 비정상적인 제어 플레인 인스턴스를 자동으로 감지하고 교체하며 이에 대한 자동 버전 업그레이드 및 패치를 제공합니다.
https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html
eksctl
EC2 용 Amazon의 새로운 관리 형 Kubernetes 서비스 인 EKS에서 클러스터를 생성하기위한 간단한 CLI 도구입니다. Go로 작성되고 CloudFormation을 사용하며 Weaveworks 에서 생성했으며 커뮤니티의 기여를 환영합니다.
스팟 인스턴스는 온 디맨드 가격보다 낮은 가격으로 제공되는 미사용 EC2 인스턴스입니다. 스팟 인스턴스를 사용하면 사용하지 않는 EC2 인스턴스를 대폭 할인 된 가격으로 요청할 수 있으므로 Amazon EC2 비용을 크게 낮출 수 있습니다.
스팟 인스턴스는 애플리케이션 실행시기에 대해 유연하게 결정할 수 있고 애플리케이션이 중단 될 수있는 경우 비용 효율적인 선택입니다. 예를 들어 스팟 인스턴스는 데이터 분석, 배치 작업, 백그라운드 처리 및 선택적 작업에 적합합니다.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html
AWS 사용자 생성, AWS Cli 설치 및 구성, EKS 용 VPC 생성 방법을 모르는 경우 이전 게시물을 참조하십시오.
https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html
https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html
먼저 클러스터 생성을 위해 'eksctl'이 실행할 ClusterConfig를 정의해야합니다.
ApiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: eks-ci-cd
region: us-east-1
vpc:
subnets:
private:
us-east-1a:
id: "subnet-private-id1"
us-east-1b:
id: "subnet-private-id2"
public:
us-east-1a:
id: "subnet-public-id1"
us-east-1b:
id: "subnet-public-id2"
nodeGroups:
- name: ng-on-demand
instanceType: t3.large
desiredCapacity: 1
privateNetworking: true
labels:
instance-type: on-demand
availabilityZones: ["us-east-1a", "us-east-1b"]
- name: ng-spot
desiredCapacity: 0
minSize: 0
maxSize: 10
privateNetworking: true
instancesDistribution:
instanceTypes: ["m5.large", "m4.large", "t3.large", "m5d.large", "m5ad.large","t3a.large"]
onDemandBaseCapacity: 0
onDemandPercentageAboveBaseCapacity: 0
spotInstancePools: 6
tags:
k8s.io/cluster-autoscaler/node-template/label/instance-type: spot
availabilityZones: ["us-east-1a", "us-east-1b"]
labels:
instance-type: spot
iam:
withAddonPolicies:
autoScaler: true
lowestPrice
과 결합하여 할당 전략을 InstancePoolsToUseCount
. 스팟 집합은 지정한 스팟 풀 수에 걸쳐 현재 스팟 가격을 기준으로 가장 저렴한 인스턴스 유형 및 가용 영역 조합을 자동으로 배포합니다. 이 조합을 사용하면 가장 비싼 스팟 인스턴스를 피할 수 있습니다. 그것에 대해 자세히 알아보십시오.먼저 구성 파일의 서브넷 ID를 교체하고 AWS 계정에서 서비스-> VPC-> 서브넷으로 이동합니다.
$ eksctl create cluster -f eks-cluster.yaml
'ng-on-demand'노드 그룹에 대해 프로비저닝 된 인스턴스 하나가 실행되고 있는지 확인하겠습니다.
로그에서 "/Users/igorzhivilo/.kube/config"가 생성 된 것을 볼 수 있습니다.
$ kubectl get nodes
다음 포스트에서는 클러스터에 Cluster Autoscaler를 설치하는 방법에 대한 설명부터 시작하겠습니다.
이 게시물에서는 CI / CD를위한 고 가용성 및 내결함성 EKS 클러스터를 구축하는 방법을 설명했습니다. 워크로드에 스팟 인스턴스를 사용해야하는 이유와 '노드 그룹'및 'eksctl'유틸리티를 사용하여 구성하는 방법에 대해 이야기하고 마지막으로 실제로 수행하는 방법을 보여주었습니다.
읽어 주셔서 감사합니다. 즐거웠기를 바랍니다. 다음 게시물에서 만나요.
이 튜토리얼의 다음 게시물이 게시 될 때 알림을 받고 싶다면 여기 미디엄과 트위터 (@warolv) 에서 저를 팔로우하세요 .
이 자습서를 복제 할 개인 블로그 : http://igorzhivilo.com ,이 자습서에서 만든 모든 구성을 Github (warolv)에 저장 합니다.
https:///@warolv/build-ci-cd-of-the-future-with-kubernetes-aws-eks-and-jenkins-84b744f26949
https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html
https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html
https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet.html
https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_InstancesDistribution.html
Telepresence 2는 최근에 출시되었으며 (Telepresence 1과 같이) Kubernetes 도구 상자에 추가 할 가치가 있습니다. Telepresence는 일상적인 작업 흐름이 어떻게 개선되는지 발견 한 후에는 살 수없는 도구 중 하나입니다.
소개 애플리케이션 팀이 고객 대면 애플리케이션의 새 버전을 배포하고 출시 할 준비가 된 시나리오를 그려보십시오. 개발자는 엄격한 테스트를 수행했지만 애플리케이션이 프로덕션에 도달하면 클라이언트는 의도 한대로 서비스를 사용하지 못하게하는 잡히지 않은 버그에 부딪 힙니다.
Pragmatic Programmer는 1999 년에 처음 출판되었으며 이후 역대 최고의 프로그래밍 책으로 선정되었습니다. 저자 Andy Hunt와 David Thomas는 Agile Manifesto의 원저자 중 하나였으며 몇 가지 심각한 자격을 가지고 있습니다.
공격자가 공개적으로 사용 가능한 GraphQL 인터페이스를 사용하여 사이트를 스크랩하거나 서비스 거부 공격을 실행하는 방법에 대해 알아보십시오. 이들은 4 가지 방법 중 하나로이를 수행 할 수 있습니다. 단일 대형 쿼리를 신중하게 구성하여 실행하고, 관련 데이터를 가져올 수있는 병렬 쿼리를 많이 작성하고, 일괄 요청을 사용하여 많은 쿼리를 연속적으로 실행하고, 마지막으로 많은 요청을 보냅니다.
기술 업계의 직책을 위해 인터뷰 할 때 일반적으로 제안을 고려하기 전에 최소한 3 차례의 인터뷰를 거치게됩니다. 라운드는 일반적으로 다음과 같습니다. 그렇게 생각하면 잘못된 것입니다.
훌륭한 개발자를 만드는 비 기술적 인 것들 나는이 기사를 작성하는 것을 한동안 미루고 있습니다. 나는 그것을 작성할 자격이 있다고 생각하지 못했습니다. 오늘은 쓸 때라고 생각했습니다.