아야어여오요
close
프로필 배경
프로필 로고

아야어여오요

  • 분류 전체보기 N
    • K8S N
      • argocd
      • ecosystem
      • istio
      • cilium
      • 🔥 network study🔥 N
      • network
      • issue
    • AWS
      • issue
    • LN
      • Go
      • Rust
    • CS
      • network
      • eBPF
      • wasm
    • k-stack
    • 메모
    • 토키워크
  • 홈
  • 태그
  • 방명록
  • github
[cilium] Host 방화벽 설정해보기

[cilium] Host 방화벽 설정해보기

cilium을 사용하면 HostFirewall도 설정이 가능합니다. 이번 글에서는 Hostfirewall을 테스트해보도록 하겠습니다. 테스트 환경 구성하기cilium 설치하기가장 기본적으로 구성한다면 아래와 같이 구성할 수 있습니다. devices는 cilium이 구성될 인터페이스를 지정하면 됩니다. 지정하지 않을 경우 자동으로 선택되게 됩니다. helm install cilium cilium/cilium --version 1.18.1 \ --namespace kube-system \ --set hostFirewall.enabled=true \ --set devices='{ethX,ethY}' 자동으로 선택되게 하였을 경우 어떤 인터페이스가 선택되었는지 확인하고자 한다면 다음의 명령어로 확인이 가..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 9. 5.
  • textsms
[cilium] cilium으로 grpc 보호하기

[cilium] cilium으로 grpc 보호하기

2025.07.26 - [K8S/🔥 network study🔥] - [cilium] 스타워즈 데모로 cilium 테스트 해보기 [cilium] 스타워즈 데모로 cilium 테스트 해보기스타워즈 데모로 테스트 해보기cilium에서는 샘플 애플리케이션으로 스타워즈 데모를 제공합니다.https://docs.cilium.io/en/stable/gettingstarted/demo/ 데모 환경 소개아래의 파일을 배포하면 데모환경은 구nuguni.tistory.com이전에 스타워즈 데모를 통해 http 통신 테스트를 해보았다면 이번엔 다른 등장인물들로 이어서 grpc 통신 테스트를 해보려고 합니다.(공식 문서: https://docs.cilium.io/en/stable/security/grpc/) 테스트 시나리오..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 9. 5.
  • textsms

[cilium] Mutual Authentication 테스트 해보기 (진행 중)

cilium에서도 istio처럼 Mutual Authentication이 가능한지 테스트해보려고 합니다. 환경 구성하기cilium 설치하기먼저 mutual spire를 활성화 합니다. 이렇게 설치하면 자동으로 cilium-spire에 spire도 설치되게 됩니다. 주의) spire server의 security context 를 runAsGroup=1000, runAsUser=1000으로 설정하지 않으면 에러가 발생합니다.또 spire-server가 실행되는 곳에서 아래의 2개의 설정이 되어야합니다.chown -R 1000:1000 /run/spire/datachown -R 1000:1000 /tmp/spire-server이 내용을 initContainers에 추가하여 설치하도록 합니다. 관련이슈: h..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 8. 22.
  • textsms

[cilium] gateway API로 트래픽 분할하기

cilium에서는 gateway API를 지원하고 있기 때문에 트래픽 분할을 할 수 있습니다. 이번에는 Gateway API를 구성하고 가중치에 따라 트래픽을 분할해보겠습니다. cilium 설치하기cilium을 설치하기 전 먼저 gateway api의 crd들을 설치해줍니다. kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.2.0/config/crd/standard/gateway.networking.k8s.io_gatewayclasses.yamlkubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/gateway-api/v1.2.0/config..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 8. 22.
  • textsms
[cilium] L7 Traffic Shifting 테스트

[cilium] L7 Traffic Shifting 테스트

cilium의 service mesh에서는 traffic shifting 설정을 CiliumEnvoyConfig로 할 수 있다. 샘플 애플리케이션 배포하기# traffic-shifting 이라는 넴스페이스를 생성해서 여기서 진행하겠습니다.kubectl create ns traffic-shiftingkubectl config set-context --current --namespace traffic-shifting먼저 helloworld의 백엔드로 2개의 deployment를 준비합니다. 이 deployment의 라벨은 version: v1과 v2가 서로 다르게 붙어있습니다. cat 그리고 클라이언트 역할을 할 client-pod를 하나 구성합니다. cat 기본 설정의 경우 아무런 설정이 안되어있는..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 8. 22.
  • textsms
[cilium] containerlab으로 lb ippool 테스트 해보기

[cilium] containerlab으로 lb ippool 테스트 해보기

cilium에서 제공하는 bgp 테스트 환경 구성이 있는데 이게 잘 동작을 안해서 엄청 고생을 하다. 도전과제겸 정리해봅니다.공식 문서에서는 아래와 같이 간단하게 구성하고있는데 mac이라 그런지 바로 동작을 잘 안하네요.2025.08.15 - [K8S/cilium] - containerlab을 사용하여 cilium + BGP 테스트 환경 만들기 사전 준비테스트 환경은 mac arm64 이며 orbstack을 사용할 예정입니다. vm 생성하기mac에서는 바로 containerlab을 사용할 수 없어 orbstack으로 vm을 생성해줍니다. orbstack을 실행 후 명령어를 입력하세요orb create ubuntu linux 이렇게 vm을 생성하면 쉽게 서버에 접근이 가능합니다.ssh orb kind로 클..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 8. 17.
  • textsms
containerlab을 사용하여 cilium + BGP 테스트 환경 만들기

containerlab을 사용하여 cilium + BGP 테스트 환경 만들기

containerlab이 이제 network 환경 구성을 도와주는 도구인것 같다. BGP 통신을 테스트 할 수 있는 환경을 구성해서 테스트 해보려고 하는데 mac 사용자들에게는 강추하는 orbstack을 사용하려고 한다.virtual box를 사용해서 더 쉽게 테스트 환경을 만들 수도 있지만.. 노트북의 성능 문제로 virtualbox를 2개 이상 실행하면 컴퓨터가 너무 느려지는 저같은 분들은 이렇게 테스트를 진행해보는걸 추천합니다. linux VM 생성하기orbstack을 사용하면 컨테이너 생성 뿐만 아니라 빠르게 vm 생성도 가능하다.ubuntu vm을 생성한다.orb create ubuntu linux 생성이 완료되었는지 확인해보겠다.orb list orbstack을 사용하는 리눅스 커널에선 TC..

  • format_list_bulleted K8S/cilium
  • · 2025. 8. 15.
  • textsms
[cilium] BGP Control Plane

[cilium] BGP Control Plane

cilium에서는 LB-IPAM 기능을 제공하고 있기 때문에 BGP와 연동하면 외부에서도 쉽게 접근 가능한 LB를 구성할 수 있습니다.따라하며 테스트해보고 싶은 분은 여길 참고하시면 좋을 것 같습니다. 2025.08.15 - [K8S/cilium] - containerlab을 사용하여 cilium + BGP 테스트 환경 만들기 아래와 같이 적용시 bgpControlplan이 활성화 됩니다. statusReport는 운영환경에서 api서버의 부하를 유발할 수 있기 때문에 끄는 것을 권장한다고 합니다. helm upgrade cilium cilium/cilium --version 1.18.0 \ --namespace kube-system \ --reuse-values \ --set bgpControlP..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 8. 15.
  • textsms
[cilium] VxLAN, Geneve 오버레이 모드 (작성중)

[cilium] VxLAN, Geneve 오버레이 모드 (작성중)

2025.07.31 - [K8S/🔥 network study🔥] - [cilium] native routing 통신 흐름 확인해보기지난번에 natvie모드를 살펴보긴 했는데 이번에는 오버레이 모드를 살펴볼까 합니다. 기본적으로 overlay 모드를 사용하면 VxLAN이 활성화되고 그 이외에는 Geneve가 옵션으로 있습니다. VXLAN(Virtual Extensible LAN)VXLAN은 이더넷 프레임을 UDP 패킷 안에 캡슐화해 전송합니다.외부 IP/UDP 헤더 위에 VXLAN 헤더가 붙고, 그 안에 원래의 L2 프레임이 들어갑니다.이 방식으로 서로 다른 네트워크 구간에서도 마치 같은 L2처럼 통신할 수 있습니다.구조가 단순하고 호환성이 좋지만, 헤더 구조가 고정이라 새로운 기능을 추가하기는 어렵습..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 8. 10.
  • textsms
[cilium] LB IPAM에 Cilium L2 Announement 적용하기

[cilium] LB IPAM에 Cilium L2 Announement 적용하기

L2 Announcements는 로컬 영역 네트워크에서 서비스가 접근 가능하도록 만드는 기능입니다. 주로 BGP 기반 라우팅이 없는 사내/캠퍼스 네트워크 같은 온프레미스 배포를 위해 설계되었습니다. 이 기능을 사용하면 ExternalIP 및/또는 LoadBalancer IP에 대한 ARP 쿼리에 응답합니다. 이 ARP 응답을 주는건 클러스터 중 리더로 선택 된 노드가 자신의 MAC 주소로 응답을 줍니다. 그 노드는 서비스 로드밸런싱 기능으로 트래픽을 분산 처리하며, 클러스터의 north/south 로드밸런서 역할을 합니다. 테스트 환경에서 NodePort를 쓰는것과 L2 Announcement를 쓰는걸 비교해보면 NodePort는 클라이언트가 어떤 호스트로 보낼지 결정해야하고 노드가 다운되면 해당 IP+..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 8. 9.
  • textsms
[cilium] ipam 모드 비교하기 (작성 중)

[cilium] ipam 모드 비교하기 (작성 중)

cilium에는 다양한 ipam 모드들이 있습니다. 디폴트로는 Cluster Scope가 설정되는데 어떻게 설정하는지 다른 ipam 모드와 비교해보려고 합니다. Cluster Scope 모드 Kubernetes Host Scope 모드 Kubernetes Host Scope 모드는 쿠버네티스 노드에 설정된 파드 대역을 보고 agent가 파드 대역을 설정하는 모드입니다. 쿠버네티스 클러스터를 설정할때 파드 대역을 설정하거나 기본 설정을 사용하게 됩니다. 그리고 노드가 추가될때 마다 node-cidr-mask-size 값으로 파드 대역을 나눠 노드 마다 붙여줍니다. apiVersion: kubeadm.k8s.io/v1beta3kind: ClusterConfigurationnetworking: servi..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 8. 3.
  • textsms
[발표영상정리] Better Bandwidth Management with eBPF

[발표영상정리] Better Bandwidth Management with eBPF

https://youtu.be/QTSS6ktK8hY?feature=shared 기존 쿠버네티스 대역폭 제한의 문제점쿠버네티스에는 파드 네트워크 대역폭 제한을 위한 기능이 있습니다.ingress / egress 어노테이션에 50Mbit/sec 같은 값을 넣으면 제한이 걸립니다.하지만 이 기능은 bandwidth meta plugin에서만 지원하며, 내부적으로 토큰 버킷 필터(Token Bucket Filter, TBF) 를 사용합니다.문제는 이 방식이 프로덕션 환경에서 확장성이 떨어진다는 점입니다. Pod 유입 속도를 제한하려면 호스트 veth의 유출 경로에 규칙을 설정해야 합니다.예를 들어, ingress 트래픽 제어 설정인 kubernetes.io/ingress-bandwidth="50M"의 경우 v..

  • format_list_bulleted K8S/cilium
  • · 2025. 8. 3.
  • textsms
[발표영상정리] Turning up Performance to 11: Cilium, NetKit Devices, and Going Big with TCP

[발표영상정리] Turning up Performance to 11: Cilium, NetKit Devices, and Going Big with TCP

https://youtu.be/AVEBcZc0YsQ?feature=shared 이 발표에서는 쿠버네티스 환경에서 성능 병목을 제거하고, 최신 커널 기능과 Cilium의 혁신들을 통해 네트워킹 성능을 극한까지 끌어올린 과정을 소개했습니다.아래는 발표 내용을 토대로 정리한 주요 내용입니다.https://isovalent.com/blog/post/cilium-netkit-a-new-container-networking-paradigm-for-the-ai-era/ Cilium netkit: The Final Frontier in Container Networking PerformanceIn this blog post, we're looking at Cilium's support for netkit - a rev..

  • format_list_bulleted K8S/cilium
  • · 2025. 8. 2.
  • textsms
Cilium Masquerading (BPF-based vs iptables-based)

Cilium Masquerading (BPF-based vs iptables-based)

cilium에서는 마스커레이드를 BPF를 사용하거나 iptables를 사용할 수 있습니다. 마스커레이드는 클러스터 내부 파드(Pod)에서 외부 서비스(인터넷 등)로 나갈 때, 출발지 IP를 노드(Node)의 IP로 변경하여 응답 패킷이 돌아올 수 있도록 해 주는 기능입니다. bpf 마스커레이드를 설정하면 host routing도 bpf로 설정해야합니다. 마스커레이드 설정 확인하기kubectl exec -it -n kube-system ds/cilium -c cilium-agent -- cilium status | grep Masquerading 기본적으로, 파드에서 보내는 모든 패킷 중 목적지가 ipv4-native-routing-cidr 범위 밖에 있는 IP 주소인 경우 마스커레이딩됩니다. 단, ..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 8. 2.
  • textsms
cilium 1.18.0 달라진점 정리

cilium 1.18.0 달라진점 정리

1.18.0이 릴리즈 되었는데 좀 관심가는 변경점이 생겨서 정리해보려고 한다. iptablesRandomFully서로 다른 파드(네트워크 네임스페이스)에서 쿠버네티스 밖에 있는 동일한 목적지로 연결을 하면 내부적으로 연결에 필요한 튜플이 겹쳐서 충돌할 수 있습니다. 아무래도 외부로 나가는 과정에서 nat가 되는데 같은 포트를 사용하게 되면 충돌이 나게 되기 때문입니다. 커널이 출발지 포트를 자동으로 할당할 때, 커넥션을 만들기 전에는 어떤 포트가 사용중인지 알 수 없어서 비슷한 시기에 커넥션을 생성하면 동일한 포트를 사용하게 될 가능성이 있습니다. 특히 UDP나 short-lived TCP 요청에서 더 자주 발생한다고 합니다. 이번에 변경된건 --random-fully을 사용하게 되는건데 추가를 ..

  • format_list_bulleted K8S/cilium
  • · 2025. 8. 2.
  • textsms
[cilium] native routing 통신 흐름 확인해보기

[cilium] native routing 통신 흐름 확인해보기

이번엔 native routing (오버레이 네트워크 없는 구조)에서 통신이 어떻게 이뤄지는지 확인해보겠습니다. cilium과 샘플 애플리케이션 구성하기 버전은 1.17.6이고 ipam은 kubernetes 모드를 사용했습니다. datapath는 netkit이 아닌 veth 모드입니다. helm install cilium cilium/cilium --version 1.17.6 --namespace kube-system \ --set k8sServiceHost=auto --set ipam.mode="kubernetes" \ --set k8s.requireIPv4PodCIDR=true --set ipv4NativeRoutingCIDR=10.244.0.0/16 \ --set routingMode=nat..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 7. 31.
  • textsms
[cilium] hubble exporter 설정하기

[cilium] hubble exporter 설정하기

hubble이 cilium이 설치된 쿠버네티스 클러스터의 트래픽 흐름을 확인시켜주지만 이 데이터를 장기적으로 저장하지는 않습니다. hubble은 기본적으로 cilium 에이전트에서 발생하는 이벤트를 메모리에 저장합니다.버퍼 사이즈를 기준으로 이벤트를 저장하고 기본적으로는 4095개의 이벤트만을 저장하고 있습니다. 링버퍼 구조상 1칸을 비워둡니다. helm 차트 여기서 설정 변경 가능합니다. hubble: # -- Enable Hubble (true by default). enabled: true # -- Annotations to be added to all top-level hubble objects (resources under templates/hubble) annotations: {} #..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 7. 26.
  • textsms
[cilium] 스타워즈 데모로 cilium 테스트 해보기

[cilium] 스타워즈 데모로 cilium 테스트 해보기

스타워즈 데모로 테스트 해보기cilium에서는 샘플 애플리케이션으로 스타워즈 데모를 제공합니다.https://docs.cilium.io/en/stable/gettingstarted/demo/ 데모 환경 소개아래의 파일을 배포하면 데모환경은 구성 완료됩니다.kubectl create -f https://raw.githubusercontent.com/cilium/cilium/1.17.6/examples/minikube/http-sw-app.yaml 데모를 설치하면 3개의 애플리케이션이 설치되는데 제국 우주선들의 착륙서비스를 제공하는 deathstar, 제국 측 클라이언트와 tiefighter, 연합군 측 클라이언트 xwing 3개의 파드로 구성되어있습니다. 직접 파드를 확인해보면 이렇습니다. ciliu..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 7. 26.
  • textsms
[cilium] hubble 사용해보기

[cilium] hubble 사용해보기

Cilium을 설치하면 기본적으로 cilium-operator와 cilium-agent가 함께 설치됩니다.또한, Cilium은 트래픽 모니터링을 위한 도구인 Hubble을 제공합니다. Hubble을 Helm으로 설치해보면 hubble, hubble-ui 그리고 hubble-relay 에대한 옵션이 있습니다. hubble-ui와 hubble-relay는 별도의 파드로 뜨게 되지만 이번 글에서 다루고자 하는 내용은 이 두 컴포넌트가 아니라 cilium-agent 내부에 내장된 Hubble에 관한 것입니다. 완전 기본 설정으로 cilium을 설치하면 hubble은 활성화 되어있습니다. 만약 비활성화 한 상태로 설치해보면 cilium-agent 내부에서 hubble 명령어 사용시 다음과 같은 에러가 발생합니다..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 7. 22.
  • textsms
[cilium] flannel에서 cilium으로 마이그레이션 해보기

[cilium] flannel에서 cilium으로 마이그레이션 해보기

2025.07.16 - [K8S/🔥 network study🔥] - [cilium] flannel 설치하기 [cilium] flannel 설치하기먼저 flannel 배포를 위한 네임스페이스를 생성합니다. kubectl create ns kube-flannel helm차트로 배포하는 가이드에는 다음과 같은 라벨을 추가하게 되어있습니다.네임스페이스에 라벨을 붙여 파드 시큐nuguni.tistory.com이전 글에서 flannel을 설치했다면 이번엔 cilium으로 마이그레이션을 해보겠습니다. 마이그레이션 공식 가이드를 참고해서 진행했습니다.https://docs.cilium.io/en/stable/installation/k8s-install-migration/ 시작하기 전kubelet은 파드를 생성할때 ..

  • format_list_bulleted K8S/🔥 network study🔥
  • · 2025. 7. 18.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 N
    • K8S N
      • argocd
      • ecosystem
      • istio
      • cilium
      • 🔥 network study🔥 N
      • network
      • issue
    • AWS
      • issue
    • LN
      • Go
      • Rust
    • CS
      • network
      • eBPF
      • wasm
    • k-stack
    • 메모
    • 토키워크
최근 글
인기 글
최근 댓글
태그
  • #CNI
  • #Kubernetes
  • #k8s
  • #cilium
  • #istio
  • #Calico
  • #mesh
  • #Service
  • #Network
  • #eBPF
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바