반응형

Container Orchestration/Kubernetes 40

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에 대해서 공부해보려고 한다.  2023.05.16 - [Container Orchestration/Kubernetes] - Helm Chart 작성방법2024.11.15 - [Container Orchestration/Kubernetes] - Helm Chart Template 문법 Helm 이란?Helm 이란 쿠버네티스 오픈 소스 패키지 매니저이다.Kubernetes용으로 구축된 소프트웨어를 제공, 공유 및 사용할 수 있는 기능을 제공한다. Helm 은 chart라는 패키지 형식을 사용한다. 여기서 chart는 Kubernetes 리소스 집합을 설명하는 파일 모음이다.단일 차트를 사용하여 memcached 파드와 같은 ..

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 |..

Kubernetes API Server, Group / RBAC란?

Overview 오늘은 Kubernets API Server, Group 그리고 RBAC 에 대해서 공부해보려고 한다. Kubernetes에 개념과 간단한 실습을 하고싶다면 아래의 링크를 참고하길 바란다. 2022.03.22 - [Container Orchestration/Kubernetes] - Kubernetes 개념과 Minikube 실습 Kubernetes 개념과 Minikube 실습 1. Kubernetes의 개념과 특징, 그리고 아키텍처 1) 개념 Kubernetes는 컨테이너를 쉽고 빠르게 배포/확장하고 관리를 자동화해주는 오픈소스 플랫폼이다. 2) 특징 Kubernetes는 Deployment, StatefulSets, DaemonSet, J somaz.tistory.com API Serv..

반응형