지니데비 기록 자세히보기
반응형

티스토리챌린지 10

[Kubernetes] 26. Environment Variables

기본 환경변수 설정(env)apiVersion: v1kind: Podmetadata:  name: simple-webapp-colorspec:  containers:  - name: simple-webapp-color    image: simple-webapp-color    ports:      - containerPort: 8080    env:      - name: APP_COLOR        value: pink      - name: APP_MODE        value: prodConfigMap에 저장된 값으로 환경변수 설정(valueFrom.configMapKeyRef)apiVersion: v1kind: Podmetadata:  name: simple-webapp-colorspec:  ..

[Kubernetes] 25. Command, Arguments + Dockerfile

docker run ubuntudocker psdocker ps -a # 종료된 컨테이너 포함docker run ubuntu [command]docker run ubuntu sleep 5FROM UbuntuCMD sleep 5CMD ["sleep","5"] # json 포맷으로 지정해야함docker build -t ubuntu-sleeper .docker run ubuntu-sleeperFROM UbuntuENTRYPOINT ["sleep"]CMD ["5"] # sleep 5 실행 docker run ubuntu-sleeper 10docker run --entrypoint sleep2.0 ubuntu-sleeper 10docker run --name ubuntu-sleeper ubuntu-sleeperd..

[Kubernetes] 24. Rolling Update, Rollback

Recreate vs Rolling Update (default)Recreate는 기존버전을 모두 종료한 후(다운타임 발생) 새 버전의 Pod를 생성하여 배포하는 반변, Rolling Update는 애플리케이션을 다운타임 없이 새 버전으로 점진적으로 업데이트하는 방법이다. 기존의 Pod를 하나씩 종료하고 새 버전의 Pod를 생성하면서 배포해, 전체 시스템의 가용성을 유지할 수 있다. 작동 방식새 버전의 Pod를 하나씩 생성하고, 기존 버전의 Pod를 하나씩 삭제한다.이 과정을 반복하여 모든 Pod가 새 버전으로 전환될 때까지 진행한다.배포 중에 문제가 생기면 중간에 멈출 수 있고, 특정 시점부터 재개할 수 있다.장점서비스 다운타임 없이 업데이트할 수 있다.대규모 애플리케이션에서도 사용자가 영향을 거의 받..

[Kubernetes] 23. Managing Application Logs

실시간 로그 확인kubectl logs [pod name]위 방법은 일회성 조회이므로 일정 시간이 지난 로그는 볼 수 없으며, Pod가 사라지면 로그도 사라진다.중앙 집중형 로그 수집 시스템 사용여러 Pod와 노드에서 생성된 로그를 하나의 시스템으로 수집하여 쉽게 검색하고 분석할 수 있다.주요 도구 및 설정 방법EFK Stack (Elasticsearch, Fluentd, Kibana)Fluentd: 로그를 수집하고 Elasticsearch로 전달하는 역할을 해. 각 노드에서 Fluentd가 컨테이너 로그를 수집해 Elasticsearch에 전송한다.Elasticsearch: 데이터를 저장하고, 빠르게 검색할 수 있는 검색 엔진이다.Kibana: 시각화 도구로, 로그를 대시보드 형태로 보여줘서 쉽게 분석..

[Kubernetes] 22. Monitoring

Monitoring 목적 1. 리소스 사용 최적화CPU, 메모리와 같은 리소스 사용량을 확인하여 노드, Pod, 컨테이너가 필요한 리소스를 적절히 사용하고 있는지 확인할 수 있다.불필요한 자원 낭비를 줄이고, 필요한 리소스를 적절히 할당하여 클러스터 운영 비용을 줄일 수 있다.2. 장애 대응Pod, 노드 또는 애플리케이션에서 오류가 발생할 경우 신속히 탐지하여 대응할 수 있다.특히 오류 발생 시 자동 알림 설정을 통해 빠르게 문제를 파악하고 복구할 수 있게 된다.3. 성능 개선애플리케이션의 응답 시간, 처리량, 지연 시간과 같은 성능 지표를 수집하여 병목 구간을 찾아낼 수 있다.이를 통해 애플리케이션과 클러스터의 전반적인 성능을 향상시킬 수 있다.4. 장기적인 용량 계획:리소스 사용 데이터를 장기적으로 ..

[Kubernetes] 21. Scheduler Profiles

Scheduler Profiles쿠버네티스에서 단일 스케줄러 인스턴스 내에서 서로 다른 스케줄링 전략을 사용하도록 지원하는 기능여러 개의 Scheduler Profile을 설정해 놓으면, 각 워크로드에 맞는 다양한 스케줄링 정책을 설정할 수 있다.다양한 스케줄링 요구사항을 단일 스케줄러 프로세스 내에서 해결할 수 있기 때문에, 다중 스케줄러를 배포하는 부담을 덜면서도 효율적인 스케줄링을 가능하게 한다.구성 요소Filter, Score, PreFilter, PostBind 등 여러 유형이 있고, 각 프로필에서 필요한 플러그인을 켜고 끌 수 있다.특징각 Scheduler Profile에는 schedulerName이 붙어 있어, 특정 Pod가 schedulerName을 통해 특정 프로필을 사용하도록 설정할 수..

[Kubernetes] 20. Multiple Scheduler

Multiple Scheduler기본 스케줄러 외에 커스텀 스케줄러를 추가하여 여러 스케줄러가 각기 다른 스케줄링 요구에 따라 Pod를 할당하도록 구성하는 방식Scheduler 지정 방식Pod의 spec.schedulerName 필드에 스케줄러 이름을 설정커스텀 스케줄러 구성 파일 생성 및 배포apiVersion: apps/v1kind: Deploymentmetadata: name: custom-scheduler namespace: kube-systemspec: replicas: 1 selector: matchLabels: component: custom-scheduler template: metadata: labels: component: custom-..

[Kubernetes] 19. Static Pod

Static PodapiVersion: v1kind: Podmetadata: name: static-nginxspec: containers: - name: nginx image: nginx ports: - containerPort: 80YAML 파일을 Static Pod 디렉토리에 저장kubelet 설정 파일에 --pod-manifest-path= 옵션으로 지정된 경로에 YAML 파일을 저장한다.일반적으로 /etc/kubernetes/manifests 경로가 사용되지만, 클러스터 설정에 따라 다를 수 있다.kubelet이 Static Pod 인식kubelet은 --pod-manifest-path 옵션으로 지정된 디렉토리를 지속적으로 감시하고, YAML 파일이 추가되거나 변경될 때마다..

[머신러닝] 1. Machine Learning(ML) 개요

Machine Learning (ML) 개념ML은 기능을 구현하기 위해 개발자가 직접 프로그램을 작성하는 것이 아니라, 기계가 스스로 학습하여 모델을 생성하도록 하는 기술이다.Machine Learning  vs Deep Learning기준머신러닝 (Machine Learning)딥러닝 (Deep Learning)모델 구조전통적 알고리즘 (선형 회귀, 결정 트리 등)인공 신경망 (다층 퍼셉트론, CNN, RNN 등)데이터 요구량적은 데이터로도 학습 가능대규모 데이터 필요 (수십만 ~ 수백만 개 이상)컴퓨팅 파워CPU로도 학습 가능GPU/TPU 등 고성능 하드웨어 필수문제 적용 범위구체적인 예측 문제 (가격 예측, 스팸 필터링 등)복잡한 패턴 인식 문제 (이미지 인식, 음성 인식, 자연어 처리 등)특징 추..

AI/머신러닝 2024.11.07
반응형