전체 글 썸네일형 리스트형 [K8S] Canary Deployment 파드 배포하는 방법 블루 그린 업데이트 카나리 업데이트 롤링 업데이트 : 서비스 중단 없이 하나씩 업데이트 Canary 배포 기존 버전을 유지한 채로 일부 버전만 신규 버전으로 올려서 신규 버전에 버그나 이상이 없는 지 확인. 레이블을 이용한 카나리 배포 # 블루 생성 [master ~]$cat mainui-stable.yaml apiVersion: apps/v1 kind: Deployment metadata: name: mainui-stable spec: replicas: 2 selector: matchLabels: app: mainui version: stable template: metadata: labels: app: mainui version: stable spec: containers: - n.. 더보기 [K8S] Annotation # Annotation Label과 동일하게 key-value를 통해 리소스의 특성 기록 kubernetes에게 특정 정보 전달할 용도로 사용 예를 들어 Deployment의 Rolling update 정보 기록 관리를 위해 필요한 정보를 기록할 용도로 사용 릴리즈, 로깅, 모니터링에 필요한 정보들을 기록 [master ~]$cat annotation.yaml apiVersion: v1 kind: Pod metadata: name: pod-annotation annotations: # name과 같은 라인 builder: "Soyun Yoon (soyun3963@gmail.com)" buildDate: "20240320" imageRegistry: https://hub.docker.com/ spec: c.. 더보기 [K8S] Node Label & Selector Label & SelectorKubernetes에서 리소스를 그룹화하고 필터링하는 데 사용되는 주요 메커니즘Label은 리소스에 부여된 정보이며, Selector는 특정 Label을 가진 리소스를 선택한다.특정 리소스에 대해 원하는 작업(트래픽 전달, 로깅, 모니터링 등)을 효율적으로 수행 LabelKubernetes 리소스에 추가할 수 있는 키-값 쌍으로, 리소스에 대한 메타데이터를 제공각 리소스에 여러 개의 라벨을 지정 가능노드를 선택해서 파드를 배치할 수 있다. 👉nodeSelector 사용$ kubectl label nodes =$ kubectl label nodes node01 size=Large # node01이 가진 label 확인하기$ kubectl describe node node01.. 더보기 [K8S] 쿠버네티스 레이블 https://kubernetes.io/ko/docs/concepts/overview/working-with-objects/labels/ 레이블과 셀렉터 레이블 은 파드와 같은 오브젝트에 첨부된 키와 값의 쌍이다. 레이블은 오브젝트의 특성을 식별하는 데 사용되어 사용자에게 중요하지만, 코어 시스템에 직접적인 의미는 없다. 레이블로 오브 kubernetes.io Label Node를 포함하여 Pod, deployment 등 모든 리소스에 할당 리소스의 특성을 분류하고, Selector를 이용해서 선택 오브젝트에 첨부된 key-value 한 쌍으로 적용 오브젝트의 특성을 식별하는 데 사용 레이블로 오브젝트의 하위 집합을 선택하고, 구성하는데 사용 레이블은 오브젝트를 생성할 때에 붙이거나 생성 이후에 붙이거나.. 더보기 [K8S] Ingress Controller 인그레스란? HTTP나 HTTPS를 통해 클러스터 내부의 서비스를 외부로 노출 - Service에 외부 URL 제공 - 트래픽을 로드밸런싱 - SSL 인증서 처리 (HTTPS) - Virtual Hosting 지정 👉 서비스들에 대한 단일 진입점을 만들어 내부의 서비스를 외부에서 접속 가능하도록 해준다. 서비스 Rule을 지정해서 Ingress Controller에 넣는다. ex) Multi Path http://www.examle.com/ -->svc Main http://www.examle.com/login -->svc Login http://www.examle.com/order -->svc Order 외부 클라이언트의 접속 URL이 뭔지에 따라 연결되는 Service가 다르다. https://kub.. 더보기 [운영체제] 운영체제란? 운영체제? 컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 프로그램들의 모습으로 대표적인 시스템 소프트웨어 커널모드(슈퍼바이저 모드) 사용자 모드 (보호모드) 하드웨어를 직접 제어할 수 있는 CPU 명령어를 사용할 수 있는 모드 운영체제의 커널이 동작함 하드웨어를 직접 제어할 수 있는 CPU명령어를 사용할 수 없는 모드 응용프로그램이 동작 커널(kernel) 커널 모드에서 동작하는 운영체제의 핵심 요소 응용 프로그램과 하드웨어 수준의 처리 사이의 가교 역할 구성방식: 일체형 커널, 마이크로 커널 개념 장점 단점 일체형 커널 운영체제의 모든 서비스가 커널 내에 포함됨 ex. UNIX, Linux 커널 내부 요소들이 서로 효율적으로 상호 작용함 한 요소라도 오류가 발생하면 .. 더보기 [K8S] Service Kubernetes의 Service는 클러스터 내에서 실행 중인 Pod 간의 네트워크 통신을 안정적으로 관리하고, 외부 클라이언트가 파드에 접근할 수 있도록 하는 추상화된 네트워크 리소스이다.Service는 파드의 동적인 IP 주소 문제를 해결하고, 여러 Pod에 트래픽을 분산(로드 밸런싱)시키는 역할을 한다. Service의 주요 역할파드 간 통신 안정화: Service는 고정된 이름과 IP 주소를 제공하여 파드의 네트워크 위치 변화를 추상화한다.파드의 IP 주소는 재시작 시 변경될 수 있다.로드 밸런싱: 여러 복제본(replica) 파드에 트래픽을 균등하게 분산외부 트래픽 연결: 외부 클라이언트(예: 브라우저)에서 클러스터 내 파드에 접근할 수 있는 네트워크 엔드포인트를 제공합니다.DNS 통합: 쿠.. 더보기 [K8S] Cronjob Controller Cronjob Controller ? 사용자가 원하는 시간에 Job 실행 예약 지원 Cronjob 안에 Job 컨트롤 기능 포함되어 있다. job controller로 실행할 Application pod를 주기적으로 반복해서 실행 Linux의 Cronjob의 스케줄링 기능을 Job Contoller에 추가한 API. 다음과 같은 반복해서 실행해야하는 Job을 운영할 때 사용 Data Backup Send email Cleaning tasks Cronjob Schedule: "0 3 1 * *" Minutes Hours Day of the month Month Day of the week (0 ~ 6) -> JobTemplate 안의 Spec은 완전히 동일한 것 알 수 있음 [master ~]$ cat >.. 더보기 이전 1 ··· 5 6 7 8 9 10 11 다음