본문 바로가기

반응형

⭐ Kubernetes & EKS

(135)
포트별로 서비스 갯수 및 형태를 나누기 # 포트별로 서비스 갯수 및 형태를 나누는 작업에 대해 알아보자. - 일단 eks의 서비스를 조회하면 아래와 같이 PORT(S)에 할당 가능한 포트를 확인 할 수 있다. - 2개의 서비스를 맵핑 시킬수 있는데 하나는 80 포트를 활용하여 가능하고 또하나는 443포트를 활용하여 서비스가 가능하다. - 여기서 확인해야할 내용은 포트별로 다른 유형의 서비스가 할당이 가능한지 이다. - 예를들어 80은 로드밸런서로 44은 또다른 NLB 서비스의 리스너에 등록하여 서비스를 하는게 가능할까 이다. 결론은 가능하다이다. 이론적으로도 서로다른 서비스포트와 노드포트를 각각 가지고 있으므로, 서로다른 유형의 서비스 타입을 세팅해도 정상적으로 서비스가 가능하다. 1. 테스트진행 - 80은 LoadBalancer 타입으로 세..
Ingress와 ALB 사용시 한개의 ALB에 여러 서비스 맵핑하기 # Ingress와 ALB를 연동하여 사용 시 한개의 ALB에 여러 서비스를 맵핑하는 방법을 알아본다. 1. 문제점 Ingress는 특성상 Namespace별로 리소스를 구분하여 생성한다. 그리고 ingress-alb 사용시 인그레스를 개별로 생성할때마다 alb가 생성이 되므로 비용관리나 리소스 관리 측면에서 매우 비효율적이다. 2. 대안 - 해결방법 1개의 alb 주소로 여러개의 서비스를 Namespace 구분없이 설정할 수 있다면 매우 효율적으로 운영이 가능하다. 3. 적용전 확인사항 - 아래는 AWS LoadBalancer를 적용 시 사용할 수 있는 다양한 옵션들을 제공한다. https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/g..
Ingress 잉그레스 관련 사이트 모음 # 잉그레스 관련 사이트 모음 - ALB 로드밸런서 컨트롤러 공식사이트 https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/guide/targetgroupbinding/targetgroupbinding/ TargetGroupBinding - AWS Load Balancer Controller TargetGroupBinding TargetGroupBinding is a custom resource (CR) that can expose your pods using an existing ALB TargetGroup or NLB TargetGroup. This will allow you to provision the load balancer ..
EKS에서 Fargate로 pod 배포하기 # nginx pod를 eks에서 pod로 배포하는 작업을 진행한다. - eks에서는 오리지날 pod로 배포할 수도있고 fargate를 활용하여 pod로 배포가 가능하다. - fargate란? AWS 공식사이트 설명 AWS Fargate는 기본 인프라를 관리할 필요 없이 컨테이너를 배포하고 관리할 수 있는 컴퓨팅 엔진입니다. Fargate를 사용하면 애플리케이션을 쉽게 확장할 수 있습니다. 더 이상 컨테이너 애플리케이션에 대해 충분한 컴퓨팅 리소스를 프로비저닝하기 위해 걱정할 필요가 없습니다. 수십 또는 수천 개의 컨테이너를 몇 초 이내에 시작할 수 있습니다. - AWS 공식 사이트 https://aws.amazon.com/ko/about-aws/whats-new/2017/11/introducing-aw..
클러스터 권한을 2명 이상 부여 해야 할 경우 # 클러스터 권한부여를 2명이상 할 때 - 클러스터 권한을 2명이상 부여할 때 아래와 같이 정의한다. apiVersion: v1 data: mapRoles: | - groups: - system:bootstrappers - system:nodes rolearn: arn:aws:iam::12345678901234:role/EKS-Worker-Node-Role username: system:node:{{EC2PrivateDNSName}} mapUsers: | - groups: - system:masters userarn: arn:aws:iam::12345678901234:user/test_user_01 username: test_user_01 userarn: arn:aws:iam::12345678901234..
Custom AMI를 생성 후 EKS 노드그룹에 반영하기 # Custom AMI를 활용하여 EKS 노드그룹에 반영하여 구성하기 - Custom AMI란? Custom AMI는 AWS에서 사용하던 인스턴스를 그대로 이미지로 만들 수 있다. 이러한 이미지를 Custom AMI 이라고 하며 자신이 구축한 인스턴스 환경을 그대로 이미지화 할 수 있다는 점에서 클라우드 환경에서 꼭 필요한 기능이다. - Custom AMI를 활용하여 EKS 노드그룹에서 배포를 하는 방법에 대해서 알아보자. EKS NodeGroup에 Custom AMI를 배포하는 법은 간단하다. 이러한 작업이 필요한 이유는 EKS NodeGroup 즉, 각각의 EC2에 개별 보안 요소를 적용하거나 에이전트를 설치하여 Golden Image로 운영을 필요로 하는 사람들이 많을 것이다. EKS NodeGro..
ClusterAutoscaler 생성 및 테스트 (Part.1) # EKS에 ClusterAutoscaler를 생성하자. - 일단 ClusterAutoscaler가 무엇인지 알아보면 아래와 같다. Cluster Autoscaler는 resource부족으로 실행이 안된 pod가 존재할때 node를 scale out 한다. 그리고 Cluster에 장시간동안 사용률이 낮은 node가 있고, 이 node에 있는 pod를 다른 node에 재배치할 수 있을때 node를 scale in 한다. CA는 10초에 한번씩 pod를 검사하며 빠르게 scale out, scale in을 한다. 하지만 한번 node가 scale out 되면 scale in 검사를 하기까지 10분동안 대기를 하기때문에 scale out은 비교적 빠르게, scale in은 비교적 느리게 진행된다고 할 수 있다..
EKS에 다른 사용자 접근 허용하기 # EKS에 다른 IAM 사용자의 접근을 허용하는 방법 - EKS는 생성자 외에는 내부 자원을 볼 수 없게 되어 있다. 만약 EKS 리소스를 생성한자 외의 사람이 EKS 클러스터에 접근을 하기 위해서는 aws-auth.yml 파일에 접근 하려는 사용자를 추가해 줘야 한다. 1. AWS 권한 Configmap을 확인 및 저장해보자. kubectl get -n kube-system configmap/aws-auth - AWS 권한 Configmap을 수정 kubectl edit -n kube-system configmap/aws-auth - AWS Cloud9 에서는 복사 붙여넣기가 잘 안되므로 파일로 저장하여 수정하는 방법을 써보자. - 파일로 저장하기 kubectl get configmaps aws-au..

728x90
반응형