본문 바로가기
728x90

kubernetes28

[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.
[AEWS] 4-2. Amazon EKS - Observability (Prometheus) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. 추가로, 지난번 실습 때 진행했었던 ExternalDNS와 AWS LB Controller, EBS csi driver 설치, gp3 스토리지 클래스 생성까지 해주셔야합니다. 이번 포스팅에는 이전에 포스팅했던 블로그 글 에서 많이 인용하였습니다. Prometheus Prometheus란? Prometheus는 SoundCloud에서 처음 개발된 오픈 소스 시스템 모니터링 및 알림 툴킷입니다. 2012년에 시작된 이후로 많은 회사와 조.. 2024. 3. 29.
[AEWS] 3-1. Amazon EKS - Storage (EBS, EFS) 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다 Kubernetes Storage Pod는 stateful하게 관리되는 리소스가 아니고 상태가 없는(Stateless) 애플리케이션이기 때문에 영구 스토리지가 없으면 Pod가 충돌하거나 종료되고, Pod의 데이터는 손실됩니다. 하지만 DB나 여러가지 데이터를 담고 있는 컨테이너들을 Pod로 만들어야 할 때 그 데이터들을 영구적으로 보존되게 해야 합니다. Kubernetes에서 Volume이라는 형태의 Storage 리소스를 제공하는데,.. 2024. 3. 19.
[AEWS] 2-5. Amazon EKS Networking - ExternalDNS 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. ExternalDNS ChatGPT가 알려주는 ExternalDNS Kubernetes 클러스터 내의 서비스나 Ingress 리소스가 변경될 때 자동으로 DNS 레코드를 생성하거나 업데이트하는 역할을 합니다. 즉, K8s Serivce나 Ingress 생성 시 도메인을 설정하면, AWS(Route 53), Azure(DNS), GCP(Cloud DNS)에 A 레코드(TXT 레코드)로 자동으로 생성 및 업데이트 해주는 service t.. 2024. 3. 14.
728x90