Network 5

Tailscale VPN for 쿠버네티스 & VPC

최근에 EKS, AWS VPC 환경에서 Tailscale VPN을 잘 사용하고 있어 내용을 공유한다. TL;DR Tailscale VPN을 1) EKS 환경에서 LoadBalancer, Ingress 등을 추가 설정하지 않고 ClusterIP 타입 그대로 VPN을 사용하는 사용자에게 외부 노출 2) EC2 사용하는 VPC의 전체 네트워크를 Tailscale VPN으로 연결 EC2 VM이 아닌 쿠버네티스 파드로 실행할 수 있어 EC2 VM 비용을 절감할 수 있다. 추가로 Deployment로 실행하면 파드 다운 시 자동 실행되니 관리 포인트도 줄어든다. ClusterIP는 YAML 파일에서 ClusterIP를 고정할 수 있어, 서비스를 재시작해도 IP가 변경되지 않는다. 쿠버네티스 DNS 이름을 그대로 사..

Kubernetes Ingress-NGINX on EKS

이직하고 EKS에 ingress-nginx 설정한 내용들 정리합니다. 1. Ingress-nginx on EKS 설정 내용 헬름 파일 이용 설치 LB 타입으로 CLB가 아닌 NLB 사용 AWS 인증서 적용 - 헬름 배포 시 변수 파일로 지정하여 설치 시 자동으로 적용되도록 AWS LB에서 TLS Termination 처리 설정 : NLB가 TLS 처리하고 이 후 백엔드는 Https to Http로 전달 443 port 남기고 default 80 port는 삭제 Default 헬름 차트 변수 파일(values.yaml) 수정 내역 서비스 annotations 수정 annotations: service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp ..

쿠버네티스 칼리코 네트워크

오늘은 쿠버네티스 칼리코(calico) CNI에 관하여 정리한다. 가시다님 네트워크 스터디 3주차 예습 내용이다. 1) 같은 노드 내 파드 - 파드 통신 2) 파드와 외부 인터넷 통신 3) 다른 노드의 파드와 파드 통신 내용 실습한 걸 정리하였다. 가시다님, 3주차 스터디 실습 환경은 아래와 같다. 3대의 컨트롤 플레인 + 워커 노드 + 1대의 워커 노드. 쿠버 버전 1.22.4, CRI containerd. [spkr@erdia22 ~ (ubun81:default)]$ kgn # k get node -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ubun20-81 R..

sniff - kubectl 환경 패킷 캡쳐 유틸리디

가시다님 스터디에서 ‘stewart’ 님이 공유해 주신 파드 패깃덤프 플러그인 sniff 사용 예제를 공유한다. sniff 사용하면 파드에 접속해서 tcpdump 명령어 실행하지 않아도 로컬PC에서 kubectl 명령어로 원격 파드의 패킷 덤프를 바로 실행할 수 있다. 패킷덤프는 그동안 귀찮아서 네트워크 엔지니어에게 미루었는데 내가 해보게 되고 여러모로 도움이 되는 스터디다. sniff 참고 https://github.com/eldadru/ksniff GitHub - eldadru/ksniff: Kubectl plugin to ease sniffing on kubernetes pods using tcpdump and wireshark Kubectl plugin to ease sniffing on kube..

Flannel CNI

아래 내용은 KANS 가시다(서종호) 님 스터디 2주차 내용을 기반으로 정리하였습니다. https://www.notion.so/gasidaseo/KANS-1-17b0ee7990aa4839ace414b76a09cec8 (가시다 님은 그저 빛인듯 ㅎㅎ) 제가 네트워크 관련 부분은 부족한게 많아 부정확할 수 있습니다. 내용에 오류가 있으면 언제든지 의견 부탁 드립니다. 먼저 쿠버네티스는 Flannel CNI로 Kubespray 이용하여 설치하였다. (kubespray flannel 설치는 간단한데 별도 포스팅 할 예정이다. 기본 kubespray 설정에 2줄만 변경하면 된다..) [spkr@erdia22 ~ (ubun71:default)]$ kgn ## k get nodes -o wide NAME STATUS..