본문 바로가기

⭐ Kubernetes & EKS

(140)
etcd etcd: etcd는 분산 키-밸류 저장소로, Kubernetes의 모든 클러스터 데이터를 저장하는 데 사용된다. etcd는 클러스터 상태, 구성 정보, 시크릿, 서비스 디스커버리 데이터를 저장하며, 고가용성과 일관성을 보장한다.etcd는 Kubernetes의 키-밸류 저장소로 주로 사용되지만, 다른 용도로도 사용할 수 있습니다. 예를 들어, etcd를 캐싱, 서비스 디스커버리, 분산 설정 저장소 등으로 활용할 수 있다.쿠버네티스에서 etcd를 사용하는 이유는 ?etcd는 고가용성과 일관성을 제공하는 분산 키-밸류 저장소로 설계되었지만, 다른 키-밸류 저장소에 비해 상대적으로 가볍다고 할 수는 없다. etcd는 주로 분산 시스템에서의 일관성과 가용성을 보장하기 위해 설계되었기 때문에, 이러한 특성으로 인..
K8S에서 Service의 주요 역할 Kubernetes에서 Service는 여러 Pod 간의 네트워크 통신을 추상화하여 안정적인 네트워크 엔드포인트를 제공하는 역할을 한다. 이는 다음과 같은 의미를 가진다:추상화된 네트워크 엔드포인트: Service는 Pod의 IP 주소와 포트를 추상화하여 단일 엔드포인트(예: DNS 이름)를 제공한다. 이를 통해 클라이언트는 Pod의 실제 IP 주소를 알 필요 없이 Service의 엔드포인트를 통해 통신할 수 있다.로드 밸런싱: Service는 여러 Pod에 대한 로드 밸런싱을 수행한다. 클라이언트가 Service에 요청을 보내면, Service는 요청을 적절한 Pod로 분배한다. 이를 통해 트래픽이 고르게 분산되고, 특정 Pod에 과부하가 걸리는 것을 방지할 수 있다.Pod의 동적 생성 및 삭제 처리:..
SAN의 고속 네트워크 기술 (Fibre Channel, iSCSI) 이란? SAN의 고속 네트워크 기술에는 주로 Fibre Channel과 iSCSI가 있다.Fibre Channel (FC):고대역폭: 16Gbps, 32Gbps, 64Gbps 등의 고속 데이터 전송 속도를 지원한다.낮은 지연 시간: 매우 낮은 지연 시간으로 빠른 데이터 전송을 제공한다.전용 네트워크: 전용 스토리지 네트워크로 다른 네트워크 트래픽과 분리되어 성능 저하가 없다.고가용성: 이중화된 경로와 고가용성 아키텍처를 통해 데이터 접근의 신뢰성을 높다.확장성: 필요에 따라 쉽게 확장할 수 있다.iSCSI (Internet Small Computer Systems Interface):TCP/IP 기반: 기존의 이더넷 네트워크를 사용하여 데이터 전송을 수행한다.비용 효율성: 기존 네트워크 인프라를 활용할 수 있어..
Kube Scheduler (Kube 스케줄러) # Kube 스케줄러란?쿠버네티스 스케줄링은 쿠버네티스 클러스터 내에서 포드(Pod)를 적절한 노드(Node)에 할당하는 과정이다. 이 과정은 쿠버네티스 스케줄러(Kubernetes Scheduler)에 의해 자동으로 수행된다. 스케줄링의 주요 목표는 리소스 사용 최적화, 고가용성 유지, 사용자 정의 제약 조건 충족 등을 통해 클러스터의 효율성을 극대화하는 것이다. 1. 스케줄링 과정포드 스케줄링 대기열: 새로 생성된 포드는 초기에 스케줄링 대기열에 들어간다. 이 포드들은 아직 어떤 노드에도 할당되지 않은 상태라고 볼 수 있다. 노드 선택: 스케줄러는 대기열에 있는 포드를 하나씩 처리하며, 각 포드에 가장 적합한 노드를 선택한다. 이 과정은 여러 단계로 이루어지며 다음과 같다.- 필터링(Filtering..
EKS 에서 pod IP를 수동으로 확인하는 방법 # EKS에서 pod ip를 수동으로 확인하는 방법1. 계속 바뀐다.EKS pod의 ip는 새로운 파드가 생성될 때마다 동적으로 할당을 받는다.그러므로 새롭거나 변경된 코드가 빌드 및 배포가 되면 pod ip는 동적으로 새로운 ip를 할당받아 사용하게 된다.그래서 고정 ip를 할당받거나, ALB, NLB등을 앞단에 두어 Ingress를 통해 고정화된 엔드포인트를 확보 할수 있다.2. 무엇을 하려는가?일단 부하테스트를 해야하는데, 다이렉트로 pod의 ip에다 대고 부하를 줘야한다.그래서 결국은 수동으로 ip를 확인하면서 부하 테스트를 진행해야한다.3. 그래서 수동으로 확인하는 방법은?수동으로 확인하는 방법은 여러가지가 있겠지만, 가장 추천하는 것은, 대상그룹(TargetGroup)의 ip를 수동으로 확인하..
pod 특징 pod는 tcp인지 http인지 구분하지 않는다. 그래서 protocolless 서비스이고 프로토콜을 구분하는건 service 이다.
ERROR 정리 # ERROR 정리 - ERROR 내용 정리 1) JAVA에러 파악하기 - 에러로그를 볼때 참고 #) 보통은 주요 문자열에 에러의 Core 포인트가 담겨 있다. #) 밑에서 부터 보다가 Caused by 등 주요 문자열을 찾는다. 2) 로그 주요 문자열 (발견할때마다 추가) - Caused by - ETC : 문자열 확인 - Exception 부분 확인 3) 참고 자료 - Caused by에러 확인 내용은 아래와 같다. - 아래의 에러 로그는 좀 다른 케이스 인데, 특정 랑브러리가 없어서 난 에러로그 이다. WebIdentityTokenCredentialsProvider: To use assume role profiles the aws-java-sdk-sts module must be on the cla..
Windows 에서 kubectl 설치하기 # Windows에서 kubectl 설치하기 1. kubectl 다운로드 https://dl.k8s.io/release/v1.23.0/bin/windows/amd64/kubectl.exe 위의 링크에서 다운로드 한다. 다운로드한 파일을 특정 폴더로 이동 시킨다. 2. 윈도우 환경에서 "고급 시스템 설정 보기" 메뉴를 클릭 후 환경 변수를 편집한다. - path 항목을 찾고 편집 버튼을 클릭하면 아래와 같은 편집창이 나온다. - 여기서 찾아보기를 클릭 후 다운받은 kubectl.exe 파일이 있는 폴더로 지정한다. 위와 같이 설정 후 확인을 클릭한다. 3. cmd 창을 열고 명령어를 입력한다. 정상적으로 출력 되는것을 확인 할 수 있다. - 끝 -