본문 바로가기

반응형

⭐ Kubernetes & EKS/EKS

(23)
EKS 콘솔 수동 업데이트 해보기 # EKS 콘솔 수동 업데이트 - 수동으로 콘솔에서 업데이트를 진행해보자. 1. 1.24 → 1.25 업데이트 - 현재 상태는 EKS 버전 1.24이고 노드 그룹도 같은 1.24버전이다. - 업데이트 후 상태를 확인하자. - EKS 1.24 → 1.25는 문제없이 업데이트가 완료! - NodeGroup도 같이 업데이트 - 여기서 잠깐 노드그룹이 버전을 업데이트 과정을 살펴보면 아래와 같다. - 일단 기존 2개의 노드에서 신규로 2개의 노드를 추가로 만든 후 신규로 만든 노드 버전을 업데이트 한다. 그 후 신규노드에서 업데이트가 완료가 되면 기존 노드를 삭제하는 방식이다. - 노드그룹의 노드도 정상적으로 업데이트 되었다. 2. 1.25 → 1.26 으로 EKS 버전 업데이트 문제없이 없데이트 완료 - 노드..
EKS에 CSI Driver 설치하기 # EKS에 CSI Driver 설치하기 1. CSI Driver가 필요한 이유? - EKS 1.23 부터는 CSI Driver만 사용하여 EBS와 연결 할 수 있다. 그러니까 한마디로, EKS에 pod로 DB를 올리거나, 기타 EBS가 필요한 애플리케이션을 올릴경우 CSI Driver가 필수로 필요하다. - CSI Driver는 인터페이스로써 DB나 애플리케이션과 EBS 드라이버를 연결해주는 매개체 역할을 한다. 2. EBS CSI Driver의 역할? - 공식 사이트 에서는 아래와 같이 설명을 하고 있다. 1. Kubernetes 와 Amazon EBS 볼륨 을 통합한다. 2. Kubernetes 클러스터 내에서 EBS 볼륨을 쉽게 구성 및 관리가 가능하다. 3. Kubernetes 클러스터에서 EB..
error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1" 발생 시 해결방안 오류내용 EKS 인프라 환경 구성 시 아래와 같은 이상한? 에러 발생 오류 내용 상세 ubuntu@ip-192-168-0-194:~$ kubectl version error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1" 버전이 다르다고 하는데... 바로 구글 검색 → 세계 각국의 다수의 사람들이 위와 같은 오류를 겪고 있었다... 그리고 약 2시간정도 삽질을 하다가 어느 유저의 깃 헙에서 해결방법을 찾았다. Linux curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.23.6/bin/linux/amd64/kubectl chmod +x ./kubec..
EKS 클러스터 엔드 포인트 엑세스 설정 # 참고 사이트 https://aws.amazon.com/ko/premiumsupport/knowledge-center/eks-public-private-access-api-server/ Amazon EKS의 API 서버에 대한 퍼블릭 및 프라이빗 액세스 설정 public = true이고 private = false인 경우, 인터넷 어디서나 Amazon EKS API 엔드포인트에 연결할 수 있습니다. 이는 Amazon EKS 클러스터의 기본 동작입니다. AWS CLI를 사용하여 액세스를 제한할 수도 있습니다 aws.amazon.com # EKS 네트워크, 클러스터 엔드 포인트 엑세스 관리 설정 네트워킹 메뉴에 들어가면 아래와 같은 화면을 볼 수 있다. 여기서 퍼블릭, 퍼블릭 및 프라이빗, 프라이빗 옵션에..
error: You must be logged in to the server (Unauthorized) 에러 발생 시 해결방법 EKS 사용중 문제점은 EKS 설정을 살짝이라도 변경시 먹통이 될 수 있다는 점이다... 설정 하나 바꿨을 뿐인데 갑자기 권한이 없다고 나온다던지... 물론 스택 오버플로우 등 인터넷 검색하면 해결할 수 있는 문제가 대부분이나 실제 운영 시 작은 설정 변경 조차도 조심스럽게 하지 않으면 클러스터 전체를 갈아엎어야 하는 상황까지 갈수도 있겠다... EKS 사용중 아래와 같이 에러가 발생 했을때 조치방법이다. error: You must be logged in to the server (Unauthorized) 위의 오류는 나중에 확인해 보니 .kube/config 파일에 문제가 발생하여 생긴 오류였다. 다시 생성하여 문제가 해결이 되었는데 식겁했다. (클러스터 다시 만들어야 하나...하고) 쿠버네티스 컨피..
GKE vs EKS vs AKS 비교 # EKS와 GKE 및 AKS의 점유율을 비교해보면 아래와 같이 EKS가 약 30% 정도의 점유율을 보인다. # 비용 비교 - EKS가 다른 매니지드 서비스에 비해 다소 높으나 것의 비슷하다고 봐도 무관하다. # 기타 비교 - 끝 -
Horizontal Pod Autoscaler를 이용한 파드 오토스케일링 # 쿠버네티스 에서는 두가지의 오토스케일링 정책을 제공한다. 1. Cluster Autoscaler : AWS EC2의 오토스케일링과 같이 EC2 인스턴스 자체를 스케일 아웃 하여 신규로 생성하는 것을 말한다. 2. Horizontal Pod Autoscaler : HPA : pod에 스케일 아웃 옵션을 주어 해당 리소스가 임계값을 초과해서 사용할 경우 pod를 증가시키는 방법이다. # 여기서 Cluster Autoscaler는 생략하고, HPA에 대해서 설명하도록 하겠다. 1. 메트릭 서버배포 - pod의 자원 현황을 실시간으로 확인해야 하므로 지표값을 수집하는 역할을 하는 메트릭 서버를 배포한다. - 배포하는 방법은 다양하다. # pod와 node들의 자원을 모니터링 하는 방법에 대해서 알아보자. -..
EKS 리소스 관리 (requests와 limits) # 도커 컨테이너와 pod의 차이점 - 도커 : 도커 컨테이너는 일단 동작하면 부하에 따라 호스트의 CPU나 메모리를 사용할 수 있는 만큼 사용한다. - k8s 의 pod : 쿠버네티스 에서는 파드가 사용할 CPU/메모리의 양을 설정하고 호스트에 최소한의 부하를 주도록 설정하는 구조가 있다. (pod별 리소스 사용량을 지정 가능) 1. 예제 소스 코드를 활용한 requests와 limits 설명 - 예제코드 전체 apiVersion: apps/v1 kind: Deployment metadata: name: backend-app labels: app: backend-app spec: replicas: 2 selector: matchLabels: app: backend-app template: metadat..

728x90
반응형