배워서남주자
-
배워서 남주자 시리즈 : kube-scheduler혼자서 공부하기/DevOps 2023. 5. 13. 17:07
kube-scheduler 클러스터 안에서 자원 할당이 가능한 노드 중 알맞은 노드를 선택하는 역할 Label / Selector / Affinity / Taint / Toleration 기능과 함께 동작 점수부여 형태 / 다중화 가능/ Active-Stand-by pod 스케쥴링의 필요성 머신러닝 워크로드를 돌리는 특정 pod는 GPU가 탑재된 node에서만 돌아야 한다. consumer들은 네트워크 intensive하므로 전용 node group 을 쓰고 싶다. 팀별로 node를 나눠서 사용하고 싶다. pod 스케쥴링 분류 사용자 특정 노드에 pod를 배치하고 싶을때 nodeSelector Node Affinity Node Anti-Affnity Inter Pod Affinity Inter Pod A..
-
배워서 남주자 시리즈 : 쿠버네티스 3혼자서 공부하기/DevOps 2023. 5. 12. 00:51
etcd 쿠버네티스에서 필요한 모든 데이터를 키-값 형태로 저장하는 데이터베이스 etcd가 다운되면 모든 컴포넌트가 미아가 되기 때문에 가용성이 매우 중요 클러스터링하여 분산실행하는 RSM(Replcated State Machine) 구조 -> etcd는 3중화 이상 진행 etcd HA구성 분산합의알고리즘을 사용 Leader(2379) / Follower (2379) etcd 구성 확인 # etcd pod 상세 확인 k describe pod etcd-minikube -n kube-system ETCDctl ETCD를 다루기위한 유틸리티 api version2 와 3가 있음 (설정이 없으면 기본적으로 2) ETCDCTL이 ETCD API API Server 에 인증할수 있도록 인증서 파일 경로 지정 필요..
-
배워서 남주자 시리즈 : Kubernetes 구축혼자서 공부하기/DevOps 2023. 5. 12. 00:17
쿠버네티스 구축 환경 minikube 쿠버네티스를 로컬에서 실행할수 있는 도구 쿠버네티스를 공부하거나 일상적인 개발작업수행에 사용 단일 노드 all in one 구성으로 이중화가 보장되지 않기 때문에 상용에서 사용불가 로컬 가상 머신에 쿠버네티스를 구성하기 때문에 하이퍼바이저 설치 필요 kubectl 사용 쿠버네티스 클러스터와 통신하기 위한 CLI 도구 Kubectl 설치 https://kubernetes.io/ko/docs/tasks/tools/install-kubectl-macos/ macOS에 kubectl 설치 및 설정 시작하기 전에 클러스터의 마이너(minor) 버전 차이 내에 있는 kubectl 버전을 사용해야 한다. 예를 들어, v1.27 클라이언트는 v1.26, v1.27, v1.28의 컨..
-
배워서남주자시리즈 : Kubernetes (k8s) 구조혼자서 공부하기/DevOps 2023. 5. 11. 21:34
쿠버네티스? 컨테이너화된 워크로드와 서비스를 관리하기 위한 오픈소스 컨테이너 오케스트레이션 플랫폼 컨테이너 오케스트레이션이 필요한 이유 자동화된 스케일링 자동화된 롤아웃과 롤백 자동화된 복구(self-healing) 자동화된 빈패킹(bin Packing) -> 자원효율화개념 -> 테트리스 하듯 짜맞추는 개념 시크릿과 구성관리 서비스 디스커버리와 로드밸런싱 스토리지 오케스트레이션 선언전 코드를 사용한 운영(IaC) 쿠버네티스를 알아야 하는 이유 쿠버네티스는 완전 오픈소스, 가장 풍부한 에코시스템 쿠버네티스는 everyting as code를 구현 쿠버네티스는 어디서나 구동가능 구글에 넘처나는 레퍼런스들.. 쿠버네티스 오케스트레이션 구조 APP (Layer) Container Ochestaration (La..