전체 글
-
[따배쿠] Service - ClusterIP, NodePort, LoadBalancer, ExternalNamekubernetes 2024. 12. 7. 14:57
ClusterIPSelector의 label이 동일한 파드들을 그룹으로 묶어 단일 진입점(=Cluster IP, Virtual IP) 생성클러스터 내부에서만 사용 가능type 생략 시, default 값으로 10.96.0.0/12 범위에서 할당Cluster IP 구성 예시 # Deployment 배포root@master:~/Getting-Start-Kubernetes/7# vi deploy-nginx.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: webuispec: replicas: 3 selector: matchLabels: app: webui template: metadata: name: nginx-pod ..
-
[따배쿠] Service - 개요kubernetes 2024. 12. 7. 12:43
Service동일한 서비스를 제공하는 Pod 그룹의 단일 진입점(Virtual IP) 제공즉, node1에 pod(10.44.0.1) / node2에 pod(10.45.0.1) / node3에 pod(10.36.0.1)이 있는데 해당 pod들을 묶어서 단일 진입점(10.96.x.x)을 제공하는 것이 Service이다.Pod의 Label 단위로 Service가 생성된다. ex) Label이 app:webui인 pod들을 하나로 묶어 Service(단일 진입점) 생성Service는 Cluster IP를 가지며 Load Balancing 기능을 지닌다. Service-definition Cluster IP(=Virtual IP, LB IP) : Pod들을 묶은 Cluster의 단일 진입점 IPport : Cl..
-
[따배쿠] Controller - Cronjobkubernetes 2024. 12. 7. 11:02
Cronjob사용자가 원하는 시간에 Job 실행 예약 지원Job 컨트롤러로 실행할 Application Pod를 주기적으로 반복해서 실행Linux의 Cronjob의 스케줄링 기능을 Job Controller에 추가한 API다음과 같은 반복해서 실행하는 Job을 운영해야 할 때 사용Data BackupSend EmailCleaning tasks즉, CronJob이란 Job의 기능을 그대로 갖고 있지만 주기적으로 Job을 실행할 수 있도록 해주는 컨트롤러CronJob ScheduleCronjob Schedule " 0 3 1 * * "Minutes (from 0 to 59)Hours (from 0 to 23)Day of the month (from 1 th 31)Month (from 1 to 12)Day o..
-
[따배쿠] Controller - Jobkubernetes 2024. 12. 6. 10:00
Job 지정된 수의 파드가 성공적으로 종료될 때까지 계속해서 파드의 실행을 재시도하는 JobKubernetes는 Pod를 running 중인 상태로 유지Batch 처리하는 Pod는 작업이 완료되면 종료Batch 처리에 적합한 컨트롤러로 Pod의 성공적인 완료를 보장비정상 종료 시 다시 실행정상 종료시 완료즉, Job 컨트롤러는 Batch 작업 시 유용하다!작동 방식파드 생성: Job Controller는 지정된 작업을 수행하기 위해 필요한 수의 파드를 생성합니다. 이 파드는 작업이 완료될 때까지 실행됩니다.완료 상태 확인: 작업이 성공적으로 완료되면 Job Controller는 해당 파드를 종료하고, 작업의 결과를 기록합니다재시도 메커니즘: 작업이 실패할 경우, Job Controller는 설정된 재시도..
-
[따배쿠] Controller - StatefulSetkubernetes 2024. 12. 5. 16:25
StatefulSetPod의 상태를 유지해주는 ControllerPod 이름Pod의 볼륨 (스토리지)StatefulSet으로 Pod 생성 시, 0번부터 생성된다. ex) ns-nginx-0, ns-nginx-1, ns-nginx-2 StatefulSet Definition StatefulSet은 serviceName이라는 Field를 가지고 있다. 예시 # statefulset-exam.yaml 파일 작성root@master:~/Getting-Start-Kubernetes/6# cat statefulset-exam.yamlapiVersion: apps/v1kind: StatefulSetmetadata: name: sf-nginxspec: replicas: 3 serviceName: sf-servic..
-
[따배쿠] Controller - DaemonSetkubernetes 2024. 12. 5. 15:50
DaemonSetNode 당 Pod가 한 개씩만 실행되도록 보장로그 수입기, 모니터링 에이전트와 같은 프로그램 실행 시 유용Rolling update 기능 또한 포함 DaemonSet Definition ReplicaSet과의 차이점은, replicas 속성이 없다는 점이다.DaemonSet은 이미 노드 당 pod 1개만을 보장해주기 때문에, 별도로 replicas를 지정 안해줘도 된다.어차피 1개만 생성될 거기 때문 예시# node2 삭제root@master:~/Getting-Start-Kubernetes/6# kubectl delete nodes node2node "node2" deletedroot@master:~/Getting-Start-Kubernetes/6# kubectl get nodeNAME..
-
[따배쿠] Controller - Deploymentkubernetes 2024. 12. 5. 09:27
DeploymentReplicaSet을 제어해주는 부모 역할ReplicaSet을 컨트롤해서 Pod 수 조절Deployment -> ReplicaSet -> Pod 순으로 컨트롤Deployment가 ReplicaSet을 Control하고, ReplicaSet이 Pod를 컨트롤목적 : Pod 수 조절 & Rolling update & Rolling backRolling update? 애플리케이션의 새로운 버전을 점진적으로 배포하는 방법으로, 서비스의 가용성을 유지하면서 업데이트를 수행할 수 있도록 돕습니다.kubectl set image deployment = kubectl rollout history deployment # 업데이트 히스토리 확인Rolling Back?애플리케이션의 이전 버전으로 되돌..
-
[따배쿠] Controller - Replicasetkubernetes 2024. 12. 4. 15:10
ReplicasetReplicationController와 같은 역할을 하는 컨트롤러ReplicationController보다 풍부한 selector 정의 가능selector: matchLabels: component: redis matchExpressions: - {key: tier, operator: In, values: [cache]} - {key: environment, operator: NotIn, values; [dev]matchLabelskey: ValuematchExpressions 연산자In : key와 values를 지정하여 key, value가 일치하는 Pod만 연결NotIn : key는 일치하고 value는 일치하지 않는 Pod에 연결Exists: key에 맞는 ..