DevOps/k8s 17

[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] 쿠버네티스에서의 헬스체크 LivenessProbe, ReadnessProbe

Introduction 시스템은 관리하기 어려울 수 있다. 가장 큰 이유는 시스템이 작동하려면 모두 작동해야하는 움직이는 부품이 많기 때문이다. 작은 부품이 파손되면 시스템은 이를 감지하고 우회하여 수리해야한다. 그리고 이 모든 작업이 자동으로 수행되어야합니다. 이 글에서는 쿠버네티스에서의 헬스체크 기능인 Readness와 Liveness를 설정하는 방법에 대해서 알아보겠다.  헬스체크는 인스턴스가 작동하는지 여부를 시스템에 알리는 간단한 방법이다. 인스턴스가 작동하지않으면 다른 서비스에서 해당 인스턴스에 엑세스하거나 요청을 보내면 안된다. 대신 나중에 준비되거나 다시 시도되는 앱의 다른 인스턴스로 요청을 보내야한다.  또한 시스템은 앱을 정상 상태로 되돌려야한다. 기본적으로 쿠버네티스는 Pod내의 모든..

DevOps/k8s 2024.06.18

[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

[k8s] 명령어 8개로 가장 빠르게 클러스터 생성하고 쿠버네티스 모니터링까지

Introduction 쿠버네티스는 뛰어난 기능을 제공하지만, 처음 시작하기는 조금 복잡할 수 있습니다. 하지만 Minikube를 이용하면 로컬 환경에서 손쉽게 쿠버네티스 클러스터를 만들 수 있습니다. 이번에는 단 아래의 8개의 명령어로 클러스터를 만들고, 가장 빠르게 모니터링까지 하는 방법에 대해 안내하겠습니다. 쿠버네티스를 처음 다뤄보는 분들에게는 Minikube가 정말 좋은 선택일 거예요. Minikube를 사용하면 로컬 환경에서 간단하게 쿠버네티스 클러스터를 만들 수 있답니다. 설치 전 요구 사항 Docker Desktop 설치 Docker Desktop은 Minikube에서 로컬 Kubernetes 클러스터를 실행하기 위해 필요합니다. 먼저 Docker Desktop을 설치해야 해요. 공식 Do..

DevOps/k8s 2024.02.16

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

2023-12-25 CKA 기출 feat. CKA 합격

마스터 노드 버전 업그레이드 (O) 1.28.0 -> 1.28.1 (kubeadm 사용) kubelet, kubectl도 같은 버전 업그레이드워커노드는 건들지 마세요. Etcd Backup & Restore (X) peer.key , peer.crt , cacrt , endpoints 로 Back up (성공) -> 요구하는 파일명을 사용하여 restore. —data-dir /var/lib/etcd-restore (성공) manifests/etcd.yaml 에서 hostpath 부분 Restore할 때 적은 —data-dir 경로로 변경 함 restore 완료한 부분부터 문제대로 하지않은 거 같은 찝찝함이 있어서 틀렸을거 같다 Node not ready -> ready (O) k get nodes 죽은..

DevOps/k8s 2023.12.28