2024/10 5

Cilium CNI와 eBPF

가시다님의 Kubernetes Advanced Networking Study에 참여하게 되어, 스터디 때 다룬 주제를 정리하려고 합니다.8주차는 Cilium CNI를 주제로 진행되었습니다. BPF/eBPF클러스터 내 iptables의 성능을 개선하기 위해 eBPF를 지원하는 CNI가 다수 있고, 사용 사례도 증가하고 있습니다.Kubernetes 공식 문서에서도 kube-proxy를 선택 사항으로 표기하고 있습니다.BPF(Berkeley Packet Filter)네트워크 패킷 필터링에 사용되는 기술로 커널에서 실행되는 일종의 VM(Virtual Machine)입니다.sandbox 환경(격리된 환경)에서 실행되어 BPF를 통해 커널이 이벤트를 트리거할 때 안전하게 실행할 수 있습니다.커널을 다시 컴파일하지 ..

istio 이해하기 - Envoy proxy

가시다님의 Kubernetes Advanced Networking Study에 참여하게 되어, 스터디 때 다룬 주제를 정리하려고 합니다.7주차는 Istio를 주제로 진행되었습니다.이번 글에서는 Istio의 Data Plane인 proxy에 대해 다루고 있습니다.istio 아키텍처proxy : data plane, Envoy proxy 기반으로 구성(L4/7 proxy) 되며, 마이크로서비스 간의 모든 네트워크 통신을 라우팅하고 제어함istiod : control plane• Pilot - data plane과 통신하며 라우팅 규칙 동기화, 서비스 디스커버리와 로드 밸런싱 설정을 제공• Citadel - 인증서 관리, mTLS 통신 담당• Galley - Service의 endpoint 정보 업데이트Env..

CoreDNS와 NodeLocal DNS 이해하기

가시다님의 Kubernetes Advanced Networking Study에 참여하게 되어, 스터디 때 다룬 주제를 정리하려고 합니다. 6주차는 Ingress & Gateway API + CoreDNS를 주제로 진행되었습니다. 이번 글에서는 CoreDNS와 NodeLodalDNS에 대해 다루고 있습니다. CoreDNSCoreDNS는 Kubernetes 클러스터 내부 DNS 서버입니다. 클러스터에서 Pod와 Service가 생성되면 자동으로 이에 대한 DNS 레코드가 생성됩니다. CorefileCoreDns deployment에는 아래 configmap을 /etc/coredns에 마운트하여 사용하고 있습니다.apiVersion: v1 data: Corefile: | .:53 { errors health ..

kube-proxy IPVS 모드

가시다님의 Kubernetes Advanced Networking Study에 참여하게 되어, 스터디 때 다룬 주제를 정리하려고 합니다.5주차는 LoadBalancer(MetalLB), IPVS + LoxiLB를 주제로 진행되었습니다.이번 글에서는 kube-proxy IPVS 모드에 대해 다루고 있습니다.아래 테스트는 kubeadm를 사용한 EC2 기반 클러스터에서 진행됩니다.IPVS 세부 설정클러스터 생성 후 kube-proxy configmap을 보면, 아래와 같은 옵션을 확인할 수 있습니다....ipvs: excludeCIDRs: null minSyncPeriod: 0s scheduler: "" strictARP: false syncPeriod: 0s tcpFinTimeout: 0s t..

kube-proxy 모니터링 환경 구성 실습(serviceMonitor, podMonitor)

가시다님의 Kubernetes Advanced Networking Study에 참여하게 되어, 스터디 때 다룬 주제를 정리하려고 합니다.5주차는 LoadBalancer(MetalLB), IPVS + LoxiLB를 주제로 진행되었습니다.이번 글에서는 kube-proxy 모니터링 환경 구성 실습에 대해 다루고 있습니다.아래 포함된 테스트는 kind로 구성한 클러스터에서 진행되었습니다.클러스터 생성# EC2 생성curl -O https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/kans/kans-5w.yamlaws cloudformation deploy --template-file kans-5w.yaml --stack-name mylab -..

반응형