본문 바로가기

IT Infra/Kubernetes

(5)
쿠버네티스 구성요소 kubernetes는 다수의 서버를 관리하는 툴이다. 하나의 서버가 아니라, 여러 대의 서버를 관리하기 위한 툴이므로 여러가지 구성요소가 존재한다. 간혹 오브젝트랑 헷갈릴 수 있는데 오브젝트들이 모여서 하나의 서버가 되는 것이고 그 서버를 관리하는 것이 쿠버네티스 구성요소이다. kubernetes는 크게 마스터(master),노드(node) 로 구성된다. 마스터(master) 마스터에는 etcd, API 서버, 컨트롤러 매니저, 스케줄러 등이 존재한다. etcd 구성 요소들의 상태 값이 모두 저장되는 곳 etcd의 정보만 백업이 되어있다면 긴급한 장애 상황에서도 클러스터 복구 가능 분산 저장이 가능한 key-value 저장소이므로 복제해서 여러 곳에 저장을 해두면 하나의 etcd가 장애가 나더라고 시스템..
kubeconfig에 대해서 kubeconfig 파일이란? kubeconfig 파일은 클러스터, 사용자, 네임스페이스 그리고 인증 메커니즘에 대한 정보를 관리할 수 있다. kubeconfig 파일은 kubectl(쿠버네티스 클러스터를 제어하기 위한 커맨드 라인 도구)이 클러스터에 대한 접근을 구성하는데 사용되는 파일을 말한다. kubectl은 kubeconfig 파일을 사용하여 클러스터 선택과 클러스터의 API 서버와의 통신에 필요한 정보를 찾는다. kubeconfig 파일 이해 kubeconfig의 구성은 아래와 같다. (내용에 따라 구성이 다를 수 있다.) apiVersion":v1 clusters: -clusters: certificate-authority: leak-file server: name: development co..
HPA(HorizontalPodAutoscaler) HPA이란? CPU,Memory 등 리소스가 정해둔 임계치를 초과할 경우 스케일 아웃 해주는 기능을 갖추고 있다. HPA 컨트롤러가 리소스를 체크하며 정해둔 replicas 수에 맞춰 pod를 줄이거나 늘려줍니다. 스케일 아웃(Scale out) 접속된 서버의 대수를 늘려 처리 능력을 향상시키는 것이다. 수평 스케일로 불리기도 한다. 대체로 웹 서버에 사용된다. 웹 서버 펌, 데이터가 읽기 전용인 검색엔진 데이터 분석 처리, 메일 서버나 게시판 등의 어플리케이션 등에 적용할 수 있다. 스케일 업(Scale up) 서버 그 자체를 증강하는 것으로 처리 능력을 향상 시키는 것이다. 수직 스케일로 불리기도 한다. 유지가 어려운 데이터베이스 서버에서 스케일 업이 대체로 사용된다.
kubernetes 오브젝트 정리(2) 컨트롤러(Controller)-DaemonSet Daemonset(DS)은 Pod가 각각의 노드에서 하나씩만 돌게 하는 형태로 Pod를 관리하는 컨트롤러이다. 아래 그림을 보면 조금 더 이해가 갈 수 있을 것이다. Repilcation Controller(RC),ReplicaSet(RS) 이 두가지에 의해서 관리되는 Pod는 여러 노드들의 상황에 따라서 일반적으로 비균등 배포가 되지만, DS에 의해 관리되는 Pod는 모든 노드에 균등하게 하나씩만 배포 된다. DS의 또 다른 특징은 특정 노드에만 Pod를 하나씩 배포 할 수 있도록 설정이 가능하다. 설정은 Pod의 “selector”와 라벨을 이용해서 특정 노드만을 선택할 수 있게 하면 된다. 컨트롤러(Controller)-Job 워크로드 모델 중에서 b..
kubernetes 오브젝트 정리(1) Master & Node 쿠버네티스의 클러스터 구조 Master 클러스터 전체를 관리하는 컨트롤러 Node 클러스터를 구성하는 가상 또는 물리머신 오브젝트(Object) 쿠버네티스에서 가장 기본적인 구성단위가 되는 기본 오브젝트(Basic Object)와 컨트롤러(Controller)로 이루어져있다. 기본 오브젝트(Basic Object) 배포되어 있는 워크로드를 구성하는 오브젝트들로 Pod, Service, Volume, Namespace 가 있다. 컨트롤러(Controller) 기본 오브젝트만으로 애플리케이션을 설정 및 배포가 가능하지만 이를 조금 더 편리하게 관리하기 위해서 사용된다. 컨트롤러에는 Replication Controller(RC), Replication set, DaemonSet, J..