반응형

전체 글 49

AWS VPC CNI 공부하기

안녕하세요, 오늘은 AWS VPC CNI에 대해 공부한 내용을 정리해보겠습니다. 실질적으로 AWS EKS 를 사용하는 상황에서는 제일 많이 접하게 되는 VNI인 것 같습니다. 이 글은 Cloud Neta 팀의 KANS (Kubernetes Advanced Network Study)의 마지막 과제로서 작성되었습니다. AWS VPC CNI 가 뭔가요? CNI는 이미 앞선 글들에서 봤듯이, Container Network Interface로서 Kubernetes cluster의 네트워크 환경을 구성하는 역할을 합니다. CNI의 예로 Flannel, Calico, Cilium .. 등(CNI들의 목록)을 들 수 있습니다. AWS의 Managed Kubernetes인 EKS는 기본적으로는 AWS VPC 내부에 구..

Kubernetes 2024.11.02

Cilium CNI 공부하기

안녕하세요?이 글에서는 Cilium CNI에 대해서 알아보겠습니다. 이 글은 CloudNeta 팀 가시다님의 KANS(Kubernetes Advanced Network Study) 8주차 과제로 작성되었습니다.TL; DR Cilium이 뭔가요?Cilium은 그 전에 살펴보았던 Flannel, Calico와 같이 Kubernetes CNI 중 하나입니다.eBPF (Berkeley Packet Filter)를 기반으로 Pod Network 환경 + 보안 을 제공합니다.그리고 다른 CNI들을 압도하는 성능을 갖고 있다고 합니다. 아래의 connection rate benchmark 참조출처 : https://cilium.io/blog/2021/05/11/cni-benchmark/  그리고 아래와 같이 많은 기..

Kubernetes 2024.10.25

Istio sidecar mode와 Kubeflow

TL; DR  들어가며안녕하세요?이 글에서는 Istio sidecar mode에 대해서 알아보겠습니다. 이 글은 CloudNeta 팀 가시다님의 KANS(Kubernetes Advanced Network Study) 7주차 과제로 작성되었습니다.Istio의 routing이 어떻게 이루어지는지 예시로 Kubeflow를 사용하겠습니다. Istio가 뭔가요?Istio 는 왜 등장했나요?Istio는 Service Mesh입니다.Service Mesh란건 마이크로서비스 아키텍쳐에서 각 서비스간의 네트워크 트래픽을 관리합니다.주로 Cloud native application과 Kubernetes 환경에서 사용됩니다. 마이크로서비스 아키텍처가 점점 널리 도입되면서, 각 서비스가 독립적으로 배포되고 관리되기 때문에 여..

Kubernetes 2024.10.20

Operator로 배포하는 Gateway API 형태의 Kong API Gateway

안녕하세요? Kong API Gateway를 Ingress가 아니라 Gateway API 형태로 설치해 보고 간단하게 테스트해 본 얘기를 해보겠습니다.그리고 Kong API Gateway는 Operator 패턴으로 배포하였습니다. 설치하기 쉽게 가이드 형태로 작성해보겠습니다. TL; DR구조를 그려봤는데, 아래와 같은 형태가 되는 것 같습니다.Gateway API에 대해서Ingress는 frozenIngress는 frozen 되었습니다.Ingress | Kubernetes 를 보면 동결되었고 Gateway API에 새로운 기능이 추가된다고 나와 있습니다.이제는 Gateway API | Kubernetes문서를 봐야 되네요. Gateway API는 뭔가요? Gateway API를 쉽게 표현하면 기존의 In..

Kubernetes 2024.10.09

Iptables와 Kubernetes ClusterIP의 Iptables

iptables는 리눅스 기반 시스템에서 네트워크 패킷을 필터링하고 포워딩하기 위한 방화벽 도구입니다. 주로 패킷의 전달 및 차단, 그리고 포워딩을 위한 규칙을 정의하는 데 사용됩니다.이를 통해 네트워크의 보안을 강화할 수 있습니다. iptables는 리눅스 커널의 netfilter 프레임워크 위에서 작동하며, 네트워크 패킷이 특정 조건을 만족할 때 지정된 동작을 수행하도록 규칙을 설정할 수 있습니다. iptables의 테이블 구조iptables는 아래와 같은 네 가지 주요 테이블로 나누어져 있습니다.각 테이블은 다른 목적을 가지고 있으며, 필요한 경우 맞춤형으로 사용됩니다. iptables의 chains각 체인은 아래와 같은 규칙(rule) 리스트로 구성되며, 패킷은 처음부터 끝까지 규칙을 하나씩 검사..

Kubernetes 2024.10.08

Kubernetes Kube-proxy의 IPVS 모드

안녕하세요?이번 글에서는 Kube-proxy의 IPVS 모드에 대해서 알아보겠습니다.이 글은 CloudNeta팀 가시다님의 KANS(Kubernetes Advanced Network Study) 5주차 과제로 작성되었습니다.Kube-proxy 모드 중 IPVS 모드에 대해서IPVS란?지난 글 에서도 봤듯이,Kube-proxy는 클러스터 내부에서 서비스 간의 네트워크 요청을 적절한 Pod로 라우팅하는 역할을 합니다.이 라우팅 방식에는 세 가지 모드가 있으며, 그 중 하나가 IPVS 모드입니다. IPVS(Internet Protocol Virtual Server)는 리눅스 커널 레벨에서 제공하는 고성능 (소프트웨어) 로드 밸런서로, 클러스터 내에서 트래픽을 처리하는 방식입니다. 리눅스 커널 모듈로 동작하며,..

Kubernetes 2024.10.03

Kubernetes Kube-proxy의 iptables proxy mode, ClusterIP 심화 탐구

안녕하세요? Kubernetes Service인 ClusterIP 구조를 Kube-proxy의 mode와 엮어서 평소보다 좀 더 깊게 파보겠습니다.이 글은 CloudNeta팀 가시다님의 KANS(Kubernetes Advanced Network Study) 4주차 과제로 작성되었습니다.환경 구성클러스터 배포이전에 했던 것과 같이 kind로 클러스터를 배포합니다.kind manifest에서 아래 조건들을 확인합니다.pod의 서브넷, service 서브넷에 유의합니다.네트워킹 부분을 보면 podSubnet, serviceSunet에 대한 명시가 되어있습니다. networking:podSubnet: 10.10.0.0/16serviceSubnet: 10.200.1.0/24cat kind-svc-1w.yamlk..

Kubernetes 2024.09.28

Calico CNI의 구조를 파악하고 통신 테스트하기

들어가며안녕하세요?Calico CNI의 구조를 파악하고 Pod들간의 통신을 테스트한 글을 써보겠습니다.이 글은 CloudNeta팀 가시다님의 KANS(Kubernetes Advanced Network Study) 3주차 과제로 작성되었습니다. Calico CNI에 대하여Calico의 구조Calico는 쿠버네티스에서서 동작하는 CNI (Container Network Interface) 입니다.Calico 를 설명하는 그림으로 배웠지만 스스로 이해를 쉽게 하기 위해서 구조를 그려봤습니다.Calico를 CNI로서 설치하면 이런 구조로 통신이 가능해지는 것 같습니다.Calico CNI를 설치하면 Calico-node Pod가 배포됩니다.여기에서 실행되는 Felix, BIRD, Confd라는 3가지 프로세스를 ..

Kubernetes 2024.09.17

Pod내 container들의 namespace 정보와 Pause 컨테이너의 역할 알아보기

들어가며안녕하세요?Pod내 container들의 namespace 정보와 Pause 컨테이너의 역할 에 대해서 공부한 내용을 정리해보겠습니다.이 글은 CloudNeta팀 가시다님의 KANS(Kubernetes Advanced Network Study) 2주차 과제로 작성되었습니다. Pod와 Pause containerPod 는 1개 이상의 컨테이너를 가질 수 있습니다 : 예로는 Sidecar container 패턴이 있습니다.Pod 내에 실행되는 컨테이너들은 반드시 동일한 노드에 할당되며 동일한 생명 주기를 갖습니다 : Pod 삭제 시, Pod 내 모든 컨테이너가 삭제됩니다.Pod IP - Pod 는 노드 IP 와 별개로 클러스터 내에서 접근 가능한 IP를 할당 받으며, 다른 노드에 위치한 Pod 도 N..

Kubernetes 2024.09.08

Container Runtime과 CRI, 그리고 Containerd 알아보기

들어가며 안녕하세요?Container Runtime과 CRI, Containerd 에 대해서 공부한 내용을 정리해보겠습니다.이 글은 CloudNeta팀 가시다님의 KANS(Kubernetes Advanced Network Study) 2주차 과제로 작성되었습니다. Container RuntimeContainer Runtime이 뭔가요? CRI를 알아보기 전에 Container Runtime 부터 알아보겠습니다.여기저기 나온 그림들을 합쳐서 어떤 식으로 Kubernetes에서 container를 만들어 내는지에 대해 아래와 같은 구조를 그려봤습니다.High level runtime, Low level runtime 이라는 단어가 등장합니다.  Low Level Container Runtime 이 뭔가요?지..

Kubernetes 2024.09.08
반응형