목록분류 전체보기 (67)
Study_note
Helm Override 차트에 기존 values.yaml을 수정하지 않고 일부 값을 변경할때 사용 2가지 방법 존재 1. --set 옵션 사용하여 특정 값 변경 2. -f 사용할 파일 사용하여 특정 파일로 변경 --set 테스트를 위해 일반적인 차트를 릴리즈하고 기존 values.yaml 파일에서 지정했던 image=nginx를 --set을 사용하여 image=nginx:latest로 변경 제대로 차트들이 릴리즈 됐는지 보고 릴리즈를 통해 생성한 디플로이먼트들에 이미지를 확인하면 아래와 같이 --set을 사용하지않은 override 디플로이먼트같은경우 image=nginx --set을 사용한 override 디플로이먼트같은경우 image=nginx:latest로 생성된 것을 확인 가능 다음으로는 다른 ..
Kubernetes 매니페스트 파일들을 패키징하고 관리하는 패키지 매니저로 Node.js의 npm과 Python의 pip와 같은 역할이라고 보면 된다. 예를들어 여러 리소스를 사용하여 앱을 생성하였고 똑같은 리소를 사용하여 다른 dev, stg 환경들을 만들려고하면 앱을 생성하였을 때 만들었던 yaml파일을 다시 하나하나 실행시키거나 중간에 실수로 빼먹는 yaml파일이 있어서 문제가 발생할 수 있거나 단순 반복으로 인해 불편한점이 많다 하지만 helm을 사용하게 되면 리소스를 패키징한 뒤에 해당 패키징을 사용해서 간단하게 완성된 앱 서비스를 한 번에 배포할 수 있다 여기서 helm은 중요한 3가지 개념이 있다. 1. Chart 위에서 예를 들었듯이 필요한 모든 리소스들이 포함된 헬름 패키징이다 2.Rep..
Istio BookInfo Istio를 설치하면 Istio뿐만 아니라 연습으로 생성할 수있는 야믈파일들을 같이주는데 해당 야믈들을 보면서 istio를 이해하면 좋다고 한다. 경로는 설치한 istio디렉토리/samples/bookinfo/platform/kube에 야믈 파일들인 존재한다. 트래픽 흐름 1. * 로 호스트를 전부 열어줘서 Gateway로 요청이 들어온다 2. 들어온 트래픽은 VirtualService를 통해서 productpage서비스로 접근 3. productpage에 설치되어있는 envoy를 통해 모든 서비스로 라운드로빈 (virtual service 가 없는 경우, envoy는 모든 서비스 인스턴스 간에 round robin 로드 밸런싱) 4. productpage가 필요한 리뷰서비스와..
기본적으로 쿠버네티스는 오토스케일 즉 자동 확장 기능을 제공했는데 크게 두가지로 나뉜다 파드 기반 오토스케일링 HPA (Horizontal Pod Autoscaler) - 임계값에 맞게 파드를 추가 및 제거 VPA (Vertical Pod Autoscaler) - 임계값에 맞게 파드의 cpu 및 메모리 요청 및 제한 크기를 조정\ 노드 기반 오토스케일링 CA (Cluster Autoscailing) - 임계값에 맞게 노드를 추가 및 제거 여기서 최근에 새롭게 출시된 노드 기반 오토스케일링인 karpenter가 새롭게 생겼다. 우선 CA에 단점을 말하면서 카펜더와 ca의 차이를 찾아보자 CA 단점 Auto Scaling을 구성하기가 어렵고 구성할 수 있는 범위가 제한적이다 노드를 확장하기 전에 노드가 확장..
우선적으로 QoS를 이해할려면 CPU Manager를 이해해야한다. 간단하게 설명하면 CPU Manager는 프로세스 실행을 위한 CPU리소스 할당을 처리 하고 전체 CPU 사용률을 최대화하는 정책이며 포드에 CPU Affinity를 설정할 수 있도록 지원하고 있어 cpu or memory를 할당할 수 있게 한다. 여기서 CPU Manager의 정책은 2가지로 아래와 같다. none: CPU 선호도 체계를 명시적으로 활성화 static: 특정 리소스 특성을 가진 팟(Pod)이 노드에서 증가된 CPU 선호도 및 독점성을 부여받을 수 있습니다. cpu or memory가 갑자기 급증하는 상황, 예상치 못한 상황이 발생할 때, 레이턴시가 갑자기 급증할때 등 많은 문제가 생긴다 이러한 문제를 해결하기 위해 st..
k3s를 사용하는데 istio랑 호환이 안돼서 삽질하다 eks 환경 넘어왔는데 이번에는 버전문제때문에 삽질했다,,, 버전 문제,,,,, 우선 istio 다운로드 방식은 istioctl을 이용해서 환경 구성을 할 수 도있지만 istio-operator를 사용하는게 훨씬 편해 istio-operator로 다운로드 받았다. 우선 다운로드 순서는 아래 내용참고 하면 좋다 https://istio.io/latest/docs/setup/getting-started/ istio 다운로드 curl -L https://istio.io/downloadIstio | sh - 경로 이동 cd istio-1.15.3 환경 변수 설정해서 시작 export PATH=$PWD/bin:$PATH istioctl operator ini..