study/KANS 3기 썸네일형 리스트형 KANS 3기 EKS AWS VPC CNI AWS VPC CNI : 파드의 IP를 할당해준다, 파드의 IP 네트워크 대역과 노드(워커)의 IP 대역이 같아서 직접 통신이 가능하다 - Github Proposal K8S Calico CNI 와 AWS VPC CNI 차이-네트워크 통신의 최적화(성능, 지연)를 위해서 노드와 파드의 네트워크 대역을 동일하게 설정함 파드간 통신 시 일반적으로 K8S CNI는 오버레이(VXLAN, IP-IP 등) 통신을 하고, AWS VPC CNI는 동일 대역으로 직접 통신을 한다 [실습] 네트워크 기본 정보 확인# CNI 정보 확인kubectl describe daemonset aws-node --namespace kube-system | grep Image | cut -d "/" -f 2# ku.. 더보기 KANS 3기 Cilium 8주차 스터디 공유 시작하겠습니다. Cilium은 eBPF (Berkeley Packet Filter)를 기반으로 Pod Network 환경 + 보안 을 제공하는 CNI Plugin 입니다 Kubernetes와 같은 Linux 컨테이너 관리 플랫폼을 사용하여 배포된 응용 프로그램 서비스 간의 네트워크 및 API 연결을 제공하는 오픈 소스 소프트웨어 입니다. Cilium eBPF 는 추가적인 App 이나 설정 변경 없이 리눅스 커널을 자유롭게 프로그래밍하여 동작 가능 - 링크Kernel Layer에서 동작하는 Bytecode를 안전하게 Kernel에 Loading(injection) 할 수 있다 Cilium 아키텍처구성요소 - 링크 -Cilium Agent : 데몬셋으로 실행, K8S API 설정으로.. 더보기 KANS 3기 Istio 이번주는 istio에 대해 학습하겠습니다.(양이 매우매우 많습니다..) Istio란?개념 : 마이크로서비스 간에 매시 형태의 통신이나 그 경로를 제어 - 예) 이스티오(Istio), 링커드(Linkerd) - 링크기본 동작 : 파드 간 통신 경로에 프록시를 놓고 트래픽 모니터링이나 트래픽 컨트롤 → 기존 애플리케이션 코드에 수정 없이 구성 가능 구성요소istiod : Pilot(데이터 플레인과 통신하면서 라우팅 규칙을 동기화, ADS), Gally(Istio 와 K8S 연동, Endpoint 갱신 등), Citadel(연결 암호화, 인증서관리 등)Istio proxy : Golang 으로 작성되었고 envoy 래핑한 Proxy, istiod와 통신하고 서비스 트래픽을 통제, 옵저버빌리티를 위한 메트릭 제.. 더보기 KANS 3기 Istio KIND 실습환경 구축 kind k8s 배포#cat kind-1node.yaml kind: ClusterapiVersion: kind.x-k8s.io/v1alpha4nodes:- role: control-plane extraPortMappings: - containerPort: 30000 hostPort: 30000 - containerPort: 30001 hostPort: 30001 - containerPort: 30002 hostPort: 30002 - containerPort: 30003 hostPort: 30003networking: podSubnet: 10.10.0.0/16 serviceSubnet: 10.200.1.0/24 EOFkind create cluster --config .. 더보기 KANS 3기 Gateway API 요즘 매우 핫하는 GatewayAPI에 대해서 공부해보겠습니다! Gateway APIGateway API 소개 : 기존의 Ingress 에 좀 더 기능을 추가, 역할 분리(role-oriented) - Docs Gateway APIGateway API is a family of API kinds that provide dynamic infrastructure provisioning and advanced traffic routing.kubernetes.io- 서비스 메시(istio)에서 제공하는 Rich 한 기능 중 일부 기능들과 혹은 운영 관리에 필요한 기능들을 추가- 추가 기능 : 헤더 기반 라우팅, 헤더 변조, 트래픽 미러링(쉽게 트래픽 복제), 역할 기반 아래 핸드온으로 학습하면 큰 도움이 될 듯.. 더보기 KANS 3기 6주차 첫번째 6주차 공유 시작하겠습니다. Ingress- 클러스터 내부의 서비스(ClusterIP, NodePort, Loadbalancer)를 외부로 노출(HTTP/HTTPS) - Web Proxy 역할 그림 소개 : 출처 - 김태민 기술 블로그 - 링크 인그레스 컨트롤러 : 인그레스의 실제 동작 구현은 인그레스 컨트롤러(Nginx, Kong 등)가 담당 Nginx 인그레스 컨트롤러 경우 : 외부에서 인그레스로 접속 시 Nginx 인그레스 컨트롤러 파드로 인입되고, 이후 애플리케이션 파드의 IP로 직접 통신 인그레스 + 인그레스 컨트롤러(Nginx) 기능 : HTTP(서비스) 부하분산 , 카나리 업그레이드 , HTTPS 처리(TLS 종료) Nginx 인그레스 컨트롤러 설치인그레스(Ingress) 소개 : 클러스.. 더보기 KANS 3기 5주차 첫번째 5주차 공유 시작하겠습니다. MetalLB - 공홈 , Github GitHub - metallb/metallb: A network load-balancer implementation for Kubernetes using standard routing protocolsA network load-balancer implementation for Kubernetes using standard routing protocols - metallb/metallbgithub.com MetalLB - Layer2 모드 - 리더 파드가 선출되고 해당 리더 파드가 생성된 노드로만 트래픽이 인입되어 해당 노드에서 iptables 분산되어 파드로 접속- 권장 사용 환경 : 테스트 및 소규모의 환경(동일 네트워크 1개 사용).. 더보기 KANS 3기 5주차 두번째 IPVS Proxy 모드환경 구축# 파일 작성cat kind-svc-2w-ipvs.yamlkind: ClusterapiVersion: kind.x-k8s.io/v1alpha4featureGates: "InPlacePodVerticalScaling": true "MultiCIDRServiceAllocator": truenodes:- role: control-plane labels: mynode: control-plane topology.kubernetes.io/zone: ap-northeast-2a extraPortMappings: - containerPort: 30000 hostPort: 30000 - containerPort: 30001 hostPort: 30001 .. 더보기 이전 1 2 다음