본문 바로가기

kubernetes23

[KANS] Gateway API 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다. Gateway API  Gateway API는 Kubernetes의 네트워크 라우팅을 확장(L4 및 L7 라우팅)하고 개선하기 위해 설계된 API입니다. 기존의 Ingress API를 대체하거나 보완할 수 있는 방식으로, 더 복잡한 네트워크 트래픽 관리 시나리오를 지원합니다.  즉, 기존의 Ingress에 다양한 기능(헤더 기반 라우팅, 헤더 변조, 트래픽 미러링(쉽게 트래픽 복제), 역할 분리 등)이 추가된 차세대 Kubernetes Ingress, LoadBalancing, service mesh API를 대표 하는.. 2024. 10. 12.
[KANS] Ingress 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다. Ingress Ingress란?Ingress는 Kubernetes에서 외부 트래픽을 클러스터 내의 서비스로 라우팅하는 역할을 하는 리소스입니다. Service는 Layer4 계층에서 동작하지만 Ingress는 Layer 7계층에서 동작하기에 HTTP/HTTPS 통신에 다양한 기능들이 제공합니다.  즉, 클러스터 내부의 서비스(ClusterIP, NodePort, Loadbalancer)를 외부로 노출(HTTP/HTTPS)합니다. (Web Proxy 역할)Ingress ControllerIngress의 실제 동작 구현은 .. 2024. 10. 9.
[KANS] Service - LoadBalancer (MetalLB) 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다.Service Service에 관한 전반적인 내용은 앞 내용에서 다뤘으니 참고바랍니다.LoadBalancerLoadBalancer(줄여서 LB)는 Public Cloud 환경에서 동작하는 LB Service와 On-premise 환경에서의 LB Service가 있습니다. 동일한 LB이지만 동작 방식에 차이가 있습니다. Public Cloud 사업자마다 LB의 동작에도 차이가 있으며, On-Premise 환경에서 동작하는 LB도 하드웨어 장비와 소프트웨어 기반으로 구분되고, LB 개발사에 따라 차이도 있습니다. Cloud .. 2024. 10. 4.
[KANS] Service - ClusterIP, NodePort 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다.Kubernetes Serivce service란?Service란 Pod 집합에서 실행중인 애플리케이션을 네트워크 서비스로 노출하는 추상화 방법입니다.서비스는 Pod에 대하여 고정 IP와 Domain Name을 제공하는데, Pod1 애플리케이션은 서비스의 10.200.1.1 IP로 통신 시에 서비스는 Pod2의 172.16.1.2로 트래픽을 전달하게 됩니다. 만약, Pod2가 restart하게 되면 서비스는 변경된 Pod2의 IP를 자동으로 알게 되어, Pod1의 통신 요청을 변경된 Pod2의 IP인 172.16.1.3으.. 2024. 9. 28.
[KANS] Calico CNI 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다. Calico CNICalico는 Kubernetes를 포함하여 다양한 플랫폼에서 워크로드의 네트워크 통신과 네트워크 보안 기능을 제공합니다. 특히 Kubernetes CNI 를 준수하여, Pod를 위한 네트워크 통신 환경을 구성할 수 있습니다. 이때 Caclio CNI는 Kubernetes에서 Calico는 Pod에 IP를 할당하고, 각 Pod의 네트워크 트래픽을 관리합니다. 또한 네트워크 정책을 통해 Pod 간의 통신을 제어하고, 외부 트래픽과의 연결을 설정합니다. Component Architecture (공식 문서.. 2024. 9. 19.
K8s의 Memory? (RAM, Storage) Memory?많은 사람들이 메모리와 스토리지를 동일한 것으로 생각하기도 합니다. 아마 지칭하는 단위를 GB를 사용하기 때문이 아닐까 싶은데요.둘 다 용량을 나타내는 GB단위를 사용하는 이유는 기본적으로 용량을 측정하는 표준 단위이기 때문입니다. 엄연히 다른 Memory우리가 흔히 말하는 메모리에는 크게 RAM이라고 하는 휘발성 메모리, Storage라고 불리는 영구적 메모리 2가지가 존재합니다.  K8s의 Memory이 두 가지의 차이를 살펴보기 전에 먼저 Pod를 정의하는 manifest file에 선언하는 resource.limit.memory와 resource.request.memory는 무엇을 의미할까요?apiVersion: v1kind: Podmetadata: name: example-pods.. 2024. 8. 2.
Kubernetes common errors CrashLoopBackOff설명: 파드가 반복적으로 충돌하고 재시작합니다.문제 해결 방법 : 애플리케이션의 시작 및 초기화 코드를 조사합니다.명령어 # 파드 로그 확인kubectl logs # Pod 명세 확인kubectl describe pod  ImagePullBackOff설명: Kubernetes가 레지스트리에서 컨테이너 이미지를 가져올 수 없습니다.문제 해결 방법:이미지 이름과 태그를 확인합니다.이미지 레지스트리 자격 증명을 확인합니다.지정된 레지스트리에 이미지가 존재하는지 확인합니다. Pending Pods설명: 파드가 "Pending" 상태에 머물며 스케줄링되지 않습니다.문제 해결 방법:노드 자원 (CPU, 메모리)을 확인하여 충분한 용량이 있는지 확인합니다.노드 셀렉터 또는 어피니티를 사용.. 2024. 7. 29.
Kubernetes에서 DNS 다루는 방법 - 도메인을 찾아서 https://tv.naver.com/v/56456809 NAVER D2Kubernetes에서 DNS 다루는 방법 - 도메인을 찾아서tv.naver.com naver D2에서 소개된 Kubernetes에서 DNS 다루는 방법에 대한 영상 내용이 너무 좋아 블로그에 따로 정리하려고 합니다.Kubernetes DNS를 알아보게 된 계기K8s를 운영하던 중 클러스터 일부 노드들에서 특정 도메인에 대해 도메인 lookup이 되지 않는 현상이 발생했습니다. 원인을 살펴보니 해당 노드들의 네트워크 망 구성이 달라 서로 다른 nameserver를 이용하고 있었고 그로인해 특정 도메인을 찾지 못했습니다.  노드들의 nameserver는 변경할 수 없는 상황이에서 어떻게 특정 도메인에 대한 namespace만 다르게 설.. 2024. 7. 26.
[AEWS] 6-1. Amazon EKS - Security (EKS 인증/인가) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. 추가로 지난번 실습 때 진행했었던 ExternalDNS와 AWS LB Controller, EBS csi driver 설치, gp3 스토리지 클래스 생성까지 해주시고, Prometheus와 Grafana까지 설치합니다. EKS 인증/인가 쿠버네티스의 기본적인 인증/인가 방식은 service accont와 권한 범위를 담은 role, cluster role을 생성하고 해당 service account와 role, cluster role.. 2024. 4. 9.
[AEWS] 5-1. Amazon EKS - Autoscaling (HPA, KEDA, VPA) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. 추가로 지난번 실습 때 진행했었던 ExternalDNS와 AWS LB Controller, EBS csi driver 설치, gp3 스토리지 클래스 생성까지 해주시고, Prometheus와 Grafana까지 설치합니다. Autoscaling ChatGPT가 알려주는 Autoscaling Autoscaling은 컴퓨팅 리소스를 자동으로 조정하여 애플리케이션의 성능을 최적화하고 비용을 관리하는 기술입니다. 애플리케이션의 요구사항이 변할 .. 2024. 4. 1.
728x90