728x90

분류 전체보기 79

Kubernetes 기초 - Controller(5)

ReplicationControllerReplicaSetDeploymentDaemonSetStatefulSet         ←  오늘 볼 내용JobCronJob5. StatefulSetStatefulSet은 쿠버네티스에서 제공하는 컨트롤러 중 하나로, 상태를 가지는 애플리케이션을 관리하는 데 사용된다.즉, Pod의 이름이나 볼륨(스토리지) 등의 상태를 유지해주는 역할을 한다.주로 데이터베이스나 메시지 큐와 같은 서비스에 적합하다. StatefulSet의 특징고유한 식별자 : 각 파드에 고유한 식별자가 할당되어 순차적으로 증가하며 관리됩니다. 이는 파드가 삭제되거나 실패한 경우에도 같은 식별자를 유지하는 데 도움이 됩니다.안정적인 네트워크 식별자 : StatefulSet은 각 파드에 안정적인 DNS 이름..

Kubernetes 2023.12.14

Kubernetes 기초 - Controller(4)

ReplicationControllerReplicaSetDeploymentDaemonSet        ←  오늘 볼 내용StatefulSetJobCronJob4. DaemonSetDaemonSet은 쿠버네티스에서 런타임 환경이나 로그 수집과 같은 특정한 작업을 클러스터의 모든 노드에 분산하여 실행할 때 사용되는 리소스다.각 노드에 하나의 파드가 실행되도록 보장하여 클러스터 전체에서 특정한 서비스나 작업을 유지할 수 있도록 도와준다. DaemonSet이 관리하는 파드는 노드의 상태에 따라 자동으로 생성되거나 삭제되어 노드가 추가되거나 제거될 때 자동으로 조정된다.  DaemonSet의 주요 특징클러스터 전체에 특정한 서비스 제공 : 모든 노드에 특정한 서비스, 데몬, 에이전트 등을 배포하고자 할 때 사용..

Kubernetes 2023.12.14

Kubernetes 기초 - Controller(3)

ReplicationControllerReplicaSetDeployment        ←  오늘 볼 내용DaemonSetStatefulSetJobCronJob3. DeploymentDeployment은 쿠버네티스에서 애플리케이션을 배포하고 관리하기 위한 리소스 오브젝트 중 하나다.주로 파드를 관리하는데 사용되며, 쿠버네티스 클러스터에서 어플리케이션의 업데이트, 롤백, 스케일링 등을 쉽게 처리할 수 있게 해준다.Deployment는 Rolling update를 목적으로 만들어졌으며 이전에 본 ReplicaSet의 상위 오브젝트다. Rolling update : 파드 인스턴스를 점진적으로 새로운 것으로 업데이트하여 디플로이먼트 업데이트가 서비스 중단 없이 이루어질 수 있도록 해주는 것 Deployment ..

Kubernetes 2023.12.14

Kubernetes 기초 - Controller(2)

ReplicationControllerReplicaSet       ←  오늘 볼 내용DeploymentDaemonSetStatefulSetJobCronJob2. ReplicaSet기능적으로는 이전에 봤던 ReplicationController 와 기능적으로 거의 동일하다.그럼에도 불구하고 ReplicaSet을 사용하는 이유는 더 정교한 LabelSelector의 기능이 있기 때문이다.ReplicationController는 selector를 통해 라벨을 지정했을 때 여러개를 지정하며 AND연산과 같이 모두 동일해야 파드 선택이 가능했다.하지만 ReplicaSet은 matchExpressions를 통해 In, NotIn, Exists, DoesNotExist 등 연산을 사용하여 특정 라벨만이라도 일치하면..

Kubernetes 2023.12.12

Kubernetes 기초 - Controller(1)

ReplicationController      ←  오늘 볼 내용ReplicaSetDeploymentDaemonSetStatefulSetJobCronJob1. ReplicationControllerController란 클러스터 내에서 리소스의 상태를 원하는 상태로 유지하도록 담당하는 엔터티다.쿠버네티스의 컨트롤러들은 여러 종류가 있으며, 각각 특정 리소스 유형을 관리하며 원하는 상태로 유지하도록 설계되어 있다.   ReplicationController요구하는 Pod의 개수를 보장하며 파드 집합의 실행을 항상 한정적으로 유지하는 것을 목표한다.요구하는 Pod의 개수가 부족하면 template을  이용해 Pod를 추가요구하는 Pod 수 보다 많으면 최근에 생성된 Pod를 삭제기본 구성selector : ..

Kubernetes 2023.12.11

Kubernetes 기초 - Namespace

네임스페이스(Namespace)란Namespace 확인Namespace 생성사용할 Namespace switch주의할 점1. Namespace란클러스터 안에서 리소스를 논리적으로 그룹화하는 방법을 제공하는데 사용된다.Namespace를 사용하면 동일한 클러스터 내에서 서로 다른 프로젝트, 팀 또는 환경에서 작업하는 여러 사용자 그룹이 격리된 환경에서 작업할 수 있다. 쿠버네티스는 API를 배우는 것이다.Namespace는 쿠버네티스 API 중 가장 큰 단위이다.실질적인 클러스터는 하나지만 클러스터가 여러개 있는 것처럼 만드는 것이 Namespace의 역할이다.     2. Namespace 확인Namespace를 확인하는 것은 지난 파드 확인하는 것처럼 간단하다.# 현재 Namespace 확인kubect..

Kubernetes 2023.12.11

Kubernetes 기초 - Pod(7)

Pod 개념(복습) 및 사용livenessProbe를 사용한 self-healing Podinit containerinfra container(pause) 이해static pod 만들기Pod에 resource 할당환경변수를 이용해 컨테이너에 데이터 전달         ←   오늘 볼 내용Pod 구성 패턴의 종류          ←   오늘 볼 내용7. 환경변수를 이용해 컨테이너에 데이터 전달환경변수Pod내의 컨테이너가 실행될 때 필요로 하는 변수컨테이너 제작 시 미리 정의NGINX Dockerfile의 예ENV NGINX_VERSION 1.19.2ENV NJS_VERSION 0.4.3Pod 실행 시 미리 정의된 컨테이너 환경변수를 변경할 수 있다.  실습 pod-nginx-env.yaml# pod-ngi..

Kubernetes 2023.12.09

Kubernetes 기초 - Pod(6)

Pod 개념(복습) 및 사용livenessProbe를 사용한 self-healing Podinit containerinfra container(pause) 이해static pod 만들기Pod에 resource 할당        ←   오늘 볼 내용환경변수를 이용해 컨테이너에 데이터 전달pod 구성 패턴의 종류6. Pod에 resource(자원) 할당우리는 지금까지 파드에 리소스(자원) 제한을 하지 않았기 때문에 시스템의 리소스를 파드가 모두 사용해버릴 수도 있다.쿠버네티스 시스템에서 파드는 여러개 동작할 수도 있으며 하나의 파드가 리소스를 점령해버리면 다른 파드는 실행되지 못한다. 다음 시나리오를 보자.A기업이 리소스 제한이 없는 웹 서버 파드를 배포했다.그런데 어느날 웹 서버에 DDoS공격이 들어오면서..

Kubernetes 2023.12.08

Kubernetes 기초 - Pod(5)

Pod 개념(복습) 및 사용livenessProbe를 사용한 self-healing Podinit containerinfra container(pause) 이해static pod 만들기       ←   오늘 볼 내용Pod에 resource 할당환경변수를 이용해 컨테이너에 데이터 전달pod 구성 패턴의 종류5. static pod 만들기static pod는 클러스터 노드에서 직접 실행되는 파드로, Kubernetes 시스템 컴포넌트를 위한 파드다.static pod는 kubelet이 노드에서 직접 관리하며, Kubernetes API 서버와 상관없이 kubelet이 자신의 노드에 배포한다.다시말해, API 서버를 거치지 않고 원하는 노드에 직접 파드를 배포할 수 있으며 이 일을 kubelet이 처리한다...

Kubernetes 2023.12.07

Kubernetes 기초 - Pod(4)

Pod 개념(복습) 및 사용livenessProbe를 사용한 self-healing Podinit container      ←   오늘 볼 내용infra container(pause) 이해      ←   오늘 볼 내용static pod 만들기Pod에 resource 할당환경변수를 이용해 컨테이너에 데이터 전달pod 구성 패턴의 종류3. init containerInit Container(초기화 컨테이너)는 파드 내의 어플리케이션(main) 컨테이너가 시작되기 전에 실행되는 특수한 종류의 컨테이너다.Init Container는 주로 어플리케이션(main) 컨테이너가 실행되기 전에 필요한 초기화 작업을 수행하는 데 사용된다.초기화 작업이 완료되면 Init Container는 종료되고, 어플리케이션(mai..

Kubernetes 2023.12.07
728x90