전체 글 (21) 썸네일형 리스트형 Terrafrom 기본 개념 Terraform 개요Terraform은 HashiCorp에서 개발한 인프라스트럭처를 코드로 관리하는(IaC, Infrastructure as Code) 도구입니다. HCL(HashiCorp Configuration Language)이라는 선언적 언어를 사용하여 클라우드, 온프레미스 등 다양한 인프라를 정의하고 관리할 수 있습니다.핵심 개념프로바이더(Provider): AWS, Azure, GCP 등 인프라 서비스를 제공하는 플랫폼과의 상호작용을 담당리소스(Resource): 생성하고 관리할 인프라 구성요소(서버, 네트워크, 스토리지 등)모듈(Module): 재사용 가능한 Terraform 코드 패키지상태(State): Terraform이 관리하는 인프라의 현재 상태를 저장하는 파일워크플로우1. Writ.. CKA 자격증 취득 후기 및 핵심 개념 정리 자격증 취득 후기 EKS 환경에서 업무를 진행하고 있었고 관련해서는 스터디도 한번 진행했었기 떄문에 생각보다 별로 어렵지 않을거라고 생각하고공부를 시작했었는데 내가 대충 알고 있었던 부분도 많았고 생각보다 공부해야하는 범위가 많았었다. 그리고 정말 주어지는 문제를 풀어야하기때문에 각 상황들을 정확하게 이해하는게 중요했었고 이번 시험 준비를 통해서 기존에 어렵풋 알던 지식들을 정확하게 알게 되었고 업무에서 활용하면 좋을 것 같은 개념들도 많이 알 수 있었다. 가격이 비싸서 조금 망설여지기는 하지만 그래도 개념위주보다는 실무 위주의 시험이기 때문에 쿠버네티스 환경에서(혹은 EKS 같은 플랫폼 서비스) 업무를 진행하고 있고지식적으로 좀 더 향상을 원하시는 분들이 있다면 정말 강력 추천하는 자격증이다! .. kustomize 공식 문서 링크 1, 링크2 Kustomize 사용이 필요한 이유 여러 환경 (개발, 테스트, 라이브) 에서 kubernetes설정을 반보적으로 복사/붙여넣기 하지 않고 공통 설정은 재사용하고 차이만 덮어쓰고 싶은 경우에 사용하면 좋다 -> 기존에 각 파일별로 별도 관리하면 유지보수가 어렵고 사소한 누락 가능성이 있다 핵심 개념 Base- 모든 환경에서 공통적으로 사용하는 설정들을 모아둔 디렉터리 - 기본값들을 설정하고 변경이 없는경우 그대로 사용한다 Overlay - 각 환경별로 Base를 기준으로 일부 갚만 덮어쓰기 하는 방식 kustomize/├── base/│ ├── deployment.yaml│ └── kustomization.yaml└── overlays/ ├── dev/.. Helm Helm 은 무엇인가?Kubernetes용 패키지 관리자로, 복잡한 애플리케이션을 하나의 단위(Package 또는 Chart) 로 관리할 수 있게 해주는 도구이다 하나의 서비스에는 여러개의 yaml 파일들이 존재하는데 이 각각의 파일들을 helm이 없다면 직접 apply로 적용하고 환경에 맞게 하드코딩 값들을 수정하고 , 삭제하고 그 과정에서 모든 리소스를 추적 관리 해야하기 때문에 복잡하고 비효율 적이다 -> 그래서 helm이 여러 리소스를 하나의 패키지로 묶어서 관리를 해준다. Helm 설치 helm 설치 자체는 운영서버나 로컬 환경에서 설치가 가능한데 설치전에 kubectl 가 설치되어있어야하고(기술적 필수는 아닌데 , 설치하고 실제 사용을 위해서는 필요하기 때문) kubernetes 클러스터에 .. Networking 사전 지식네크워크 기초개념설명Network서로 연결되어 통신 할수 있는 구조 (예: A와 B를 스위치로 연결해 네트워크 구성)(예 192.168.1.0/24)Interface네트워크 인터페이스는 장비가 네트워크에 물리적 또는 가상적으로 연결되는 지점 즉 포트(예: eth0)IP Address장비 식별자 (예: 192.168.1.10)Switch같은 네트워크 안에서 데이터 전송 (L2 장비)Router다른 네트워크와 연결, 패킷 경로 결정 (L3 장비)개념설명Gateway외부 네트워크(인터넷 포함)로 나가는 출구 IPRouting Table특정 네트워크로 가기 위한 경로 정의Default Gateway모르는 목적지 IP는 이곳으로 보냄 (0.0.0.0/0)명령어ip route, ip route add, r.. Storage Docker StorageDocker 에서는 두가지의 주요 스토리지 개념이 있다 - storage drivers- volume driver plugins Storage driver도커의 데이터의 기본 저장 경로는 /var/lib/docker 이다 해당 경로에서 주요 디렉토리는 아래와 같다- containers/ : 컨테이너 관련 데이터- image/ : 이미지 관련 데이터- volumes/ : 도커 볼륨 데이터 Docker 이미지 = 계층 구조 (Layered Architecture) Dockerfile의 각 명령은 하나의 이미지 계층(Layer)을 생성한다그래서 각 레이어는 이전 레이어의 변경 사항만 저장 (최적화됨) 장점- 캐싱: 중복된 레이어 재사용 (다른 도커 이미지 사용한다해도 레이어 .. 쿠버네티스 보안 보안의 기본 요소쿠버네티스에서 보안의 가장 핵심적인 요소는 kube-apiserver 이다-> 쿠버네티스의 모든 작업은 API 서버를 통해서 수행되기 때문 API 서버 접근 제어 누가 접근 할 수 있는가? (Authentication 인증) 제어 방법- 정적 파일 기반 ID/Password (basic-auth-file 옵션으로 사용. 실무에서는 거의 사용안함)- 토큰 (token-auth-file로 제공, 테스트 환경에서 사용 실무에서는 사용 잘 안함) - 인증서 (사용자 인증에 가장 많이 사용. kubectl은 클라이언트 인증서로 접근)- LDAP등 외부 시스템 (--oidc-* 플래그로 OIDC 연동 (OAuth2 기반))- ServiceAccount (파드나 앱이 API Server에 접근.. cluster 관리 노드 유지보수 관리 방법 클러스터를 운영하다 보면 노드의 OS를 업그레이드하거나 보안 패치를 적용해야 할 상황이 생긴다.이때 노드를 안전하게 종료하고 다시 복구하는 절차가 중요하다. 노드가 갑자기 내려간 경우노드가 예기치 않게 다운되면, Kubernetes는 기본적으로 5분간 해당 노드를 지켜본다(기본설정 5분 `--pod-eviction-timeout=5m`)만약 노드가 NotReady 상태가 지속되면, 5분 후 해당 노드의 파드를 evict한다파드가 ReplicaSet의 일부였다면, 다른 노드에서 자동으로 새로 생성된다.o반면, ReplicaSet이 아닌 단독 파드라면 다시 살아나지 않고 사라진다. 안전한 유지보수를 위한 노드 처리: cordon과 drain 1. kubectl cordon 해당 노.. 이전 1 2 3 다음