kubernetes
-
[따배쿠] Ingress - 웹페이지 구현kubernetes 2024. 12. 9. 11:08
Ingress를 이용한 웹 서비스 운영 #1. Service 및 Pod 생성marvel-service > marvel-collection podpay-service > pay pod, pay pod, pay pod #2. Ingress Rules 생성http://xx.xx.xx.xx/ > marvel-servicehttp://xx.xx.xx.xx/pay > pay-service #3. Client 접속http://xx.xx.xx.xx/ > marvel-service로 연결 되는지 확인http://xx.xx.xx.xx/pay > pay-service로 연결 되는지 확인 즉, Client가 http://211.xxx.xxx.xx/로 접속하면, Pod Ingress Controller가 Ingress Rul..
-
[따배쿠] Ingress - 개념 및 설치kubernetes 2024. 12. 9. 10:07
Ingress클러스터 외부에서 내부로 접근하는 요청들을 어떻게 처리할 지 정의해둔 규칙들의 모음HTTP나 HTTPS를 통해 클러스터 내부의 서비스를 외부로 노출기능Service에 외부 URL을 제공 (Client들이 쿠버네티스 내부 서비스에 연결하도록 도와준다.)트래픽을 로드밸런싱 (Pod Ingress Controller가 Client 요청을 받아서, Service에 트래픽 분배하는 구조)SSL 인증서 처리 (https 기반 작동) 도메인 기반 가상 호스팅 제공Ingress는 Rule들을 정의해놓은 리소스이며, 이를 실제 작동시키기 위해 반드시 Ingress Controller가 필요즉, Ingress Controller은 NodePort(80/443)를 열어서 Client 요청을 받은 뒤 Ingres..
-
[따배쿠] Headless Service, Kube-Proxykubernetes 2024. 12. 8. 11:25
Headless Service클러스터 내에서 Pod에 대한 DNS 이름을 제공하지만, ClusterIP를 할당하지 않는 서비스주로 StatefulSet과 같은 상태 저장 애플리케이션에서 사용되며, 파드 간의 직접적인 통신을 가능하게 합니다.Pod IP에 대해 DNS resolving service도 제공Service가 연결된 Pod의 endpoint로 DNS 레코드가 생성됨Pod의 DNS 주소 : pod-ip-addr.namespace.pod.cluster.localtype은 ClusterIP이나 clusterIP는 None특징ClusterIP 없음headless 서비스는 ClusterIP를 가지지 않으며, 대신 각 파드의 IP 주소를 직접 반환합니다. 이를 통해 클라이언트는 특정 파드에 직접 연결할 수..
-
[따배쿠] 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..