본문 바로가기

전체 글

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 .. 더보기
KANS 3기 4주차 K8S Service에 대해서 알아보겠습니다.1. ClusterIP요약 : 클라이언트(TestPod)가 'CLUSTER-IP' 접속 시 해당 노드의 iptables 룰(랜덤 분산)에 의해서 DNAT 처리가 되어 목적지(backend) 파드와 통신 1.클러스터 내부에서만 'CLUSTER-IP' 로 접근 가능 ⇒ 서비스에 DNS(도메인) 접속도 가능!2.서비스(ClusterIP 타입) 생성하게 되면, apiserver → (kubelet) → kube-proxy → iptables 에 rule(룰)이 생성됨3.모드 노드(마스터 포함)에 iptables rule 이 설정되므로, 파드에서 접속 시 해당 노드에 존재하는 iptables rule 에 의해서 분산 접속이 됨  실습목적지(backend) 파드(Pod).. 더보기
KANS 3기 3주차 두번째 Calico 네트워크 모드- Calico 는 다양한 네트워크 통신 방법(모드)를 제공합니다.- Calico 나 Cilium 에서 파드 혹은 네임스페이스의 레벨에서 IN/OUT 트래픽에 대한 통제가 가능합니다. Calico 라우팅 모드    Direct 모드파드 통신 패킷이 출발지 노드의 라우팅 정보를 보고 목적지 노드로 원본 패킷 그대로 전달합니다  클라우드 사업자 네트워크의 경우 NIC 에 매칭되지 않는 IP 패킷은 차단되니, NIC에 Source/Destination Check 기능을 Disable 해야 합니다 - 링크# AWS CLI 로 특정 인스턴스의 Source/Destination Check 기능을 Disable 하기aws ec2 modify-instance-attribute --instanc.. 더보기
KANS 3기 3주차 첫번째 .. 매번 스터디를 참여해왔지만 이렇게 매운 맛은 처음입니다....ㅠ그럼 바로 공유 시작하겠습니다!  Calico CNI 알아보기 Calico components - Docs  -데몬셋으로 각 노드에 calico-node 파드가 동작하여, 해당 파드에 bird, felix, confd 등이 동작 + Calico 컨트롤러 파드는 디플로이먼트로 생성# 버전 확인 - 링크## kdd 의미는 쿠버네티스 API 를 데이터저장소로 사용calicoctl version# calico 관련 정보 확인kubectl get daemonset -n kube-systemkubectl get pod -n kube-system -l k8s-app=calico-node -owidekubectl get deploy -n kube-sy.. 더보기
KANS 3기 3주차 실습환경 구축 실습환경 구축# YAML 파일 다운로드curl -O https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/kans/kans-2w.yaml# CloudFormation 스택 배포# aws cloudformation deploy --template-file kans-2w.yaml --stack-name mylab --parameter-overrides KeyName= SgIngressSshCidr=/32 --region ap-northeast-2예시) aws cloudformation deploy --template-file kans-2w.yaml --stack-name mylab --parameter-overrides KeyName=kp.. 더보기