본문 바로가기

쿠버네티스10

[AWS] EKS monitoring - 4주차 - 프로메테우스 & 그라파나 참고 블로그 https://malwareanalysis.tistory.com/566 https://hanhorang31.github.io/post/pkos2-4-monitoring/ [PKOS] Thanos를 통한 고가용성 모니터링(프로메테우스) 시스템 구축하기 | HanHoRang Tech Blog 고가용성 모니터링 시스템 구축(프로메테우스, 타노스) hanhorang31.github.io pkos 스터디 4주차 - 메트릭 오픈소스 프로메테우스 4주 차에서는 메트릭 오픈소스인 프로메테우스 오퍼레이터를 공부했습니다. 프로메테우스 오퍼레이터를 이용하여 메트릭 수집방법과 알림기능 실습했습니다. 이번 주차에는 github copilot도움을 malwareanalysis.tistory.com 프로메테우스는 k8.. 2023. 5. 18.
[kubernetes] 쿠버네티스 트러블슈팅( 마스터, 컨트롤 플레인 오류 시 확인) 안녕하세요 오늘은 쿠버네티스 컨트롤 플레인의 오류가 발견됐을 떄 어떻게 해결하는 지에 대한 확인 방법을 알아보려고합니다. 먼저 노드 상태를 확인해야겠죠? kubectl get node 를 통해 노드의 상태 status를 확인합니다. 또한 더 자세한 정보를 알기 원하신다면 -o wide 를 넣어 버전과 아이피를 커널버전도 확인 가능합니다. 다음으론 kubectl get po -n kube-system 으로 kube-system의 포드가 정상 실행 중인지 확인합니다. service kube-apiserver status service kube-controller-manager status service kube-scheduler status service kube-proxy status service kub.. 2020. 12. 10.
쿠버네티스 ) Jsonpath / CLI로 정보출력하기 kubectl을 사용하면서 Jsonpath로 정보를 가져오는 방법에 대해 논해보려고 합니다. 보통 kubectl을 사용하면 리스트를 뽑을 때 kubectl get [오브젝트 이름] 을 사용하여 리스트를 출력하고 자세한 출력을 위해 kubectl get [오브젝트 이름] -o wide 와 같이 사용하게 됩니다. 특정 네임스페이스에 파드를 출력은 kubectl get po -n [네임스페이스] 를 사용하며 해당 파드 또는 오브젝트의 yaml, json 형식으로 보고 싶다면 kubectl get [object_name] -o [ yaml/json ] 을 이용해보세요. 간단하게 출력하는것을 알아보았는데 json의 정보를 출력을 하면 복잡하게 나와 가독성이 부족하게 됩니다. 이번에 jsonpath를 사용하여 필요.. 2020. 6. 24.
(docker) docker registry 등록하기 도커의 장점중 registry 이미지 저장소 같은 역할을 하고 이미지를 pull push를 하여 가져오거나 저장할 수 있다. 도커를 다운 받는건 2020/02/05 - [운영체제/리눅스] - Docker CE버전 설치하기 우분투 Docker CE버전 설치하기 우분투 ubuntu16,ubuntu18 버전에 docker ce를 설치해보겠습니다. 1.확인 docker -v apt list docker docker-engine docker.io ' 2 . apt update apt update 3. apt install apt install apt-transport-https ca-certif.. base-on.tistory.com 를 통해 설치를 하고 registry실습을 해보자 1. 이미지 registry .. 2020. 2. 17.
쿠버네티스 모니터링 모니터링 쿠버네티스에 모니터링을 보면 많은 툴과 지표들이 있어서 혼돈하기 쉬운데 , 먼저 모니터링 컨셉에 대한 이해를 할 필요가 있다. 쿠버네티스 기반의 시스템을 모니터링하기 위해서는 크게 1. host, 2. container, 3. app, 4. kubernetes 4가지를 모니터링 해야 한다. 1. host : 쿠버네티스 컨데이너를 실행하는 하드웨어 호스트 , 노드에 대한 지표 모니터링이 필요하다. 노드의 cpu , 메모리, 디스크, 네트워크, 사용량과 노드 os와 커널에 대한 모니터링 2. container : 노드에 기동되는 각각의 컨테이너에 대한 정보이다. 컨테이너의 CPU,메모리, 디스크, 네트워크 사용량을 모두 모니터링한다. 3. application : 컨테이너에서 구동되는 개별 어플리케.. 2020. 2. 4.
쿠버네티스 configMap configMap 배포하다 보면 환경에 따라서 설정값을 사용하는 경우가 있다. 예를 들어, 데이터베이스의 IP API를 호출하기 위한 API KEY, 운영 개발에 따른 디버그 모든 , 환경 설정 파일들이 있는데, 애플리케이션 이미지는 같이ㅈ만, 이런 환경변수가 차이나는 경우 매번 다른 컨테이너 이미지를 만들어야하는 불편함을 초래한다. 이러한 것을 극복하기 위해 환경변수나 설정값들을 변수로 관리하여 pod가 생성될때 이 값을 넣어 줄수 있는데, 이러한 기능을 제공하는 것이 바로 configMap,Secret이다. pod를 배포할때마다 다른 설명 정보를 반영하도록 할 수 있다. pod로 넘기는 방법 1. 정의해 놓은 pod값의 환경변수로 넘기는 방법 2. 정의해 놓은 값을 pod의 디스크 볼륨으로 마운트하는.. 2020. 1. 16.
쿠버네티스 서비스 쿠버네티스 서비스란 Pod는 IP가 랜덤하게 지정하되고 restart가 될때마다 변하기때문에 고정된 엔트포인트를 호출이 어렵다. 여러 pod를 운영할 때 Pod 간의 로드밸런싱을 지원해줘야하는데 , 서비스가 이런 역할을 한다. 서비스는 지정된 IP로 생성, 여러 Pod를 묶어 로드 밸런싱, 고유 DNS값을 가질 수 있게해준다. 서비스는 라벨 셀렉터를 이영하여 관리하고자 하는 Pod를 정의할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 apiVersion: v1 kind: Service metadata: name: hello-node-svc spec: selector: app: hello-node ports: - port:.. 2020. 1. 10.
쿠버네티스 구조 크게 2가지로 구분한다 마스터, 노드(미니안 또는 워커) 마스터 : 쿠버네티스 클러스터 전체를 컨트롤하는 역활로 API서버,스케줄러,컨트롤러 매니저, etcd 로 구성되어 있다. API서버(명령, 통신 관련): 모든 명령과 통신을 API를 통해서 한다. 모든 기능은 REST API로 제공하고 그에 따른 명령을 처리 Etec (정보 저장): 클러스터의 데이터베이스 역할로 서버로 설정값이나 클러스터의 상태를 저장한다. -> 분산형 키/벨류 형식이고 오픈소스이다. 빠른 응답과 신뢰성등의 장점이 있다. 스케줄러(리소스들을 할당할지 선정): 파드나 서비스들을 적절한 노드에 저장하게 정리해주는 역할 컨트롤러 매니져(RC,SC,VC,NC 관리): Replica controller, Service controller,.. 2020. 1. 8.
컨트롤러 컨트롤러 고급 컨트롤러 RC,RS,Deployment는 웹 서버와 같은 일반적인 워크로드에 대해 Pod를 관리하기 위한 컨트롤이다. 실제 운영환경에서는 웹서버와 같은 일반적인 워크로드이외에 데이터베이스, 배치작업, 데몬서버와 같이 다양한 형태의 워크로드 모델이 존재하는데 이를 지원하기 위해서 쿠버네티스는 다양한 컨트롤러를 제공합으로써 pod운영을 다양한 시나리오에 맞게 지원하고 있다. DaemonSet DS는 pod가 각각의 노드에서 하나씩 돌게하는 형태로 pod를 관리하는 컨트롤이다. RC나 RS에 의해서 관리되는 Pod는 여러 노드의 상황에 따라서 일반적으로 비균등적으로 배포가 되지만 , DS에 의해 관리되는 Pod는 모든 노드에 균등하게 하나씩만 배포된다. 이러한 형태의 워크로드는 서버의 모니터링이.. 2020. 1. 7.
쿠버네티스 - 오브젝트 쿠버네티스 소개 컨테이터 운영환경 중 가장 널리 사용되는 솔루션이 kubernetes(K8s=K와 S사이에 8개의 문자가 있어서) 이다. 구글은 내부 서비스를 클라우드 환경에서 운영하고 있으며 컨테이너 환경을 사용해왔다. 구글의 내부 컨테이너 서비스를 Borg라 하는데 , 이 구조를 오픈소스화한 것이 쿠버네티스이다. Go언어로 구현되었으며 , 벤더나 플랫폼에 종속되지 않기 때문에, 대부분의 퍼를릭 클라우드에 사용가능하고 오픈스택과같은 프라이빛 클라우드 구축환경이나 또는 베어메탈에도 배포가능하다. 여러 퍼블릭 클라우드를 섞어서 사용하는 온프레미스/퍼블릭클라우드를 혼용해서 쓰는 하이브리드클라우드으로 많이 각광받고 있다. 마스터와 노드 쿠버네티스를 이해하기 위해 클러스터 구조를 이해할 필요가 있다. 구조는 매.. 2020. 1. 7.
반응형