본문 바로가기
반응형

[Kubernetes Master]10

쿠버네티스 애플리케이션 로그 관리 애플리케이션 로그 관리 Kubernetes 애플리케이션 로그 확인 로그는 컨테이너 단위로 로그 확인 가능 싱글 컨테이너 포드의 경우 포드까지만 지정하여 로그 확인 멀티 컨테이너의 경우 포드 뒤에 컨테이너 이름까지 전달하려 로그 확인 $ kubectl logs kubeapi가 정상 동작하지 않는 경우 쿠버네티스에서 돌아가는 리소스들은 모두 docker를 사용 따라서 docker의 로깅 기능을 사용 docker ps -a를 사용하여 조회 가능 docker logs 를 사용하여 로그 확인 가능 Kubernetes 애플리케이션 로그 확인 $ kubectl logs kube-dns-6987857fdb-4zbsg -n kube-system dnsmasq I0102 05:53:18.559043 1 main.go:78.. 2023. 8. 1.
[중요][AWS] 쿠버네티스 모니터링 (Monitoring) - Metrics Server 설치 Metrics Server란 ? Kubernetes 지표 서버 설치 - Amazon EKS 쿠버네티스의 Metrics Server란 각 노드에 설치된 kubectl을 통해서 노드 및 파드의 CPU, Memory의 사용량을 수집한다. Linux의 top 명령을 쿠버네티스에서 사용하는 것과 비슷하다. 쿠버네티스 v1.11 이후로 Heapster를 deprecated 시키고 Metrics Server를 모니터링 표준으로 도입하였다. Metircs Server는 Heapster를 간소화한 버전이라고 생각하면 된다. kubectl에서 메트릭 데이터를 수집해서 메모리에 저장한다. 또한 apiserver를 통해 파드나 노드의 메트릭을 조회하는데 사용되는 Metrics API를 제공한다. 쿠버네티스에서 필요한 핵심 데.. 2023. 7. 27.
[버전불일치] 메트릭스 서버 설치 및 kubectl top 명령 $ git clone https://github.com/kubernetes-sigs/metrics-server $ kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml $ kubectl get pod -n kube-system $ kubectl top pod 이 현상은 tls 통신이 제대로 이뤄지지 않기 때문이므로 다음과 같이 metrics 서버의 내용을 수정하여 서버 통신이 원활하게 할 수 있도록 옵션을 바꾼다. ​메트릭스 디플로이의 설정을 변경하기 위해 다음 명령어 실행한다. $ kubectl edit deploy -n kube-system metrics-serv.. 2023. 7. 27.
Metrics-server 설치방법 ※ 다음 실습은 kubernetes v1.17.3에서 테스트하였습니다. ​ 메트릭스 서버는 쿠버네티스에서 리소스 메트릭 파이프라인을 구성하는 가장 기본적인 방법이다. 그러나 쿠버네티스를 설치한다고해서 메트릭 서버가 자동으로 설치되지는 않으므로 직접 설치하는 과정이 필요하다. ​ 다음 두 명령을 실행해 공개된 yaml 파일을 사용하여 metrics-server 사용할 수 있도록 yaml 파일을 적용한다. kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml ​ ​ 여기까지 실행하면 metrics 서버는 돌지만 kubelet 에 접근해 포드와 노드의 정보를 얻어오지 못하.. 2023. 7. 26.
쿠버네티스 모니터링 시스템과 아키텍처 ## 모니터링 서비스 플랫폼 Heapster (지원종료) --> Metrics Service -> cAdvisor -> 프로메테우스 -> EFK ## Metrics Service $ kubectl top node $ kubectl top pod 2023. 7. 26.
차트 패키징 및 github 레파지토리를 활용한 배포 ## 깃허브 새 레파지토리 생성하기 ## 헬름 차트 패키지와 index.yaml 구성하기 1. helm 명령이 실행 가능한 곳에 git을 다운로드 2. stable 버전을 저장하는 디렉토리를 별도로 구성하고 그 디렉토리에서 작업을 진행 $ git clone https://github.com/XXX/helm-charts.git $ mkdir -p helm-charts/stable cd helm-charts/stable ## 새 차트를 두개 생성하고 두 차트의 패키징을 수행 ## 패키징된 tgz 파일 확인 ## index.yaml 구성하기 1. helm repo index 명령으로 현재 디렉토리에 있는 패키지 파일들의 인덱스 정보를 생성 $ helm repo index ./ ## 헬름 레파지토리 파일 -> .. 2023. 7. 23.
새로운 차트 생성과 실행 ## 헬름 차트 구성요소 1. 쿠버네티스에서 애플리케이션을 배포할 때 필요한 기본적인 리소스를 확인 2. 3 티어로 구성된 이 그림은 각 계층마다 디플로이먼트와 서비스를 포함 3. 추가적으로 Configmap과 Secret등을 사용해 추가 설정할 수 있도록 구성 4. 헬름 차트 내에서도 이러한 정보들은 YAML 파일로 정의 ## Helm create $ helm create mychart ## templates 디렉토리 1. 템플릿 디렉토리는 서비스를 하는데 필요한 자원들의 yaml 파일의 집합 2. deployment, service, hpa 등으로 구성됨 3. 템플릿 파일은 go 템플릿 렌더링엔진에서 읽을 수 있는 변수 형태로 구성 4. {{ }} 기호안의 내용들은 템플릿이 구성될 때 외부의 값을 통.. 2023. 7. 18.
[중요][kubernetes 트러블슈팅] error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1" ## helm 3.8.2로 다운그레이드 후 해결!! ㅁ 개요 ㅇ 프로메테우스를 AWS 환경에 구축 테스트 진행하는 과정에서 발생한 에러 트라블슈팅 ㅇ 쿠버네티스 프로메테우스 설치 과정은 여기에서 볼 수 있다. ㅁ 에러 발생 [ec2-user@ip-172-31-43-214 ~]$ helm install prometheus prometheus-community/kube-prometheus-stack Error: INSTALLATION FAILED: Kubernetes cluster unreachable: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1" ㅇ 에러에 대해서 검색한 결과 힌트를 찾았다. ㅇ aws eks update-.. 2023. 7. 18.
공개 레파지토리를 활용한애플리케이션 배포와 삭제 ## helm 차트 레파지토리 초기화 1. helm은 외부에서 정의된 yaml 파일을 내려 받아 쿠버네티스에 애플리케이션을 배포 2. apt, yum과 같이 저장소를 별도로 두고 있음 3. 이 외부 저장소를 helm repo add 명령으로 추가 4. 다음 명령을 실행해 bitnami 저장소를 helm 목록에 추가한 뒤 업데이트 진행 ## 저장소 추가 $ helm repo add bitnami https://charts.bitnami.com/bitnami ## 목록 업데이트 $ helm repo update ## 추가된 레파지토리에 헬름 차트 리스트 확인 1. 추가된 저장소가 어떤 애플리케이션을 설치할 수 있도록 지원하는지 확인한다. $ helm search repo bitnami ## 네임스페이스 생성.. 2023. 7. 18.
Helm 소개와 설치 https://helm.sh/ Helm Helm - The Kubernetes Package Manager. helm.sh ## 헬름의 특징 4가지 1. 복잡성 관리 : 헬름 차트는 가장 복잡한 앱도 기술하고 애플리케이션을 반복적으로 설치 제공 2. 쉬운 업데이트 : 커스텀 후크와 in-place 업그레이드를 지원해 업데이트의 고통 경감 3. 간단한 공유 : 차트는 공용 또는 개인 서버에서 쉽게 버전 관리, 공유 및 호스팅 4. 롤백 : helm 롤백을 사용하면 이전 버전의 릴리스로 쉽게 롤백 ## helm 설치 (https://helm.sh/docs/intro/install/#from-script) 1. 쿠버네티스 클러스터에 엑세스해서 작업할 수 있는 환경이 구성된 곳에 설치 2. 호스트에 구성된 ku.. 2023. 7. 18.
반응형