본문 바로가기

EKS6

[EKS/Error] aws-node 동작 안됨 문제 (EKS Node NotReady) AWS EKS에 생성된 Pod들에는 EKS Cluster 생성시 선택하였던 Subnet의 IP들이 할당되며 이를 VPC 네트워킹이라고 한다. 이전 포스팅에서 EKS가 이러한 동작을 할 수 있도록 VPC_CNI 플러그인 설정을 해주었다. 이 VPC_CNI는 EKS kube-system 네임스페이스에서 aws-node라는 이름의 DaemonSet 형태로 배포되어있다. 이 aws-node가 정상적으로 동작되지 않으면 노드그룹의 인스턴스들이 모두 NotReady 상태가 된다 (Pod가 생성될 공간이 존재하지 않게 됨). AWS에서는 다음 글과 같이 aws-node가 정상 동작하지 않을 때 확인해야할 부분 (서브넷 내 가용 IP 수, CNI)을 알려주고있다 (https://aws.amazon.com/ko/prem.. 2022. 5. 5.
[AWS/EKS] Container Insights와 Fluent-bit로 EKS 모니터링, 로그 수집 하기 안정적 서비스 운영을 위해서는 서비스의 CPU, Memory 등을 모니터링하고 Application Log를 확인하는 것이 중요하다. 이는 kubernetes에서도 마찬가지로서 Cluster, NameSpace, Service, Pod 등에 대한 모니터링과 필요에 따라 Application 로그 수집이 필요하다. 본 포스팅에서는 다양한 모니터링 방법 중에서 AWS에서 제공하는 Container Insights와 로그 수집기인 fluent-bit로 로그를 수집하는 테스트를 진행한다 (kubernetes 모니터링 툴로는 이 외에도 오픈소스인 Prometheus와 Grafana를 통합하여 많이 사용하고있다.) Container Insights (모니터링) - ECS, EKS Cluster에 대하여 CPU, 메.. 2022. 4. 26.
[AWS/EKS] AWS IAM 사용자에 대한 RBAC (Role-based Access Control) 설정하기 AWS에서 각 IAM 사용자, 역할마다 권한을 달리하듯, 쿠버네티스에는 리소스에 대한 작업을 제어하는 RBAC (Role-based Access Control)를 제공한다. 최초 EKS 클러스터가 생성되면 클러스터 생성을 수행한 IAM 계정에만 master 권한을 부여하여 EKS Cluster 사용이 가능하도록 한다. 이 외의 IAM 사용자 또는 역할은 EKS Cluster 접근, api 호출이 불가능하다 (해당 IAM에 권한을 부여해도 불가능함). 이를 해결하기 위해서는 적절한 권한이 부여된 IAM을 생성하고, 쿠버네티스의 RBAC와의 연결이 필요하다. 본 포스팅의 순서는 다음과 같으며, AWS IAM 사용자/역할은 이미 존재하는것으로 가정한다 (본 포스팅에서는 IAM 사용자를 기준으로 테스트한다). .. 2022. 4. 11.
[AWS/EKS] 콘솔로 생성하는 EKS - ④ ingress로 서비스 외부 노출 시키기 (AWS LoadBalancer Controller 설치) 본 포스팅에서는 ingress controller를 구성하고, ingress를 생성하여 Service와 연결하는 방법을 다루며 순서는 다음과 같다. Ingress 이해 AWS LoadBalancer Controller 설치 매니페스트 작성 및 배포 1. Ingress 이해 개발자가 구현한 앱을 사용자에게 제공하기위해서는 외부에서 접근할 수 있는 엔드포인트가 필요하다. 쿠버네티스에서는 앱을 서비스할 수 있도록 PORT 노출, 부하 분산 기능을 가진 Service와 Ingress를 제공하며 각자의 역할은 다음과같다. Service: 요청 Pod에 전달 (L4) ClusterIP: 클러스터 내부 접근 허용 NodePort: 클러스터 외부 접근 허용, 호스트IP:PORT 방식의 접근 -> IP가 노출가능할 때 .. 2022. 3. 17.