- 0) Elastic Kubernetes Service 란?
- AWS에서 K8S 마스터노드(컨트롤플레인)를 완전관리형으로 제공하는 클러스터를 손쉽게 구축.
- 즉, AWS상에서 K8S으로 Application 배포, 조정, 관리를 자동화 할 수 있다.
- (ECR, ELB, IAM, VPC, 내부데이터 암호화, 로깅, 플래그 등을 활용하여 확장성 및 보안성 좋음)
- 1) 클러스터
- EKS 클러스터 = 마스터노드 + 워커노드
- eksctl : EKS의 클러스터를 생성 및 관리하는 CLI 유틸.
- AWS CLI 버젼2 다운로드 및 설치.
- aws configure 입력. (IAM의 보안 자격증명 -> Access 정보값)
- eksctl 설치. (kubectl도 같이 설치됨)
- 클러스터 생성 (워커노드도 함께)
- fargate 클러스터 : eksctl create cluster --name 테클 --version 1.16 --region ap-northeast-2 --fargate
- 워커노드그룹 클러스터 : ...
- (음... EKS에서 Fargate지원이... 아직 한국엔 안되는거 같다... ㅎㄷㄷ;;; 니혼고!니혼꼬만하나! 컄)
- (https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/fargate.html)
- 웹콘솔 : EKS에 필요한 모든 리소스를 수동으로 생성.
- IAM 에서 "EKS-클러스터" 권한의 Role을 생성.
- VPC 구성.
- 마스터노드는 여러 AZ으로 프로비전되고, 2개이상의 AZ의 Subnet이 필요.
- Public&Private Subnet으로 구성이 좋음. (예 : 로드벨런서=Public , 워커노드=Private)
- CloudFormation 에서 yaml 으로 작성...
- 클러스터 생성
- 이름 및 버젼 및 Role
- 네트워크 (VPC : 클러스터 리소스 , Subnet : 워커노드)
- 보안그룹 (각 클러스터에 각각 만들어 두어... 방화벽 사고 안나도록!)
- End-Point (클러스터의 API 오픈옵션)
- 로깅
- 2) 워커노드그룹
- (클러스터 > 여러 워커노드그룹 > 여러 워커노드)
- EKS 클러스터에 워커노드가 없으면, 해당 그룹으로 등록함.
- 즉, 그룹차원으로 '동일한 EC2 인스턴스'들을 관리함. (EC2 Auto Scaling 그룹소속)
- 이후, 등록한 워커노드의 kubelet과~ 해당 클러스터 마스터노드의 kube-apiserver가 인증서 기반으로 통신.
- IAM 에서 "AmazonEKSWorkerNodePolicy AmazonEKS_CNI_Policy AmazonEC2ContainerRegistryReadOnly" 권한의 Role을 생성.
- 워커노드그룹 생성
- 이름 및 버젼 및 Role.
- 워커노드 Subnet.
- 원격 SSH접속 옵션. (해당 워커노드에 직접 접속할수있는게 좋음)
- tag 및 label.
- EC2 인스턴스 스펙. (기본적으로 Role&도커&쿠3스&IAM Auth 가 포함된 AMI 제공)
- 스케일일 정책. (EKS가 직접 워커노드그룹 확장/축소 하는건 아님) (K8S Cluster AutoScaler로 수행)
- 3) 로컬 테스트
- 해당 EKS의 k8s 클러스터에 관한~ "kubeconfig 파일"을 생성.
- 예) aws eks --region ap-northeast-2 update-kubeconfig --name 테클
- 기본적으로 로컬 ~/.kube/config 에 파일이 생성됨.
- kubectl get svc 및 kubectl get nodes 확인.
- 4) EKS의 Fargate
- ...
- 실습) Storage
- storageclass
- ...
- EBS :
- ...
- EFS :
- ...
- https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/efs-csi.html#static
- ...
- storageclass
-끝-
'AWS' 카테고리의 다른 글
AWS CodeDepoly (0) | 2020.08.29 |
---|---|
AWS CodeBuild (0) | 2020.08.29 |
Amazon SageMaker Studio (0) | 2020.07.16 |
AWS Serverless Application Repository (0) | 2020.06.29 |
AWS Serverless Application Model (0) | 2020.06.28 |