본문 바로가기

k8s7

[KANS] Pod - pause container 더보기이 스터디는 CloudNet@에서 진행하는 KANS 스터디를 참여하면서 공부하는 내용을 기록하는 블로그 포스팅입니다.CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다. Podpod란?https://kubernetes.io/docs/concepts/workloads/pods/ PodsPods are the smallest deployable units of computing that you can create and manage in Kubernetes. A Pod (as in a pod of whales or pea pod) is a group of one or more containers, with shared storage and network resources, and a spe.. 2024. 9. 5.
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] 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.
[AEWS] 2-4. Amazon EKS Networking - Ingress 사전 준비 더보기 위와 같이 사전 준비가 필요합니다. 저번 글에서 설명했듯이, EKS를 배포하기 위한 VPC를 생성하고, Public Subnet, Private Subnet을 생성합니다. 그 후 EKS Cluster에 접근하기 위한 bastion EC2를 미리 생성합니다. Ingress ChatGPT가 알려주는 Ingress Ingress는 클러스터 외부에서 내부의 서비스로 HTTP와 HTTPS 트래픽을 관리하는 방법을 제공하는 API 객체입니다. 즉, Ingress를 사용하면 외부 요청을 적절한 서비스로 라우팅 할 수 있으며, 단일 IP 주소를 통해 클러스터 내의 여러 서비스에 접근할 수 있게 됩니다. 이는 특히 웹 애플리케이션에 유용하며, 로드 밸런싱, SSL 종료, 이름 기반의 가상 호스팅 등을 .. 2024. 3. 13.
좌충우돌 AWS EKS NodeGroup EC2 Type 전환기 개요 현재 AWS EKS를 이용하여 K8s 를 구축하고 운영하고 있습니다. 하지만 최근들어 신규 서비스도 런칭하고, 배포해야 할 Pod 수도 늘어나고, 여러 가지 devops 관련 pod를 구축하고 싶어 프로젝트로 일정을 수립하고 진행하고 있던 와중 Pod가 정상적으로 생성되지 않는 현상이 발생했습니다..! 찾아보니 EKS Workernode로 사용중인 EC2 Instance 의 Memory 의 용량이 부족하여 Pod를 띄울 수 없었습니다. 적절한 EC2 Instance Type을 찾아보자! 제가 처음 고려했던 Type은 현재쓰고 있는 다음 크기의 EC2 였습니다. As-Is : t3.xlarge To-Be : t3.2xlarge 타입 비교 vCPU* 메모리(GiB) 네트워크 성능(Gbps)*** 최대 .. 2023. 8. 14.
fluent-bit를 활용한 Metric Data 수집하기 들어가며 kubernetes를 상용으로 운영하기 전 CPU나 system에 대한 Metrics Data를 수집하고 시각화하여 원활한 운영을 해야할 필요가 있었습니다. 현재 EFK Stack으로 logging system을 구축해놓았었는데, 그 중 fluent-bit를 활용하여 metrics data를 수집하는 방법에 대해 다뤄보려고 합니다. CPU Metric fluent-bit의 input plugin중 cpu는 기본적으로 프로세스 혹은 전체 시스템의 CPU 사용량을 측정합니다. 설정된 시간에 대해 백분율 단위로 수집되며 현재 이 plugin은 linux에서만 사용하실 수 있습니다. key key name description cpu_p 이 값은 사용자 및 커널 공간에 소요된 사간 대비 전체 시스템의 .. 2023. 4. 26.
728x90