본문 바로가기

전체 글451

GOORM: Kubernetes-48 Facts : 배운것 - 오토스케일링 / 사용자 정의 자원 / 쿠버네티스 기반으로 워드프레스 앱 실행 Findings : HPA - 컨트롤러 매니저 안에서 주기적으로 실행하면서 설정된 HPA의 상태를 확인 - 디플로이먼트에 속한 파드들의 상태를 모니터링하다가 지정된 조건에 이르면 디플로이먼트를 스케일해서 파드 개수를 늘리거나 줄인다 - 대상파드 개수 = (현재 파드의 CPU 사용률을 모두 더한 값 / 목표 CPU 사용률)을 올림한 값 사용자 정의 자원 - 쿠버네티스에서 제공하는 내장 자우너뿐만 아니라 사용자에게 필요한 자원을 쿠버네티스 안에 정의해 사용 가능 오퍼레이터 - 프레임워크로 특정 애플리케이션의 생명 주기를 자동으로 관리. 오픈 소스 애플리케이션을 운영한 경험이 녹아 있으므로 처음 해당 애플리케.. 2022. 1. 9.
GOORM: Kubernetes-47 Facts : 배운것 - 로깅과 모니터링 Findings : 로깅 - 로컬 파일 시스템의 지정된 위치에 파일로 로그를 저장하도록 구성 - 로그를 일정 시간 이상 저장했거나 로그가 일정 용량이면 오래된 로그를 자동으로 삭제 - 특정 앱 컨테이너의 로그를 확인하려면 전체 클러스터의 노드 중 어떤 노드에 해당 컨테이너가 실행되었는지 확인해야 로그도 확인 가능 - 파드 로그 확인 : kubectl은 개별 노드에 접근하지 않고 직접 파드의 로그를 확인 - 로그를 모아 살펴보도록 하는 오픈 소스 도구로는 카프카, 플루언트디, 로그스태시, 일래스틱서치, 키바나 등 - 일래스틱서치 : 클러스터 형태로 여러 대 노드에서 실행하도록 개발한 검색 엔진 시스템 - 키바나 : 일래스틱서치 전용 대시보드 UI로 일래스틱서치의 데.. 2022. 1. 9.
GOORM: Kubernetes-46 Facts : 배운것 - 클러스터 네트워킹 구성 / 쿠버네티스 DNS Findings : 도커 컨테이너의 네트워킹 이해 - 호스트 네트워크 네임스페이스/디폴트 네트워크 네임스페이스 : 호스트의 기본 네트워크 생성 - 컨테이너 네트워크 네임스페이스 : 컨테이너를 생성할 때마다 만들어지고 컨테이너마다 별도의 네트워크를 사용할 수 있도록 함 - 네트워크 네임스페이스 : 서로 연결되기 전까지는 독립적으로 동작 - 베스 : 컨테이너, 호스트의 브리시에 연결해서 호스트 네임스페이스와 컨테이너 네트워크 사이를 통신 - 브릿지 타입 : 호스트에 브리지를 만들고 컨테이너와 호스트는 베스를 이용해서 연결 - 오버레이 타입 : 여러 대 호스트가 있을 때 각 호스트에 있는 컨테이너 네트워크를 오버레이 네트워크로 연결 - 맥브.. 2022. 1. 7.
GOORM: Kubernetes-45 Facts : 배운것 - 퍼시스턴트 볼륨과 퍼시스턴트 볼륨 클레임 Findings : 퍼시스턴트 볼륨과 퍼시스턴트 볼륨 클레임 - PV(PersistentVolume) : 볼륨 자체를 의미. 클러스터 안에서 자원으로 다룬다. 파드하고는 별개로 관리되고 별도의 생명 주기가 있다. - PVC(PersistentVolumeClaim) : 사용자가 PV에하는 요청. 사용하고 싶은 용량은 얼마인지, 읽기/쓰기는 어떤 모드로 설정하고 싶은지 등을 정해서 요청 - 프로비저닝 : PV를 만드는 단계 정적 방법 : PV를 미리 만들어 두고 사용 동적 방법 : 요청이 있을 때마다 PV를 만듦 - 바인딩 : 프로비저닝으로 만든 PV를 PVC와 연결하는 단계 - 사용 : 사용 중인 스토리지 오브젝트 보호 - 반환 : 사용이 .. 2022. 1. 7.
GOORM: Kubernetes-44 Facts : 배운것 - 인증과 권한관리 / 볼륨 Findings : TLS (Transport Layer Security) - kube-apiserver와 통신할 때의 기본 인증 방법 - 통신할 때 오가는 패킷을 암호화 - 서버뿐만 아니라 클라이언트가 유효한지도 검증하는 기능이 있다. - kuber-apiserver에 있는 인증서와 연결되는 클라이언트 인증서를 이용해 접속 권한관리 - ABAC(Attribute-based access control) : 속성 기반의 권한 관리 , 사용할 수 있는 속성에는 사용자, 그룹, 요청경로, 요청 동사 등이 있다. 구너한을 변경하려면 직접 마스터에 접속해서 파일을 변경한 후 kube-apiserver 컴포넌트를 재시작해야하므로 관리하기 번거롭다 - RBAC(Rol.. 2022. 1. 7.
GOORM: Kubernetes-43 Facts : 배운것 - 어피니티와 안티 어피니티 / 테인트와 톨러레이션 / 커든과 드레인 Findings : 노드 어피니티 - 노드셀렉터와 비슷하게 노드의 레이블 기반으로 파드를 스케줄링 - 노드셀렉터와 함께 설정할 수도 있으며 이때는 노드 어피니티와 노드셀렉터의 조건을 모두 만족하는 노드에 파드를 스케줄링 requireDuringSchedulingIgnoredDuringExecution 스케줄링하는 동안 꼭 필요한 것 preferredDuringSchedulingIgnoredDuringExecution 스케줄링하는 동안 만족하면 좋은 조건 파드의 어피니티와 안티 어피니티 - 디플로이먼트나 스테이트풀세트로 파드를 배포했을 때 개별 파드 사이의 관계를 정의하는 용도로 사용 - 실제 서비스 운용시 요긴 -.. 2022. 1. 5.