본문 바로가기

k8s86

[K8s] Cluster IP ClusterIP란? selector의 label이 동일한 pod들의 그룹으로 묶어 단일 진입점(Virtual IP)을 생성 cluster내부에서만 사용 가능 랜덤하게 loadbalacing을 하지만 균등하게 서비스 될 수 있도록 지원 type 생략 시 default 값으로 10.96.0.0/12 범위에서 할당됨 clusterIP는 IP 중첩을 방지하기 위해 주로 고정시키지 않고 사용함 definition apiVersion: v1 kind: Service metadata: name: clusterip-service spec: type: ClusterIP clusterIP: 10.100.100.100 selector: app: webui ports: - protocol: TCP port: 80 targe.. 2022. 11. 9.
[k8s] Cronjob Cronjob이란? 사용자가 원하는 시간에 job 실행 예약 지원 Jon controller로 실행할 application pod를 주기적으로 반복해서 실행 Linux의 cronjob의 스케줄링 기능을 job controller에 추가한 API Data backup, Send emails, Cleaning tasks과 같은 반복해서 실행하는 job을 운영해야 할 때 사용 Crobjob Schedule : “분(0-59) 시(0-23) 일(1-31) 월(1-12) 요일(0-6)” Minutes (from 0 to 59) * * * * * : 1분마다 실행 */5 * * * * : 5분마다 실행 Hours (from 0 to 23) Day of the month (from 1 to 31) Month (fro.. 2022. 11. 1.
[K8s] Job Controller Job이란? pod의 정상적인 종료를 관리 K8s는 pod를 running 중인 상태로 유지 Batch 처리하는 pod는 작업이 완료되면 종료됨 Batch 처리에 적합한 controller로 pod의 성공적인 완료를 보장 비정상 종료 시 다시 실행 정상 종료 시 완료 definition apiVersion: batch/v1 kind: Job metadata: name: centos-job spec: # completions: 5 # parallelism: 2 activeDeadlineSeconds: 5 template: spec: containers: - name: centos-container image: centos:7 command: ["bash"] args: - "-c" - "echo 'Hello.. 2022. 10. 24.
Lens - The Kubernetes IDE 베하~~~~~안녕하세요 BETTERMONDAY 팀입니다!! 이제 날씨가 슬슬 쌀쌀해지네요 ㅎㅎ 얼른 겨울이 왔으면 좋겠습니다후후후 이번주는 Kubernetes를 더 쉽고 잘 다룰 수 있게 해주는 IDE인 Lens에 대해 간단하게 알아보겠습니다. 그럼 ~~슈우우우웃~~!! 우선 Lens의 간단한 소개입니다. Lens Desktop은 Linux, macOS 및 Windows에서 사용할 수 있는 독립 실행형 응용 프로그램입니다. 다음은 Lens Desktop을 사용할 때의 몇 가지 장점입니다. 클러스터가 올바르게 설정 및 구성되었음을 확신합니다. 향상된 가시성, 실시간 통계, 로그 스트림 및 실제 문제 해결 기능. 클러스터 작업을 빠르고 쉽게 수행하여 생산성과 비즈니스 속도를 획기적으로 개선합니다. Lens는.. 2022. 10. 24.
[k8s] Statefulset Statefulset이란? pod의 상태를 유지해주는 controller pod 이름 pod의 볼륨(스토리지) daemonset처럼 node 당 pod 1개를 보장하지 않음 definition apiVersion: apps/v1 kind: StatefulSet # kind 종류 확인 metadata: name: sf-nginx spec: replicas: 3 serviceName: sf-service # serviceName 존재 selector: matchLabels: app: webui template: metadata: name: nginx-pod labels: app: webui spec: containers: - name: nginx-container image: nginx:1.14​ [ Han.. 2022. 10. 19.
쿠버네티스 이론 STEP14 Resource Management ABTCEFG♪ 안녕하세요, 여러분! BTC_김쿼카입니다. 이번 시간에는 쿠버네티스의 리소스 관리에 대해 알아보는 시간을 가질게요. 쿠버네티스에서는 pod를 실행하기 위해 node의 리소스를 사용합니다. 스케줄러는 pod를 자원의 여유가 있는 node에 배포하게 되는데 이때 사용되는 기준은 각 node의 cpu, memory의 사용량 등이 대표적입니다. 리소스 단위 cpu : 1000m(밀리 코어) == cpu : 1 Core memory : 256Mi == memory : 256Mb apiVersion: v1 kind: Pod metadata: name: resource-limit-pod labels: name: resource-limit-pod spec: containers: - name: nginx.. 2022. 10. 12.
[K8s] DaemonSet DaemonSet이란? node당 pod가 1개씩 실행되도록 보장 log 수입기, 모니터링 에이전트와 같은 프로그램 실행 시 적용 definition apiVersion: apps/v1 kind: DeamonSet # kind값과 replicas 유무의 차이 이외에는 ReplicaSet과 동일 metadata: name: daemonset-nginx spec: selector: matchLabels: app: webui template: metadata: name: nginx-pod labels: app: webui spec: containers: - name: nginx-container image: nginx:1.14 [ Hands -on ] 1. daemonset 배포 vi daemonset-exa.. 2022. 10. 11.
쿠버네티스 이론 STEP13 Scheduling 3 Cordon & Uncordon & Drain pod- scheduling 정책을 변경할 수 있는 명령어 kubectl cordon, drain, taint cordon kubectl cordon 특정 노드를 선택하여 스케줄 대상에서 제외시킴. 현재 노드에 배포된 pod는 그대로 유지하면서 추가적인 pod의 배포를 제한하는 명령어. cordon명령어를 실행하면 선택한 특정 노드가 SchedulingDisabled 상태가 됨 uncordon kubectl uncordon 특정 노드를 SchedulingDisabled 상태를 제거하고 노드에 pod가 정상적으로 스케줄링 될 수 있도록 복구하는 명령어. drain kubectl drain 선택한 특정 노드가 SchedulingDisabled 상태가 될 뿐만 아니라 노드에 남아있는 pod를 모두 삭제하고 재.. 2022. 10. 5.