DevOps 12

[CKS] Kubernetes에서의 Public Key Infrastructure 구조 (PKI) 이해하기

IntroductionPublic Key 기반 구조(PKI)는 쿠버네티스에서 중요한 역할을 하며, 클러스터 내 다양한 구성 요소 간의 안전한 통신을 보장한다.  PKI의 핵심에는 인증 기관(CA)이 있으며, 이는 인증서를 발급하고 검증하는 기관이다. 이러한 인증서는 쿠버네티스 구성 요소가 서로를 인증하고 검증할 수 있도록 하여 클러스터 전반에 걸쳐 안전한 상호 작용을 보장하게 한다. CA (Certificate Authority) 의 역할인증서 발급: CA는 클러스터 내 다양한 구성 요소(APIServer, kubelet, 스케줄러 등)에게 인증서를 발급한다. 인증서 서명: CA는 모든 인증서에 서명하여, 통신 당사자의 신뢰성을 보장하는 신뢰 체인을 형성한다. 검증: 쿠버네티스 구성 요소는 CA를 사용하..

DevOps/k8s 2024.06.26

[CKS] Google Cloud로 Master Node와 Worker Node 구성하는 방법

Introduction Google Cloud Platform(GCP)에서 Kubernetes 클러스터를 구성하는 방법에 대해 알아보겠다.두 개의 가상 머신(VM)을 사용하여 하나의 Master Node와 하나의 Worker Node를 구성할 것이다.   Kubernetes Cluster 사양클러스터는 두 개의 가상 클러스터로만 구성된다.첫 번째 VM: cks-master (Master Node)OS: Ubuntu 20.04 LTSDISK: 50GBCPU: 2RAM: 4GB두 번째 VM: cks-worker (Worker Node)OS: Ubuntu 20.04 LTSDISK: 50GBCPU: 2RAM: 4GB클러스터 실행 스크립트install_master.sh는 마스터 노드에서 실행install_work..

DevOps/k8s 2024.06.25

[CKS] 이론편 : Kubernete Security 기본 개념

CKS 를 따는 이유 8월/9월 중으로 CKS 자격증을 취득하는 것을 목표로 하고 있다. 현재 CKA(Certified Kubernetes Administrator) 자격증은 보유하고 있지만, CKA를 준비하면서 보안과 네트워크 관련 지식이 부족하다고 느꼈다. 현업에서 관리형 쿠버네티스 서비스(EKS, GKE, AKS 등등.. 쿠버모니터링 개발팀에 있었기 때문...하하) 를 많이 다뤄봤지만, On-Premise 환경의 쿠버네티스 실무 경험과 배경 지식이 매우 부족한 상태입니다. 특히, Control Plane 관련 공부가 시급하다고 느껴 CKS를 취득하는 동시에 보안과 네트워크를 함께 공부하려고 한다. 준비 순서는 이론 -> 실습 -> 실제 기출 문제 풀이 순으로 진행하려고 한다.  강의는 아래 유튜브 ..

DevOps/k8s 2024.06.19

[K8s] AWS Karpenter를 통해 EKS 클러스터 효율적으로 관리하기 2편_워크로드 배포

5단계 : 워크로드 배포  AWS Karpenter로 최적화된 Kubernetes 클러스터에 애플리케이션 워크로드를 배포하려면 리소스를 효율적으로 활용할 수 있도록 세심한 계획이 필요합니다. 이 섹션에서는 Karpenter의 동적 프로비저닝 기능을 최대한 활용하기 위한 워크로드 배포 전략에 대해 설명합니다.워크로드 요구사항 이해하기애플리케이션을 배포하기 전에 리소스 요구사항을 평가하십시오. 이를 통해 Karpenter가 리소스를 보다 효과적으로 프로비저닝할 수 있습니다.   - CPU / Memory Request: Deployment yaml 파일에 적절한 CPU / Memory  Request(요청 값)을 정의하여 Karpenter가 아래와 같은 요구사항을  충족할 수 있는 Node로 Provisio..

DevOps/k8s 2024.06.14

[K8s] AWS Karpenter를 통해 EKS 클러스터 효율적으로 관리하기 1편_기본 구성

Introduction AWS Karpenter는 resource 할당을 최적화하고 비용을 절감할 수 있는 방법을 제공하는 매우 유연하고 확장 가능한 Auto Scaling 솔루션으로, 쿠버네티스 기본 기능인 Auto Scaler 와 비교해 뛰어난 장점을 지니고 있습니다. 오늘은 AWS Karpenter를 소개하고, 쿠버네티스 기본 기능인 Auto Scaler와 비교한 장점들을 설명하고, Kubernetes 클러스터 내에서 실제 설정 과정을 알아보겠습니다.  What is AWS Karpenter ?AWS Karpenter는 현재의 워크로드를 기반으로 클러스터 내 컴퓨팅 자원의 수량과 종류를 자동으로 조정하도록 설계되었습니다. 단순한 Node Scaling을 넘어, 필요에 따라  Application에 ..

DevOps/k8s 2024.06.14

[docker] Docker Swarm을 활용한 NFS Volume 생성과 서비스 배포

IntroductionDocker Swarm을 활용하여 NFS(Network File System) Volume을 생성하고 서비스를 배포하는 방법에 대해 알아보겠습니다. 이를 통해 여러 Docker 노드 간에 데이터를 공유하고 분산된 서비스를 운영할 수 있습니다.NFS란?NFS(Network File System)은 리눅스와 유닉스 계열 운영체제에서 사용되는 분산 파일 시스템입니다.파일 및 디렉토리를 네트워크를 통해 다른 컴퓨터에 공유할 수 있게 해주는 프로토콜입니다.Docker Swarm 이란?Docker Swarm은 Docker 컨테이너 오케스트레이션 도구 중 하나로,여러 Docker 호스트를 하나의 가상화된 호스트로 관리하는 기능을 제공합니다.Swarm을 통해 여러 노드에 걸쳐 컨테이너를 분산 배치..

DevOps/docker 2024.02.01

[Helm] Helm Chart 생성하기 1편

Helm과 Helm Chart란? Helm은 Kubernetes 애플리케이션을 관리하기 위한 패키지 관리자이며, Helm Chart는 Kubernetes 리소스를 정의하고 패키징하는 방법을 담은 템플릿입니다. 이를 통해 반복적인 작업을 줄이고 표준화된 배포를 가능하게 합니다. 실습 환경 설정 먼저 간단한 환경을 설정해봅시다. 터미널에서 다음과 같이 명령어를 입력하여 빈 Helm Chart를 생성합니다. helm create myfirstchart 이 명령어는 **myfirstchart**라는 이름의 Helm Chart를 생성합니다. 이제 이 Chart를 편집하면서 Helm의 기본 개념을 익혀보겠습니다. 간단한 ConfigMap 만들기 실습의 시작은 간단한 ConfigMap을 만들어서 Helm Chart에..

DevOps 2024.01.24

Kubernetes 환경에 Prometheus와 Grafana를 설치하고 통합하기

Introduction 안녕하세요. 오늘은 Kubernetes 환경에 Prometheus 및 Grafana를 설치하고 통합하는 단계를 자세히 안내하겠습니다. 이를 통해 클러스터의 모니터링 및 시각화를 손쉽게 구성할 수 있습니다. Prometheus 설치 Prometheus를 설치하기 위해 Helm 차트를 사용합니다. #Helm Repo 추가 helm repo add prometheus-community #Helm을 사용하여 프로메테우스 설치 helm install prometheus prometheus-community/prometheus Pod 확인 설치가 완료되면 다음 명령어를 사용하여 프로메테우스 관련 Pod가 정상적으로 배포되었는지 확인합니다. kubectl get pods Prometheus 서..

DevOps/k8s 2024.01.24

[Network] traceroute을 사용한 네트워크 실습

내 컴퓨터에서 구글까지 9개의 네트워크 대역이 지나간걸 알 수 있다. 보통 10개에서 15개 안에서 전세계가 연결될 수 있다고 한다. 이렇게 여러 네트워크들이 연결되어있는 걸 WAN(Wide Area Acess) 이라고 한다. daeunkim@Daeunui-MacBookPro ~ % traceroute 8.8.8.8 traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 52 byte packets 1 10.160.136.1 (10.160.136.1) 4.773 ms 4.382 ms 4.317 ms 2 * * * 3 100.70.61.181 (100.70.61.181) 7.073 ms 7.091 ms 7.885 ms 4 10.63.252.236 (10.63.252.236) 5...

네트워크와 CS 2024.01.04

[K8s] Kubernetes LivenessProbe와 ReadinessProbe와 어플리케이션 안정성 강화하기

LivenessProbe왜 필요한지? 어플리케이션을 운영하는 과정에서 어플리케이션의 상태를 지속적으로 모니터링하고, 어플리케이션의 비정상 동작을 빠르게 감지하여 안정적인 서비스를 제공하는 것은 매우 중요합니다. 어플리케이션이 장애 상태에 빠지면 서비스 중단 및 고객 불만을 초래할 수 있기 때문에, 이러한 문제를 사전에 예방하고 빠르게 대응하기 위해 Kubernetes의 LivenessProbe와 Spring Boot Actuator를 사용합니다. 특징 어플리케이션의 생존 여부를 체크하는데 사용됩니다. 주기적으로 어플리케이션의 상태를 확인하고, 응답이 오지 않거나 오류가 발생한 경우 해당 POD를 재시작합니다. 어플리케이션이 예상되는 문제 또는 무한 루프, 데드락 등으로 인해 정상적으로 동작하지 않을 때 ..

DevOps/k8s 2023.07.27