목록Kubernetes (20)
Study_note
Kubernetes 매니페스트 파일들을 패키징하고 관리하는 패키지 매니저로 Node.js의 npm과 Python의 pip와 같은 역할이라고 보면 된다. 예를들어 여러 리소스를 사용하여 앱을 생성하였고 똑같은 리소를 사용하여 다른 dev, stg 환경들을 만들려고하면 앱을 생성하였을 때 만들었던 yaml파일을 다시 하나하나 실행시키거나 중간에 실수로 빼먹는 yaml파일이 있어서 문제가 발생할 수 있거나 단순 반복으로 인해 불편한점이 많다 하지만 helm을 사용하게 되면 리소스를 패키징한 뒤에 해당 패키징을 사용해서 간단하게 완성된 앱 서비스를 한 번에 배포할 수 있다 여기서 helm은 중요한 3가지 개념이 있다. 1. Chart 위에서 예를 들었듯이 필요한 모든 리소스들이 포함된 헬름 패키징이다 2.Rep..
기본적으로 쿠버네티스는 오토스케일 즉 자동 확장 기능을 제공했는데 크게 두가지로 나뉜다 파드 기반 오토스케일링 HPA (Horizontal Pod Autoscaler) - 임계값에 맞게 파드를 추가 및 제거 VPA (Vertical Pod Autoscaler) - 임계값에 맞게 파드의 cpu 및 메모리 요청 및 제한 크기를 조정\ 노드 기반 오토스케일링 CA (Cluster Autoscailing) - 임계값에 맞게 노드를 추가 및 제거 여기서 최근에 새롭게 출시된 노드 기반 오토스케일링인 karpenter가 새롭게 생겼다. 우선 CA에 단점을 말하면서 카펜더와 ca의 차이를 찾아보자 CA 단점 Auto Scaling을 구성하기가 어렵고 구성할 수 있는 범위가 제한적이다 노드를 확장하기 전에 노드가 확장..
우선적으로 QoS를 이해할려면 CPU Manager를 이해해야한다. 간단하게 설명하면 CPU Manager는 프로세스 실행을 위한 CPU리소스 할당을 처리 하고 전체 CPU 사용률을 최대화하는 정책이며 포드에 CPU Affinity를 설정할 수 있도록 지원하고 있어 cpu or memory를 할당할 수 있게 한다. 여기서 CPU Manager의 정책은 2가지로 아래와 같다. none: CPU 선호도 체계를 명시적으로 활성화 static: 특정 리소스 특성을 가진 팟(Pod)이 노드에서 증가된 CPU 선호도 및 독점성을 부여받을 수 있습니다. cpu or memory가 갑자기 급증하는 상황, 예상치 못한 상황이 발생할 때, 레이턴시가 갑자기 급증할때 등 많은 문제가 생긴다 이러한 문제를 해결하기 위해 st..
쿠버네티스 내부 통신은 트래픽이 들어올때 iptables를 거치면서 snat/dnat 되어 client ip를 할당 받지 못한다 이런 경우 client ip를 할당 받으려면 2가지 방법이 있다. 1. 서비스 타입을 nodeport 또는 loadbalancer로 사용할 때 externalTrafficPolicy: Local를 통해 파드로 직접 통신 2. Ingress를 사용할때 Target Type을 instance가 아닌 ip로 사용 우선 1에서 서비스를 loadbalancer를 사용한다 가정 하고 externalTrafficPolicy: Local 유무에 대한 트래픽을 보면 아래와 같다. 예를들어 2개의 컨트롤러가 있는 3개의 노드를 타겟으로 잡으며 externalTrafficPolicy: Local ..
lb 컨트롤러를 생성하다 IAM OIDC Provider 생성하는걸 깜빡해서 삽질한김에 이참에 정리한다 우선 IAM OIDC Provider 란? IAM의 엔터티로서 Google이나 Salesforce와 같은 OpenID Connect(OIDC) 표준을 지원하는 외부 자격 증명 공급자(IdP) 서비스를 설명합니다. 즉 OpenID Connect를 이용하여 외부 서비스를 통해 사용자 인증을 구현할 수 있는 기술 리소스다. 구체적인 내용은 다음 블로그 참조 https://coffeewhale.com/kubernetes/authentication/oidc/2020/05/04/auth03/ k8s 인증 완벽이해 #3 - OpenID Connect 쿠버네티스 인증 완벽 이해 시리즈 3탄, OpenID Connec..
시험 환경이나 등록 및 세부적인 내용들은 타 블로그에서 찾아보면 쉽게 찾아볼 수 있기 때문에 넘어간다 공부 방법 1. 우선 CKA를 준비하기전에 "핵심만 콕 쿠버네티스"라는 기초 K8S책을 2번 정도 정독한거 같다 첫번째는 실습을 따라하는 느낌으로 컨트롤러들을 이해한다면 두번째는 각 컨트롤러 내부 설정 이나 특징 등 정확히 파악하듯이 공부했다 2. 제일 강력추천하는게 다들 추천하는 뭄샤드님의 udemy 강좌이다. 이 강좌는 k8s 실습 환경을 무제한으로 제공해주기 때문에 연습환경으로 사용하기 좋고 1에서 이해했던 부분들을 실습을 통해 깊게 파고들수 있다. 중요한게 mock exam, lightning labs 파트는 무조건 3번은 보고 전부 풀수있는 실력을 만들것 시험에서 mock exam, lightn..