본문 바로가기

kubernetes20

Kubernetes 리소스 정의하는 apply, edit, patch 다양한 해결방법 Kustomize는 Kubernetes 객체의 CLI 구성 관리자로, 레이어링을 활용하여 애플리케이션의 기본 설정을 보존합니다. 이는 원본 매니페스트를 실제로 수정하지 않고도 선언적 YAML 아티팩트를 오버레이하여 기본 설정을 덮어쓰는 방식으로 이루어집니다. Kustomize는 또한 kubectl과 통합되어 있습니다. Kustomize는 Kubernetes 리소스 및 필드를 인식하며 다른 도구들과 달리 단순한 텍스트 템플릿 솔루션이 아닙니다. Kustomize를 사용하면 하나의 기본 파일을 모든 환경 (개발, 스테이징, 프로덕션 등)에서 재사용하고 각 환경에 대한 오버레이 사양을 적용할 수 있습니다. 또한 Kustomize는 Helm 및 Argo CD와 같은 CD 솔루션과 함께 사용할 수 있습니다. Ku.. 2023. 12. 5.
Nginx Ingress Controller Backend HTTP and HTTPS 서비스 혼합(both) NGINX Ingress 컨트롤러를 사용 중이라면, nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"은 작동하지 않습니다. 그러나 nginx.org/ssl-services는 백엔드에서 TLS를 필요로 하는 서비스를 선택할 수 있게 해줍니다. 이름이 혼동스러울 수 있어서 실제 목적을 깨닫기까지 시간이 걸릴 수 있습니다. 이것은 NGINX 하부에서 사용되는 표준 Kubernetes Ingress 컨트롤러에서는 작동하지 않으며, NGINX 원본 컨트롤러에서만 작동합니다. 참고: https://docs.nginx.com/nginx-ingress-controller/configuration/ingress-resources/advanced-configuration-wi.. 2023. 12. 4.
외부이름(ExternalName) 서비스를 지원하는 Ingress Controller Ingress Controller는 ExternalName 유형의 서비스로의 요청 라우팅을 지원합니다. ExternalName 서비스는 주로 클러스터 외부의 IP 주소로 해석되는 외부 DNS 이름에 의해 정의됩니다. 이를 통해 Ingress Controller를 사용하여 클러스터 외부의 대상으로 요청을 라우팅할 수 있습니다. 참고: 이 기능은 NGINX Plus에서만 사용할 수 있습니다. 전제 조건 ExternalName 서비스를 사용하려면 먼저 ConfigMap을 사용하여 하나 이상의 리졸버를 구성해야 합니다. NGINX Plus는 이러한 리졸버를 사용하여 서비스의 DNS 이름을 해석합니다. 다음은 리졸버를 구성하는 예시 ConfigMap입니다. kind: ConfigMap apiVersion: v1 .. 2023. 12. 3.
Kubernetes 환경에 Elasticsearch, Kibana 및 기타 Elastic 제품 구성 Elasticsearch, Kibana 및 기타 Elastic 제품을 관리하기 위한 Elastic Cloud on Kubernetes (ECK)를 설치하는 과정을 안내합니다. 아래는 주요 단계들을 정리한 것입니다. 전제 조건 Kubernetes 클러스터가 이미 실행 중이어야 합니다. ECK 설치 전에 지원되는 버전을 확인하세요. GKE를 사용하는 경우 사용자가 cluster-admin 권한을 가지고 있어야 합니다. Amazon EKS를 사용하는 경우 Kubernetes 제어 평면이 포트 443에서 Kubernetes 노드와 통신할 수 있도록 허용되어야 합니다. Custom Resource Definitions(CRDs) 설치:Elastic 관련 CRDs가 생성됩니다. kubectl create -f ht.. 2023. 12. 2.
Docker 환경 Container를 Kubernetes 환경으로 이전하는 과정 간단한 Flask 어플리케이션을 Docker에서 Kubernetes로 이전하는 과정을 정리했습니다. 도커 이미지 수정 기존 Dockerfile에서 필요한 라이브러리 및 환경 설정을 추가하거나 수정한다. FROM python:3.8 WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . CMD ["python", "app.py"] Kubernetes 매니페스트 파일 작성 deployment.yaml 및 service.yaml 파일을 작성한다. # deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: flask-app sp.. 2023. 11. 29.