목록전체 글 (67)
Study_note
보호되어 있는 글입니다.
ArgoCD를 사용하고 처음 app을 만들면 아래와 같이 Application과 Project을 선택할 수 있다. 간단 하게 Application와 Project를 정의하면 아래와 같다 Application 이란? ArgoCD가 사용하는 CRD 중 하나로 어떤 Repository에서 어떤 리소스들을 어떻게 배포할 지를 정의 Project 란 Application이 속하는 논리적 그룹 ArgoCD에서 Application-test라는 생성하고 확인하면 다음과 같이 확인 가능하다. application에 대한 상세정보 또한 kubectl describe로 확인할 수 있고 neat 플러그인 사용해서 확인 가능 위에서 설명했듯이 Project는 Application이 속하는 논리적 그룹이라 했다 아래와 같은 형..
Headless service를 설명하기 전에 우선 Stateless와 Stateful의 차이를 알아야한다. 다양한 쿠버네티스 책에서 Stateful을 애완동물에 비교하고 Stateless을 가축으로 비교한다. 애완동물에는 특별한 이름을 붙여주기 때문에 다른 가축과는 명확히 구분된다. 사람의 입장에서 애완동물은 항상 고유한 식별자로서 대체 불가능한 개체로 여겨진다. 상태를 갖는 각 포드는 모두 고유하며, 쉽게 대체될 수 없기 때문에 상태를 갖는 애플리케이션인 스테이트풀셋을 애완동물과 비교한다 아래 이미지 처럼 Statefulset과 Replocaset의 차이는 Statefulset : 순차가있는 이름으로 파드 및 볼륨이 생성되며 순차적으로 생성된다 Replicaset : 랜덤의 이름으로 파드 및 볼륨이 ..
고객이 현재 데브옵스가 없는 상태에서 eks 업그레이드를 해야하는 상황이라 도움을 요청했다. 요청이 들어온김에 겸사겸사 정리한다. EKS Upgrade는 생각보다 간단하며 심지어 무중단이다. EKS Upgrade는 총 2가지 방법이 있다. 1. 싱글 클러스터 2. 멀티 클러스터 싱글 클러스터 특징 하나의 클러스터를 롤링 업데이트 처럼 업그레이드 버전을 한번에 하나씩만 업그레이 가능 (1.22 -> 1.24 -> 1.25) 무중단이며 따로 생성할게 없어 기존 시스템을 크게 변경하지 않아도 된다. 노드 그룹과 cordon,drain,asg로 무중단 업그레이드 가능 하다 생각보다 쉽지만 롤백은 불가능 멀티 클러스터 블루/그린과 같이 구/신 버전 생성 후 트래픽을 한번에 신 버전으로 변경 버전을 한번에 여러 단..
systemd 란? systemd는 부팅후에 가장 먼저 생성된 후에 다른 프로세스를 실행하는 init 역할을 대체하는 데몬이다. 예전 리눅스 같은 경우 init 프로세스 사용하여 단계적으로 run level이 올라가면서 runlevel에 포함된 rc 스크립트들을 순차적으로 실행하였다 → 프로그램 복잡해질수록 효율 저하 systemd는 init의 단점 보완하고 리눅스의 의존성을 해치지 않도록 개발하였고 systemd는 가능한 한 병렬로 시작 프로그르매들을 실행 시켜 부팅 속도 끌어올리고, 프로그램 실행을 위한 파일로 스크립트가 아닌 service라는 systemd만의 unit을 통해 체계적이면서 가독성이 좋도록 개발했다 실행되어지는 프로세스를 검색하면 pid는 1이며 ppid는 0으로 부팅후에 가장 먼저 ..
고객이 s3 lens를 통해 s3를 모니터링하는데 미완료 멀티파트 업로드에 대한 객체가 있고 객체들이 확인이 안되어 이게 왜 발생하고, 어떻게 삭제 해야하는지에 대한 요청이 들어왔다. Incomplete Multipart Upload란? 멀티파트 업로드 요청 시 객체를 나눈 멀티 파트 형식으로 업르도 되고 전부 업로드되면 멀티파트 업로드를 완료하라는 successful 요청을 보낸 후에만 부분들로부터 객체를 생성한다. 하지만 멀티파트 업로드 요청을 성공적으로 전송하지 못하면, Amazon S3는 부분들을 결합하지 않고 어떤 객체도 생성하지 않는다 또한 생성된 객체는 없지만 멀티파트로 업로드된 객체에 부분들은 요금이 청구된다. s3 lens를 확인하면 미완료 멀티파트 업로드에 대한 객체 및 바이트를 확인할..