전체 글 181

Terraform - tfstate

1. tfstate의 역할현재 인프라 상태 저장 – Terraform이 관리하는 모든 리소스의 정보를 JSON 형식으로 저장변경 사항 추적 – Terraform 실행 시 기존 인프라와 새로운 코드의 차이를 비교하여 필요한 변경만 적용동일한 상태 공유 – 여러 팀원과 동일한 인프라 상태를 공유할 수 있도록 원격 저장소(예: AWS S3, Terraform Cloud) 사용 가능 2. tfstate 파일의 주요 구조{ "version": 4, "terraform_version": "1.6.0", "serial": 3, "lineage": "abcd-efgh-ijkl-mnop", "outputs": {}, "resources": [ { "mode": "managed", "ty..

Terraform 2025.02.11

Terraform - 변수 타입

1) String, Number, Bool variable "example_string" { type = string default = "Terraform"}variable "example_number" { type = number default = 10}variable "example_bool" { type = bool default = true}  2) list, map, object, tuple, set, any  2-1) list여러 값을 순서대로 저장하는 배열 형태의 자료구조리스트의 모든 요소는 같은 데이터 타입이어야 함list() 형태로 정의variable "example_list" { type = list(string) default = ["aws", "g..

Terraform 2025.02.10

Terraform - Resource

Terraform에서 resource는 인프라의 구성 요소를 정의하는 가장 기본적인 블록 resource의 기본적인 정의 형태 resource "_" "" { # 설정값 (Arguments)}AWS EC2 인스턴스 생성 예제 provider "aws" { region = "ap-northeast-2"}resource "aws_instance" "example" { ami = "ami-0c55b159cbfafe1f0" # Amazon Linux AMI ID instance_type = "t2.micro" tags = { Name = "MyTerraformInstance" }} aws_instance: AWS의 EC2 인스턴스를 정의하는 리소스 타입 example: Terr..

Terraform 2025.02.10

IP 대역과 비트

1. IP 주소와 서브넷 마스크IP 주소는 네트워크에서 장치를 식별하는 주소이며, IPv4는 32비트로 구성됩니다. 이를 8비트씩 4개로 나누어 점(.)으로 구분하여 나타냅니다.예: 192.168.1.1 (32비트 = 8.8.8.8)서브넷 마스크는 네트워크와 호스트를 구분하는 역할을 합니다.예: 255.255.255.0 (CIDR 표기: /24)2. 비트 수에 따른 IP 대역 범위서브넷 마스크의 비트 수(프리픽스, CIDR 표기)가 증가할수록 네트워크 범위가 줄어들고, 반대로 비트 수가 작으면 네트워크 범위가 넓어집니다.CIDR서브넷 마스크사용 가능한 IP 개수 (호스트 수)네트워크 개수/8255.0.0.0약 16,777,214개1개 (A클래스)/16255.255.0.0약 65,534개256개 (B클래스..

CS 2025.02.01

graceful shutdown

Kubernetes에서 파드를 삭제할 때 기본적으로 graceful termination(우아한 종료)이 적용됩니다. 기본적으로 kubectl delete pod 명령어를 실행하면 **30초(default) 동안 종료 신호(SIGTERM)**를 보내고, 이 시간이 지나면 강제 종료(SIGKILL)됩니다.만약 graceful termination을 없애고 즉시 삭제(force delete) 하고 싶다면, --force --grace-period=0 옵션을 사용하면 됩니다.즉시 삭제 명령어 kubectl delete pod --grace-period=0 --force설명--grace-period=0기본적으로 kubectl delete pod는 terminationGracePeriodSeconds에 설정된 ..

DevOps 2025.01.30

CKA 예제 리마인더 - 39. Lightning Lab - Cluster Upgrade

컨트롤 플레인 노드에서:Kubernetes apt 저장소를 정의하는 파일을 수정 vim /etc/apt/sources.list.d/kubernetes.list URL의 버전을 다음 사용 가능한 마이너 릴리스인 v1.31로 업데이트한다. deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ / controlplane을 업그레이드하기 전에 drain 진행 및 kubernetes 패키지 확인kubectl drain controlplane --ignore-daemonsetsapt update apt-cache madison kubeadm35 packages can be upgr..

DevOps 2025.01.15