[Kubernetes] Probes
·
Kubernetes
kubelet은 컨테이너가 시작되자마자 실제로 준비되지 않은 상황에서도 살아있고 준비된 상태라고 생각한다. 아직 활성화 되지 않은 부분이 활성화 된 것처럼 취급되면 안된다.probe는 파드의 health 체크를 도와주는 도구일 뿐이다. 파드내 어플이 시작 되었는지, 살아있는지, 요청을 받을 준비가 되었는지를 확인한다 Probe TypesTermsLive => 파드가 살아있는지?Ready => 파드가 요청을 받을 준비가 되었는지?ProbesDescriptionAction If FailsstartupProbe컨테이너 내부 애플리케이션이 시작되었는지 확인재시작livenessProbe애플리케이션이 여전히 살아 있는지 확인재시작readinessProbe애플리케이션이 서비스로부터 요청을 처리할 준비가 되었는지 확인..
[Kubernetes] Namespace
·
Kubernetes
K8S 클러스터는 가상 클러스터를 생성하거나 클러스터를 분할하는 기능을 제공한다. 기본적으로 클러스터내의 리소스 그룹을 격리한다. 아래 명령어를 통해서 namespace를 가져올 수 있다 # 둘 다 동일한 명령어kubectl get namespacekubectl get ns# 결과 NAME STATUS AGEdefault Active 40mkube-node-lease Active 40mkube-public Active 40mkube-system Active 40mlocal-path-storage Active 40m아래 명령어로 네임스페이스를 생성한다. kubectl create ns [네..
[Kubernetes] Service
·
Kubernetes
파드 세트에 대한 논리적 추상화이다. 안정적인 단일 엔드포인트를 통해 노출한다. Demosec04의 1번을 복사한다. # 01-simple-deploy.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: my-deployspec: selector: matchLabels: app: my-app replicas: 3 template: metadata: labels: app: my-app spec: containers: - name: nginx image: nginx ports: - containerPort: 80이후 service 파일을..
[Kubernetes] Deployment
·
Kubernetes
프로덕션에서 생성하고 사용할 것은 deployment이다. deployment는 replicaSet을 매니징한다. 1 deployment 당 1서비스이다.Demo아래 파일을 생성 후 적용해보면 결과를 확인할 수 있다. #01-simple-deploy.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: my-deployspec: selector: matchLabels: app: my-app replicas: 3 template: metadata: labels: app: my-app spec: containers: - name: nginx image: nginxkubect..
[Kubernetes] ReplicaSet
·
Kubernetes
ReplicaSet은 Pod를 매니징한다. 예를 들어 nginx pod가 3개 있어야 한다고 하면 3개의 nginx pod를 유지한다. replicaSet의 restartPolicy는 always이며 바꿀수 없다. 예를들어 아래 그림에서 노드2가 갑자기 죽었을때 pod의 개수를 유지하기 위해 다른 노드에 pod를 띄운다. 직접적으로 생성하는건 프로덕션 레벨에서는 권장되지 않으며 Deployment가 ReplicaSet을 관리한다.이 글에서는 무엇을 관리해야하는지 명확히 하기 위해 metadata.labels를 사용한다ReplicaSet 생성주요 레퍼런스는 아래 링크에서 참고할 수 있다. https://kubernetes.io/docs/reference/kubernetes-api/workload-resou..
얼은펭귄
SY Storage