[Kubernetes] 쿠버네티스 모니터링 (Monitoring) - Prometheus & Grafana 설치
DevOps/Kubernetes2022. 6. 8. 12:10[Kubernetes] 쿠버네티스 모니터링 (Monitoring) - Prometheus & Grafana 설치

🚀 Prometheus Monitoring 쿠버네티스 모니터링의 역사 Heapster → metrics-server → Prometheus Prometheus는 기본적으로 모니터링에 목적이 있다. CPU, Memoty, Network IO, Disk IO 등을 모니터링 할 수 있다. 오로지 쿠버네티스만이 아닌 BM, VM, Docker 등 시스템을 위해 구성되는 것이며 metric값을 수집해서 시각적으로 확인할 수 있도록 한다. 📌 프로메테우스 아키텍처 주황색 아웃라인이 그려진 것들이 프로메테우스의 구성요소이다. 각 구성요소들이 파드로 실행된다. 가장 중요한 것은 중앙의 Prometheus server이다. 그 중 Retrieval은 회수/수집의 의미를 가진다. Prometheus targets - 프로..

[Kubernetes] Helm의 개요, 설치 및 사용법
DevOps/Kubernetes2022. 6. 8. 11:40[Kubernetes] Helm의 개요, 설치 및 사용법

🚀 Helm이란 ?! Helm 우리가 정상적으로 동작하는 서비스를 구축하기 위해서는 수많은 쿠버네티스 오브젝트들이 필요하다. 이런 모든 것들을 모아서 하나로 패키지로 관리하기위한 것이 Helm이다. 쉽게 얘기해서 Helm은 yaml 파일의 모음이다. 이것은 곧 쿠버네티스의 패키지이다. Helm은 2버전과 3버전이 있다. 2버전은 더이상 개발하지 않으나 많은 책이나 문서에는 2버전으로 되어있다. 명령어도 다르고 아키텍처 구조도 달라서 호환성이 많이 떨어진다. 현재는 3버전만 사용한다. Helm 저장소는 다양하게 많이 존재한다. 분산 형태의 저장소를 가지고 있다. Helm을 활용하면 다른 사람이 만든 어플리케이션도 내 쿠버네티스 클러스터로 쉽게 가져올 수 있다. 🚀 Helm 아키텍처 및 구성 요소 (해당 아..

[Kubernetes] RBAC (Role-Based Access Control, 역할 기반 접근 제어)
DevOps/Kubernetes2022. 6. 7. 10:35[Kubernetes] RBAC (Role-Based Access Control, 역할 기반 접근 제어)

🚀 RBAC : Role-Based Access Control Using RBAC Authorization | Kubernetes Role: 권한(NS) ClusterRole: 권한(Global) RoleBinding Role ↔ RoleBinding ↔ SA/User ClusterRoleBinding ClusterRole ↔ ClusterRoleBinding ↔ SA/User vagrant@k8s-node1  ~/pod  kubectl api-resources | grep rbac clusterrolebindings rbac.authorization.k8s.io/v1 false ClusterRoleBinding clusterroles rbac.authorization.k8s.io/v1 false C..

[Kubernetes] Authenticate (인증)
DevOps/Kubernetes2022. 6. 7. 09:00[Kubernetes] Authenticate (인증)

🚀 Authenticate (인증) Authenticating | Kubernetes 쿠버네티스의 사용자 Service Account(SA): 쿠버네티스가 관리하는 SA 사용자 사용자 X Pod 사용 Normal User: 일반 사용자(쿠버네티스가 관리 X) 사용자 O Pod X vagrant@k8s-node1  ~  kubectl api-resources | grep serviceacc serviceaccounts sa v1 true ServiceAccount Service Account는 쿠버네티스가 관리한다. Normal User가 사용하기 위한 인증서는 쿠버네티스가 관리하지만 사용자라는 개념은 쿠버네티스가 관리하지 않는다. vagrant@k8s-node1  ~  kubectl get sec..

[Kubernetes] Kubeconfig 파일
DevOps/Kubernetes2022. 6. 6. 13:53[Kubernetes] Kubeconfig 파일

🚀 Kubeconfig ~/.kube/config : 쿠버네티스 설정 파일 apiVersion: v1 kind: Config preferences: {} clusters: - name: cluster.local cluster: certificate-authority-data: LS0tLS1... server: https://127.0.0.1:6443 - name: mycluster cluster: server: https://1.2.3.4:6443 users: - name: myadmin - name: kubernetes-admin user: client-certificate-data: LS0tLS1... client-key-data: LS0tLS1... contexts: - context: cluste..

[Kubernetes] Taint & Toleration
DevOps/Kubernetes2022. 6. 6. 13:29[Kubernetes] Taint & Toleration

🚀 Taint & Toleration 🚀 Taint 테인트(Taints)와 톨러레이션(Tolerations) | Kubernetes Taint : 특정 노드에 역할을 부여 Toleration : Taint 노드에 스케줄링 허용 vagrant@k8s-node1  ~/schedule/affinity  kubectl describe node node1 Taints: node-role.kubernetes.io/master:NoSchedule 현재 시스템에서는 node1이 컨트롤 플레인이자 워커 노드로 작동하고 있다. 컨트롤 플레인 시스템에는 다음과 같이 Taint key에 Effect가 세팅되어 있다. 워커 노드에는 파드를 배치할 수 있으므로 node1에도 파드가 배치될 수 있다. 만약 node1이 컨트롤 ..

image