728x90 kubernetes36 kubernetes 인증/인가 - OIDC (AWS EKS) 앞서 작성한 글인 인증/인가에 대하여.. 와 OIDC(로컬환경실습)에서 인증/인가와 `OIDC`의 개념에 대해서는 충분히 알아보았습니다.하지만 앞에서 진행한 실습이 local 환경이다보니 실무에서 사용하듯이 외부 `idP`를 통한 인증/인가가 불가능했는데요. 이번 포스팅에서는 `AWS EKS` 환경에서 `OIDC`를 설정하여 사용자(개발자)가 `kubectl` 명령어로 `EKS Cluster`에 접근할 때에 허용된 리소스에 접근할 수 있는 실습을 진행해보겠습니다. 실습 실습 환경 다이어그램전체적인 다이어그램은 위와 같습니다. 1. `kubectl get nodes` 실행 2. `kubelogin`이 `Dex`에 `Authorization Request` 전송 (`client_id`, `redirec.. 2026. 4. 3. kubernetes 인증/인가 - OIDC (로컬 환경 실습) 지난 글에서는 k8s의 인증(Authentication)과 인가(Authorization)에 대해 개념을 공부하고 실습을 진행했습니다. 하지만 실제 업무에서는 개발자가 `kubectl`로 pod에 접근하거나 Devops 엔지니어가 `cluster` 상태를 확인한다거나, 여러 `cluster`를 관리한다거나 처럼 사람이 k8s에 접근하는 경우가 많습니다. 이때, k8s는 OIDC(OpenID Connect)를 이용하여 외부 인증 시스템과 연동할 수 있습니다. OIDC(OpenID Connect) `OIDC`는 `OAuth 2.0` 기반의 인증 프로토콜 입니다. OAuth 2.0과 OIDC의 관계`OIDC`를 이해하려면 먼저 `OAuth 2.0` 을 알아야 합니다.`OAuth 2.0`은 인가 프로토콜로.. 2026. 3. 13. 쿠버네티스 인증인가에 대하여... kubernetes Control Plane의 인증(AuthX)은 [요청자가 누구인가]를 확인하는 과정이고, 인가(AuthZ)는 [그 요청자가 해당 리소스에 대해 실행하려는 동작을 할 권한이 있는가]를 판단하는 과정입니다. 모든 API 요청은 이 두 단계를 통과해야 admission을 통해 ETCD에 반영되며, 인증 실패시 401, 인가 실패시 403 HTTP 상태 코드가 반환됩니다. 이러한 쿠버네티스의 인증/인가를 직접 실습해보면서 알아보겠습니다. (기초 주의) 실습 환경 구성실습을 진행할 디렉토리(폴더) 생성mkdir /k8s-auth-stury && cd /k8s-auth-study 실습은 kind를 통해 local 머신에서 kubernetes clsuter를 생성하여 진행할 것 이기에, 해당 .. 2026. 3. 6. 쿠버네티스 장애 원인 분석을 Slack으로 받아보기 (feat. K8sGPT) 배경EKS를 운영하다 보면 크고 작은 장애와 마주하게 됩니다. (Pod가 뜨지 않거나, Service가 연결되지 않거나, Ingress가 정상인데 트래픽이 오지 않는 등 원인은 다양합니다.) 보통 `kubectl describe`. `kubectl logs`, pod 상세에서 event 세션 확인, Prometheus의 Alertmanager를 통해 알람을 확인하는 방식으로 문제의 원인을 파악합니다. 하지만 실제 운영 환경에서는 에러 원인은 여러 리소스에 걸쳐 있고, 맥락을 종합해야 하는 경우가 많습니다. AI를 활용해 Kubernetes 클러스터 운영을 조금 더 효율적으로 만들 수 없을까 고민하던 중, 문득 2024년 9월 CNKCD2024에서 발표된 [당신이 누구던 쿠버네티스를 사용한다면 K8s.. 2026. 1. 10. Cilium 기반 Ingress와 Gateway API Cilium-Ingress kubernetes의 Ingress에 대한 설명은 이전 블로그 게시글을 참고해주세요. Cilium-Ingress 이란?Cilium Ingress는 eBPF 기반 네트워킹과 Envoy L7 Proxy를 결합하여 기존의 Ingress Controller와 다른 방식으로 동작합니다. 특히, Source IP의 가시성을 유지하고, 네트워크 정책(CiliumNetworkPolicy)의 통합, 유연한 로드밸런서 모드, Host Network 모드 지원 등에서 강점이 있습니다. 또한, CiliumNetworkPolicy을 통해 Ingress 트래픽을 세세하게 제어할 수 있습니다. 설정 방법Cilium은 kubernetes Ingress 리소스를 `ingressClassName: cil.. 2025. 8. 21. Cilium BGP Control Plane과 FRRouting으로 외부 트래픽 처리 들어가며Kubernetes 클러스터 내에서 Pod 간 통신은 CNI 플러그인에 의해 자동으로 설정되지만, 클러스터 외부와의 통신 경로를 동적으로 구성하려면 추가적인 네트워크 연동이 필요합니다. 특히 BGP(Border Gateway Protocol)를 활용하여 외부에서 클러스터 내 Pod/Service 네트워크로의 접근을 가능하게 만들 수 있습니다. Cilium은 BGP Control Plane 기능을 통해 Kubernetes 노드의 Pod CIDR 등을 외부로 광고(advertise)할 수 있는 기능을 제공합니다. 그러나 Cilium 자체는 BGP 피어로서 동작할 수 있지만, 클러스터 외부에 존재하는 router의 역할까지는 수행하지 않습니다. Cilium BGP Control Plane의 구성 요소.. 2025. 8. 16. Cilium IPAM Mode와 IPAM 모드 변경 실습 IPAMIPAM이란?흔히 IPAM (IP Address Management)은 네트워크에서 IP 주소를 정리하고 관리하는 시스템을 말합니다. IPAM 예시기업에서 직원용 PC에 IP 자동 할당기업에서 직원용 PC에 IP를 할당할 때에 IPAM에서 DHCP 서버와 연동해 사용 가능한 IP 주소 풀을 정의하고, PC를 네트워크에 연결하면 DHCP가 자동으로 IP를 할당하고 IPAM이 기록합니다.학교에서 학생들의 기기에 대한 IP 추적IPAM에서 각 교실이나 사용자 그룹별로 서브넷을 나누고 IP를 예약합니다. 그 후 기기 접속 시 IPAM은 할당된 IP와 접속 이력을 저장해 누가 언제 사용했는지 추적이 가능합니다. Cilium에서의 IPAMCilium은 Kubernetes 네트워크를 구성할 때, Pod에 할당.. 2025. 7. 28. eBPF 기반 Cilium을 통한 K8s 네트워크 트래픽 분석 실습 더보기이 내용은 CloudNet@에서 진행하는 Cilium 스터디를 참여하면서 공부하는 내용을 기록하며, CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다.들어가며kubernetes는 기본적으로 kube-proxy를 통해 네트워크를 처리합니다. 하지만 iptables를 사용하는 kube-proxy의 경우 cluster가 커지고, 서비스가 많아질수록 iptables의 규칙이 수천 개 이상으로 증가하게 되는데 규칙이 많아질수록 packet이 전달될 때마다 순차적으로 검사하게 되므로 latency와 CPU 사용량이 증가하게 됩니다. (이것이 곧 성능 저하 및 관리 복잡도 상승...!) 이를 해결하기 위해 등장한 Cilium을 통해 iptables없이 kurnel 레벨에서 직접 트래픽을 처리하는 .. 2025. 7. 19. KWOK를 활용한 Kubernetes AutoScaling 테스트 환경 구축 들어가며Kubernetes로 구성된 환경에서 AutoScaling은 필수적인 기능이지만, 이를 간단히 테스트하기는 쉽지 않습니다. Minikube 나 Kind 같은 경량화 솔루션들이 등장했지만, 이들 역시 가상 머신이나 Docker와 같은 컨테이너를 사용하므로 리소스 소비가 적지 않습니다.그렇기 때문에 KWOK(Kubernetes WithOut Kubelet) 가 등장하게 되었는데요. KWOK은 Kubelet 없이도 Kubernetes API와 상호작용하는 가상 노드를 구성할 수 있어, 보다 가볍고 빠르게 AutoScaling을 실험할 수 있는 환경을 구성할 수 있습니다. KWOKKWOK이란?KWOK(Kubernetes WithOut Kubelet)는 Kubernetes의 다양한 기능을 테스트하고 .. 2025. 3. 8. 이전 1 2 3 4 다음 728x90