728x90

Kubernetes 60

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

Kubernetes 기초 - Pod(3)

Pod 개념(복습) 및 사용livenessProbe를 사용한 self-healing Pod     ←   오늘 볼 내용init containerinfra container(pause) 이해static pod 만들기Pod에 resource 할당환경변수를 이용해 컨테이너에 데이터 전달pod 구성 패턴의 종류2. livenessProbe를 사용한 self-healing Pod컨테이너가 제대로 동작하지 않을 때 컨테이너를 restart시킴으로 건강한 컨테이너들로만 애플리케이션 서비스를 보장해주겠다는 기능이다.Pod - definitionlivenessProbe - definitionapiVersion: v1 kind: Pod metadata:   labels:     run: webserver   name: w..

Kubernetes 2023.12.07

Kubernetes 기초 - Pod(2)

Pod 개념(복습) 및 사용    ←   오늘 볼 내용livenessProbe를 사용한 self-healing Podinit containerinfra container(pause) 이해static pod 만들기Pod에 resource 할당환경변수를 이용해 컨테이너에 데이터 전달pod 구성 패턴의 종류1. Pod 개념(복습) 및 사용Pod : 컨테이너를 표현하는 k8s API의 최소 단위로 하나 이상의 컨테이너를 포함할 수 있다. 파드를 생성하는 두가지 방법kubectl run을 이용하여 직접 실행yaml파일을 이용하여 파드 생성유용한 활용법 - 현재 namespace의 파드 정보확인kubectl get pod : 파드의 정보 간단하게 표시kubectl get pod -o wide : 파드의 상세정보 표..

Kubernetes 2023.12.06

Kubernetes 기초 - Pod(1)

파드(Pod)란CLI로 파드 생성파일로 파드 생성알면 좋은 내용1. 파드(Pod)란파드(Pod)는 쿠버네티스에서 가장 작은 배포 단위이자 기본 실행 단위다.파드는 하나 이상의 컨테이너를 포함하며, 이 컨테이너들이 동일한 노드에서 공유하는 네트워크 네임스페이스, IPC 네임스페이스, UTS 네임스페이스 등과 같은 리눅스 네임스페이스를 함께 사용한다. 파드의 주요 특징컨테이너 그룹 : 파드는 하나 이상의 컨테이너를 묶어서 관리합니다. 이 컨테이너들은 같은 노드에서 실행되며, 공통의 네트워크와 스토리지를 공유합니다.공유 네임스페이스 : 파드 안의 컨테이너들은 리눅스의 여러 네임스페이스를 공유합니다. 이는 파드 내에서 각 컨테이너가 독립적으로 실행되는 것처럼 보이면서도, 같은 네트워크 환경과 호스트 환경을 공유..

Kubernetes 2023.12.06
728x90