본문 바로가기

전체 글23

Flannel CNI Flannel CNI1. K8S 네트워킹파드들은 각자 고유한 IP 주소를 가지고 있으며, 네트워크 상에서 라우팅을 통해 직접 접근할 수 있습니다. 파드가 실행 중인 노드에 상관없이, 다른 노드에 있는 파드와 IP 기반으로 통신이 가능합니다.각 노드는 해당 노드에서 실행 중인 파드에 직접 접근할 수 있습니다.노드 내에서 파드와 통신할 때는 특별한 NAT(Network Address Translation) 없이 통신이 이루어집니다.클러스터 외부에서 파드로 트래픽을 라우팅할 수 있는 메커니즘이 필요합니다. 이를 위해 서비스와 로드 밸런서와 같은 쿠버네티스 리소스가 사용됩니다.K8S 네트워킹의 주요 컴포넌트CNI (Container Network Interface)   쿠버네티스 클러스터 내에서 네트워크 인터페.. 2024. 9. 8.
Pod & PAUSE 컨테이너 Pod & PAUSE 컨테이너Pod 는 쿠버네티스에서 애플리케이션을 실행하는 가장 작은 배포 단위입니다. 파드는 1개 이상의 컨테이너로 구성된 컨테이너의 집합이며, 컨테이너 간에 네트워크와 스토리지 리소스를 공유합니다.1. Pod 와 PAUSE 컨테이너의 역할Pod파드는 하나 이상의 컨테이너를 포함하고 있으며, 동일한 네트워크 네임스페이스와 스토리지 볼륨을 공유하여 서로 간에 쉽게 통신할 수 있습니다. 예를 들어, 파드 내의 여러 컨테이너는 동일한 IP 주소를 공유하며, 동일한 네트워크 인터페이스를 사용해 서로 통신할 수 있습니다.파드의 역할은 애플리케이션의 기본 실행 단위를 정의하는 것으로, 쿠버네티스는 각 파드를 관리하고 스케줄링합니다. 파드는 보통 하나의 컨테이너로 구성되지만, 더 복잡한 애플리케이.. 2024. 9. 8.
Kind 소개 및 설치 kind 소개 및 설치1. kind 란?kind는 Kubernetes IN Docker의 약자로, 로컬 환경에서 Kubernetes 클러스터를 Docker 컨테이너로 실행할 수 있도록 해주는 도구입니다. 개발자들이 Kubernetes 클러스터를 손쉽게 로컬 머신에서 시뮬레이션할 수 있게 하며, 각 Kubernetes “노드”는 Docker 컨테이너로 구성됩니다.1. kind 주요 특징kind는 로컬 Kubernetes 클러스터를 제공하며, 각 “노드”가 Docker 컨테이너로 실행됩니다. 이를 통해 가볍고 쉽게 관리할 수 있습니다.kind는 주로 Kubernetes 환경의 테스트에 적합합니다. 개발자들은 로컬 환경에서 다중 노드 클러스터나 고가용성(HA) 설정을 쉽게 테스트할 수 있습니다.kind의 큰 .. 2024. 9. 8.
컨테이너 격리 - process 컨테이너 격리 - processFilesystem 격리의 문제앞서 실습했던 chroot, pivot_root+mount namespace 의 경우 filesystem만이 격리되어 있었습니다. 그렇기 때문에 다른 Host의 프로세스가 보이거나 , 호스트의 포트를 쓴다거나, root권한이 있는 문제가 있습니다.그래서 프로세스 자체에 격리된 환경을 제공하는 namespace라는 메커니즘이 등장합니다. 리눅스의 커널을 사용하여 동작하며 모든 프로세스는 타입별로 네임스페이스에 속하고, 자식 프로세스는 부모의 네임스페이스를 상속한다는 특징이 있습니다. 나아가 프로세스는 네임스페이스 타입별로 일부는 호스트(root) 네임스페이스를 사용하고 일부는 컨테이너의 네임스페이스를 사용할 수 있습니다. 즉, mount 네임스페.. 2024. 8. 31.