tencent cloud

Tencent Kubernetes Engine

소식 및 공지 사항
릴리스 노트
제품 릴리스 기록
제품 소개
제품 장점
제품 아키텍처
시나리오
제품 기능
리전 및 가용존
빠른 시작
신규 사용자 가이드
표준 클러스터를 빠르게 생성
Demo
클라우드에서 컨테이너화된 애플리케이션 배포 Check List
TKE 표준 클러스터 가이드
Tencent Kubernetes Engine(TKE)
클러스터 관리
네트워크 관리
스토리지 관리
Worker 노드 소개
Kubernetes Object Management
워크로드
클라우드 네이티브 서비스 가이드
Tencent Managed Service for Prometheus
TKE Serverless 클러스터 가이드
TKE 클러스터 등록 가이드
실습 튜토리얼
Serverless 클러스터
네트워크
로그
모니터링
유지보수
DevOps
탄력적 스케일링
자주 묻는 질문
클러스터
TKE Serverless 클러스터
유지보수
서비스
이미지 레지스트리
원격 터미널

Nginx Ingress 모범 사례

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2023-04-28 15:30:11

작업 시나리오

TKE는 Nginx-ingress 애드온 설치를 지원하고 이를 사용하여 Ingress 트래픽에 액세스합니다. Nginx-ingress에 대한 자세한 내용은 Nginx-ingress 설명을 참고하십시오. 본 문서는 Nginx-ingress 애드온의 모범 사례를 설명합니다.

전제 조건

Nginx-ingress 애드온을 설치합니다.

작업 단계

클러스터에 대한 여러 Nginx Ingress 트래픽 항목 열기

Nginx-ingress 애드온이 설치되면 kube-system 아래에 Nginx-ingress operator 애드온이 있습니다. 이 애드온을 사용하여 여러 Nginx Ingress 인스턴스를 생성할 수 있습니다. 각 Nginx Ingress 인스턴스는 서로 다른 IngressClass를 사용하고 서로 다른 CLB를 트래픽 항목으로 사용하므로 서로 다른 Ingress가 서로 다른 트래픽 항목에 바인딩될 수 있습니다. 실제 요구 사항에 따라 클러스터에 대해 여러 Nginx Ingress 인스턴스를 생성할 수 있습니다.
1. TKE 콘솔에 로그인하고 왼쪽 사이드바에서 클러스터를 클릭합니다.
2. 클러스터 관리 페이지에서 대상 클러스터의 ID를 클릭하여 클러스터 세부 정보 페이지로 이동합니다.
3. 왼쪽 사이드바에서 애드온 관리를 클릭하여 애드온 목록 페이지로 이동합니다.
4. 설치된 Nginx-ingress 애드온을 클릭하여 세부 정보 페이지로 이동합니다.
5. Nginx Ingress 인스턴스 추가를 클릭하여 필요에 따라 Nginx Ingress 인스턴스를 구성하고 각 인스턴스에 대해 다른 IngressClass 이름을 지정합니다.
설명
Nginx Ingress 인스턴스 설치에 대한 자세한 내용은 Nginx-ingress 인스턴스 설치를 참고하십시오.
6. Ingress를 생성할 때 특정 IngressClass를 지정하여 Ingress를 특정 Nginx Ingress 인스턴스에 바인딩할 수 있습니다. 콘솔 또는 YAML을 통해 Ingress를 생성할 수 있습니다.
콘솔을 통해 Ingress 생성
YAML을 통해 Ingress 생성
콘솔에서 Ingress를 생성하는 방법에 대한 자세한 내용은 Ingress 생성을 참고하십시오.
Ingress유형: Nginx 로드 밸런서를 선택합니다.
Class: 이전 단계에서 생성한 Nginx Ingress 인스턴스를 선택합니다.

YAML을 통해 수신을 생성하고 ingressClass의 annotation(kubernetes.io/ingress.class)을 지정하는 방법에 대한 자세한 내용은 Ingress 생성을 참고하십시오.


성능 최적화

CLB-to-Pod 다이렉트 액세스 모드

클러스터 네트워크 모드가 Global Router인 경우 CLB-to-Pod 다이렉트 액세스 모드는 기본적으로 활성화되지 않습니다. 다음 지침에 따라 CLB-to-Pod 다이렉트 액세스 모드를 활성화하는 것이 좋습니다.
1. 클러스터에 대해 VPC-CNI 모드를 활성화합니다.
2. Nginx Ingress 인스턴스를 생성할 때 CLB-to-Pod 다이렉트 액세스 모드 선택을 선택하여 트래픽이 NodePort를 우회하고 Pod에 직접 도달하여 성능을 향상시킬 수 있습니다.

설명
Nginx Ingress 인스턴스 설치에 대한 자세한 내용은 Nginx-ingress 인스턴스 설치를 참고하십시오.

LB 대역폭 제한 조정

트래픽 항목으로 LB에 더 높은 동시성 또는 처리량이 필요한 경우 Nginx Ingress 인스턴스를 생성할 때 실제 요구 사항을 기반으로 대역폭 제한을 설정하고 Nginx Ingress에 더 높은 대역폭을 할당할 수 있습니다.

Bill-by-CVM 계정(계정 유형 확인)이 있는 경우 대역폭 제한은 노드 대역폭에 따라 결정됩니다. 다음 조건에 따라 노드 대역폭 제한을 조정할 수 있습니다.
CLB-to-Pod 다이렉트 액세스 모드가 활성화된 경우 총 LB 대역폭은 Nginx Ingress 인스턴스 Pod가 위치한 노드의 대역폭 합계입니다. Nginx Ingress 인스턴스를 배포하기 위해 공중망 대역폭이 높은 일부 노드를 계획하는 것이 좋습니다(노드 풀을 DaemonSet으로 지정하여 배포).
CLB-to-Pod 다이렉트 액세스 모드가 활성화되지 않은 경우 LB의 총 대역폭은 모든 노드의 공중망 대역폭의 합계입니다.

Nginx-ingress 매개변수 최적화

Nginx Ingress 인스턴스는 기본적으로 커널 매개변수와 Nginx Ingress 구성을 최적화할 수 있습니다. 자세한 내용은 Nginx Ingress 높은 동시성 사례를 참고하십시오. 다음 지침을 참고하여 사용자 정의할 수 있습니다.
커널 매개변수 수정
Nginx Ingress 구성 수정
nginx-ingress-conntroller의 배포된 Daemonset 또는 Deployment(인스턴스 배포 옵션에 따라 다름)를 편집하고 아래와 같이 initContainers를 수정합니다(콘솔에서 kube-system 아래의 리소스는 수정할 수 없습니다. Kubectl을 사용하여 수정하십시오).

Nginx 구성 탭에서 수정할 인스턴스를 선택하고 YAML 편집을 클릭한 다음 아래와 같이 Nginx Ingress 인스턴스의 ConfigMap 구성을 수정합니다.

설명
ConfigMap 구성에 대한 자세한 내용은 공식 문서를 참고하십시오.


Nginx Ingress의 관찰 가능성 개선

로그 활성화

설명:
로그 구성은 CLS에 의존합니다. 사용 설정 방법은 Nginx-ingress 로그 구성을 참고하십시오.
Nginx Ingress 인스턴스를 생성한 후 인스턴스 세부 정보의 유지보수 기능 엔트리에서 인스턴스의 로그 구성을 활성화할 수 있습니다. 이는 아래와 같이 인스턴스의 상태 지표를 확인하고 문제를 해결하는 데 편리합니다.

주의사항:
v0.49.3 버전의 인스턴스에서 로그 수집의 검색 구성 파일은 LogConfig CRD 리소스 객체에서 찾을 수 있습니다. 이 리소스 객체를 수정한 후 해당 로그 수집 기능을 닫고/다시 열면 LogConfig 리소스 객체의 구성이 재설정됩니다. 이에 따라 리소스 객체의 데이터를 적시에 백업해야 합니다. Nginx Ingress 인스턴스 자체의 삭제 및 Nginx Ingress 애드온의 업그레이드는 해당 검색 구성 파일에 영향을 미치지 않습니다.
로그를 사용자 지정하려면 문서에 따라 구성하십시오.

로그 검색 및 로그 대시보드

로그 구성을 활성화한 후 Nginx Ingress 목록 페이지의 인스턴스 오른쪽에 있는 작업에서 자세히를 클릭하고 CLS에서 액세스 로그 확인 또는 액세스 로그 대시보드 보기를 선택할 수 있습니다.
CLS에서 액세스 로그 확인을 클릭하여 CLS로 이동하고 검색 및 분석에서 인스턴스에 해당하는 로그셋 및 항목을 선택하여 Nginx Ingress의 액세스 및 오류 로그를 확인합니다.
액세스 로그 대시보드 보기를 클릭하여 Nginx 인그레스 로그 데이터를 기반으로 통계를 표시하는 대시보드로 이동합니다.

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백