반응형

Container Orchestration/Kubernetes 31

1. Kustomize란?

Overview 오늘은 Kustomize에 대해서 공부해보려고 한다. Kustomize란? Kustomize는 쿠버네티스 매니페스트를 커스터마이징하는 도구이다. 기본 매니페스트에 수정 및 변형을 적용하는데 초점을 맞춘다. ​ Kustomize 설치 다른 설치 방법은 해당 링크에서 확인하면 된다. curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash sudo mv kustomize /usr/local/bin/ Kustomize 기본요소 1. 베이스(base) 및 오버레이(overlay) Kustomize는 기본적으로 베이스와 오버레이라는 아이디어를 기반으로 작동한다..

CertManager로 Let's Encrypt 인증서 발급

Overview CertManager로 Let's Encrypt 인증서 발급 방법에 대해서 알아보려고 한다. 모든 소스코드는 아래의 Github에 저장되어 있다. certmanager-letsencrypt 저장소 CertManager란? CertManager는 CustomResourceDefinitions 세트로 구성된 Kubernetes 기본 인증서 관리 컨트롤러이다. Kubernetes 클러스터에 CertManager를 추가하면 인증서 및 인증서 발급자가 Kubernetes 클러스터의 사용자 지정 리소스 유형으로 추가된다. CertManager는 Let's encrypt, Vault, SelfSigned, Venafi와 같은 다양한 소스에서 인증서를 발급할 수 있다. ​ CertManager 설치 최..

Kubernetes Autoscaling & Karpenter

Overview 오늘은 Kubernetes Autoscaling과 Karpenter에 대해서 공부해보려고 한다. Kubernetes Autoscaling이란? Kubernetes Auto Scaling은 Kubernetes 클러스터가 워크로드에 따라 용량을 자동으로 조정하는 기능을 말한다. 파드(Pod)에 효율적으로 실행할 수 있는 충분한 리소스가 있는지 확인하는 동시에 낭비를 방지하기 위해 리소스 사용을 최적화하는 데 도움이 된다. ​ Kubernetes Autoscaler 일반적으로 stateless 서버는 HPA를 사용하는 것이 적합하다. VPA는 리소스를 변경하는 과정에서 pod의 재시작이 불가피하고, 하나의 node가 가질 수 있는 리소스(CPU, 메모리)에는 한계가 있기 때문이다. 출처 : h..

Helm Chart 작성방법

Overview지난시간에는 Helm이 무엇인지에 대해 공부해보았다.2023.05.16 - [Container Orchestration/Kubernetes] - Helm 이란? (Kubernetes Package manager) 이번시간에는 Helm Chart 작성 방법에 대해서 공부해보려고 한다.   Helm Chart 작성방법 Helm CLI가 설치되어 있으면, helm create 명령을 실행하여 새로운 차트를 생성할 수 있다. 다음은 Helm Chart의 기본 구조이다.$ helm create somazCreating somaz$ tree somaz/somaz/├── Chart.yaml├── charts├── templates│   ├── NOTES.txt│   ├── _helpers.tpl│   ..

Helm 이란? (Kubernetes Package manager)

Overview 오늘은 Kubernetes Package manager 인 Helm에 대해서 공부해보려고 한다. Helm 이란? Helm 이란 쿠버네티스 오픈 소스 패키지 매니저이다. Kubernetes용으로 구축된 소프트웨어를 제공, 공유 및 사용할 수 있는 기능을 제공한다. Helm 은 chart라는 패키지 형식을 사용한다. 여기서 chart는 Kubernetes 리소스 집합을 설명하는 파일 모음이다. 단일 차트를 사용하여 memcached 파드와 같은 단순한 것 부터 HTTP 서버, 데이터베이스, 캐시 등이 포함된 전체 웹 앱 스택과 같은 복잡한 것을 배포할 수 있다. 차트는 디렉토리 내부의 파일 모음으로 구성된다. 디렉토리 이름은 차트의 이름이다.(버전 정보 제외). 따라서 wordpress를 설..

Kuberntes Service Account란?

Overview 오늘은 Kubernetes Service Account에 대해서 공부해보려고 한다. 먼저 간단하게 User Account와 Service Account에 대해 설명해보자면, 사용자 어카운트는 사람을 위한 것이다. 서비스 어카운트는 파드에서 실행되는 프로세스를 위한 것이다. Service Account란? Kubernetes Service Account는 쿠버네티스 클러스터 내에서 실행되는 팟(Pod)이 API 서버와 상호 작용할 수 있도록 권한을 부여하는 데 사용되는 자격증명이다. 서비스 어카운트는 특정 네임스페이스(namespace)에 속하며, 자동으로 생성되거나 사용자가 직접 생성할 수 있다. 그리고 네임스페이스 생성시 디폴트 서비스 어카운트가 생성된다. 쿠버네티스 1.24 이전까지는..

Kubernetes Secret이란?

Overview 오늘은 Kubernetes Secret에 대해서 공부해보려고 한다. Kubernetes Secret이란? Kubernetes 시크릿은 비밀번호, API 키, 토큰 또는 인증서와 같은 민감한 정보를 Kubernetes 클러스터 내에 안전하게 저장하는 데 사용된다. 민감한 데이터를 애플리케이션 코드 및 구성 파일과 분리하는 데 도움이 된다. 시크릿은 클러스터의 포드 및 컨테이너에서 사용할 파일 또는 환경 변수로 마운트할 수 있다. Kubernetes Secrets으로 저장할 수 있는 아래의 리소스에 대해 알아보려고 한다. Opaque Secrets Service account token Secrets Docker config Secrets Basic authentication Secret S..

MetalLB란?

Overview오늘은 Bare-Metal에서 많이 사용하는 LoadBalancer인 MetalLB에 대해서 공부해보려고 한다.MetalLB란?Kubernetes 사용 시 AWS, GCP, Azure 와 같은 클라우드 플랫폼에서는 자체적으로 로드 벨런서(Load Balancer)를 제공해 주지만, 온프레미스 클러스터에서는 로드 벨런싱 기능을 제공하는 모듈을 추가적으로 설치해야 한다.MetalLB는 MetalLB는 BareMetalLoadBalancer 약자로 베어메탈 환경에서 사용할 수 있는 로드 벨런서를 제공하는 오픈소스 프로젝트이다. 클라우드 환경의 서비스(로드밸런서 타입)와는 동작이 조금 다르다. 서비스(로드 밸런서)의 External IP 전파를 위해서 표준 프로토콜인 ARP(IPv4)/NDP(IP..

Kubernetes Resources(쿠버네티스 리소스)

Overview 오늘은 Kubernetes Resource에 대해서 공부해보려고 한다. 먼저 리소스의 종류는 아래와 같다. Deployments ReplicaSet StatefulSets DaemonSet Jobs Automatic Cleanup for Finished Jobs CronJob ReplicationController Deployment & ReplicaSet & Pod 1. ReplicatSet ReplicaSet은 Pod의 원하는 수의 복제본(인스턴스)이 지정된 시간에 실행되도록 하는 리소스이다. 실행 중인 포드의 수가 원하는 수보다 적으면 ReplicaSet은 원하는 수를 유지하기 위해 새 포드를 생성한다. 마찬가지로 실행 중인 Pod가 너무 많으면 ReplicaSet가 추가 Pod를 ..

Kubernetes 플러그인 매니저 Krew란?

Overview 오늘은 Kubernetes 플러그인을 관리하는 패키지 매니저인 Krew에 대해 공부해보려고 한다. Krew란? Krew는 Kubernetes 클러스터와 상호 작용하기 위한 명령줄 도구인 kubectl의 플러그인 관리자이다. Krew를 사용하면 kubectl의 기능을 확장하는 추가 플러그인을 쉽게 검색, 설치 및 관리한다. 플러그인은 패키지로 배포되며 Kubernetes 커뮤니티에서 관리하는 플러그인의 중앙 저장소인 Krew 인덱스에서 호스팅할 수 있다. Krew 설치 krew 설치 아래의 명령어를 사용하면 설치가 된다. ( set -x; cd "$(mktemp -d)" && OS="$(uname | tr '[:upper:]' '[:lower:]')" && ARCH="$(uname -m |..

반응형