반응형
반응형
Kubernetes CRD란? Custom Resource Definition 구조와 동작 원리 상세 정리Kubernetes를 운영하다 보면 Deployment, Service, Pod, ConfigMap과 같은 기본 리소스 외에도Gateway, HTTPRoute, Certificate,VerticalPodAutoscaler 등 다양한 리소스를 접하게 됩니다.이 중 일부 리소스는 Kubernetes에 처음부터 내장되어 있는 것이 아니라,별도의 API 또는 CRD(Custom Resource Definition)를 통해 Kubernetes API를 확장하여 제공됩니다.CRD를 이해하면 Kubernetes에서 Controller와 Operator가 어떻게 동작하는지,그리고 Rancher, Prometheus..
Kubernetes HPA VPA 차이와 장단점 총정리Kubernetes 환경에서 애플리케이션을 운영하다 보면 트래픽 증가나 CPU 및 Memory 사용량 변화에 따라Pod의 개수를 늘리거나 각 Pod에 할당된 리소스를 조정해야 하는 상황이 발생합니다.이를 자동화하기 위해 Kubernetes에서는 대표적으로HPA(Horizontal Pod Autoscaler)와VPA(Vertical Pod Autoscaler)를 사용할 수 있습니다.두 기능 모두 Kubernetes의 Autoscaling을 위한 기능이지만 확장 방식에는 큰 차이가 있습니다.HPA = Pod 개수를 늘리거나 줄인다.VPA = Pod 하나에 할당되는 CPU / Memory 리소스를 조정한다.즉 HPA는 Scale Out / Scale In,..
Kubernetes NodePort 환경에서 NGINX Gateway Fabric 외부 통신 구조 Kubernetes에서 NGINX Gateway Fabric을 사용하고 외부 노출 방식을 NodePort로 구성했다면, 외부 사용자가 Gateway의 80/443 포트에 직접 접근하는 구조가 아니다. 외부 트래픽은 먼저 Kubernetes Worker Node의 IP와 NodePort로 들어온 뒤, Kubernetes Service를 통해 NGINX Gateway Fabric으로 전달된다. 1. 전체 통신 구조 외부 사용자 / 외부 서버 │ │ HTTP / HTTPS ▼Kubernetes Worker Node(Node IP) ..
Ingress-NGINX에서 NGINX Gateway Fabric으로 전환하는 전체 작업 절차Kubernetes 환경에서 기존 Ingress-NGINX를 사용하고 있다면Gateway API 기반의 NGINX Gateway Fabric으로 전환할 때단순히 Controller만 교체하는 방식으로 접근해서는 안 된다.기존 Ingress의 Host, Path, Service 연결, TLS, Annotation 등을 분석한 뒤Gateway, HTTPRoute 및 NGINX Gateway Fabric Policy로 각각 변환하고,신규 경로를 기존 환경과 병행 구축하여 검증한 후 실제 트래픽 진입점을 변경하는 방식으로 진행해야 한다.핵심 전환 개념기존 Service, Endpoint, Application Pod는 ..
Rancher Single에서 RKE2 3-Node HA 구성 전환 및 장애 복구 대응 기존 Docker 기반 Single Rancher 환경은 Rancher 관리 서버 자체에 장애가 발생할 경우 관리 서비스에 영향을 받을 수 있다. 이를 개선하기 위한 방안으로 RKE2 3-Node 기반 Rancher HA 구조를 구성하고, 각 Rancher Node를 서로 다른 가상화 호스트에 분산 배치하는 방안을 고려할 수 있다. 구성 방향 기존 Docker Single Rancher → RKE2 3-Node → Rancher HA → LB/VIP 단일 접속 구조 1. AS-I..
Kubernetes Rancher에서 Init:ImagePullBackOff 발생 원인과 확인 방법 Rancher에서 Kubernetes 클러스터의 Worker Node 또는 Pod 상태를 확인하다 보면 Init:ImagePullBackOff 상태와 함께 다음과 같은 메시지가 표시될 수 있습니다. Init:ImagePullBackOffcontainers with incomplete status: [init-kubeconfig-volume] 이 상태는 일반적으로 Pod의 메인 컨테이너가 문제가 아니라, 먼저 실행되어야 하는 Init Container의 이미지를 가져오지 못하고 있다는 의미입니다. Kubernetes에서 Init Container는 애플리케이션 컨테이너보다 먼저 실행되며, 모든 Init..