728x90
📌Index Prometheus란? Prometheus 및 Grafana 설치 ✔️ Prometheus란? Prometheus란 SoundCloud가 개발한 솔루션으로, 오픈소스 모니터링 툴이다. Prometheus Architecture 빨간색으로 표시된 것이 프로메테우스의 컴포넌트이다. Retrieval : Pushgateway 혹은 Targets으로부터 metrics를 pulling한다. Short-lived jobs : 생명주기가 짧은 것들은 Pushgateway가 받아둔다. Service Discovery : k8s apiserver에게 질의하면 수집 대상을 가지고 온다. TSDB: 시계열(Time Series) DB는 시간대별로 데이터(시계열 데이터)를 저장하기에 최적화된 DB로, Promet..
📌Index Helm이란? Helm 설치하기 Helm 사용법 Helm 실습 ✔️ Helm이란? Helm이란, Kubernetes 패키지 관리를 도와주는 것(패키지매니저)으로, yaml 파일의 모음이라고 할 수 있다. Helm에 대한 많은 문서나 책에서 2버전을 다루고 있는데, 2버전은 더 이상 개발되지 않는다. 2버전은 3버전과 명령어도 다르고, 아키텍처 구조도 다르다. 아래의 그림이 버전2의 아키텍처로, 특히 가장 큰 차이점은 Helm Tiller의 여부이다. Helm Tiller는 Pod로, 버전2에서 사용되었다가, 여러가지 보안 문제로 버전3에서부터는 더 이상 사용되지 않는다. Tiller와 Client는 서로 gRPC로 통신을 했으나, 버전3부터는 Client에서 바로 API Server로 요청한..
kubectx란? 다중 클러스터 사용 시 클러스터 context 전환을 쉽게 해 주는 툴이다. kubens란? 쿠버네티스 클러스터 내에서 네임스페이스 변환을 쉽게 해 주는 툴이다. kubectx / kubens 설치하기 Github URL 👉 https://github.com/ahmetb/kubectx kubectx $ wget https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubectx $ sudo install kubectx /usr/local/bin 설치 확인 $ which kubectx /usr/local/bin/kubectx kubens $ wget https://github.com/ahmetb/kubectx/releases/downlo..
📌Index k8s Authentication(인증) RBAC 실습 💻실습 1 : Service Account 만들기 💻실습 2 : 사용자 생성을 위한 x509 인증서를 만든 후, ClusterRoleBinding으로 Role 부여하기 ✔️ k8s Authentication(인증) Authenticating | Kubernetes 쿠버네티스에는 계정, 사용자라는 개념이 존재하며, 크게 2가지 컨셉 ServiceAccount(SA)와 NormalUser가 있다. 1. Service Account(SA) 쿠버네티스가 관리하는 SA 사용자로, 사용자가 아닌 Pod가 사용한다. 우리가 따로 지정하지 않더라도 파드를 만들 때 SA가 default로 설정된다. 파드의 정보를 yaml 형식으로 확인하면 service..
kubeconfig 파일은 k8s의 설정 파일로, kubectl 명령어로 apiserver에 접근할 때 사용할 인증 정보를 담고있다. 이 쿠버네티스 설정(kubeconfig)은 크게 3가지 부분으로 구성되어 있다. clusters : 쿠버네티스 API 서버 정보(IP 또는 도메인)로, 여러 클러스터를 명시할 수 있다. users : 쿠버네티스 API에 접속하기 위한 사용자 목록으로, 인증 방식에 따라 형태가 다를 수 있다. context : user와 cluster 사이의 관계를 매핑한 것으로, 어떤 context를 사용하느냐에 따라 cluster와 user가 결정된다. context를 기반으로 “어떤 Cluster에 어떤 User가 인증을 통해 쿠버네티스를 사용한다.” 의미로 해석하면 된다. conte..
📌Index Taint Toleration ✔️ Taint 특정 노드에 Taint를 지정할 수 있는데, Taint를 설정한 노드에는 포드가 scheduling 되지 않는다. 참고 : kubectl taint Taint 추가하기 $ kubectl taint node [nodename] [key]=[value]:[effect] value는 필수는 아니다. Taint 제거하기 $ kubectl taint node [nodename] [key]=[value]:[effect]- 참고로 Cordon을 설정하면 자동으로 Taint가 추가된다. $ kubectl cordon node2 node/node2 cordoned $ kubectl describe node node2 | grep -i taint Taints: n..