우리의 NGINX 포크
자세히: Tier: Free, Premium, Ultimate Offering: Self-Managed
우리의 NGINX 차트 fork는 GitHub에서 가져왔습니다.
NGINX 포크 조정
NGINX 포크에는 다음과 같은 조정사항이 있습니다:
-
tcp-configmap.yaml: 새로운tcpExternalConfig설정에 따라 선택 사항입니다. - 다른 차트에서 템플릿화된 TCP ConfigMap 이름 사용 가능
-
controller-configmap-tcp.yaml:.metadata.name은 템플릿ingress-nginx.tcp-configmap을 사용합니다. -
controller-deployment.yaml:.spec.template.spec.containers[0].args는 ConfigMap 이름으로ingress-nginx.tcp-configmap템플릿을 사용합니다. - GitLab 차트는
ingress-nginx.tcp-configmap을 재정의하여gitlab/gitlab-org/charts/gitlab-shell이 TCP 서비스를 구성할 수 있게 합니다.
-
- 릴리즈 이름을 기반으로 템플릿화된 Ingress 이름 사용 가능
-
controller.service.loadBalancerIP를externalIpTpl로 교체합니다(기본값은global.hosts.externalIP). - 공통 라벨을 추가하기 위해
common.labels구성 옵션을 지원합니다. -
controller-deployment.yaml:-
.spec.template.metadata.labels에podlabels및global.pod.labels추가
-
-
default-backend-deployment.yaml:-
.spec.template.metadata.labels에podlabels및global.pod.labels추가
-
- NGINX의 기본 노드 선택기 비활성화.
- PDB
maxUnavailable지원 추가. -
charts/nginx-ingress/templates/_helpers.tpl의 NGINX의isControllerTagValid도우미 제거 - autoscaling/v2beta2 및 autoscaling/v2 API 지원 추가 및 메모리 및 사용자 지정 지표 및 동작 구성을 지원하기 위해 HPA 설정 확장
- PodDisruptionBudget의 API 버전에 조건부 지원 추가
- 외부 및 내부(
controller.service.internal.enabled로 활성화된 경우) 서비스에 대해 독립적으로 GitLab Shell (SSH 액세스) 활성화/비활성화하기 위해 다음 boolean 추가:-
controller.service.enableShell. -
controller.service.internal.enableShell. (기존 차트 패턴controller.service.enableHttp(s)따름)
-
-
controller-serviceaccount.yaml에 템플릿 호출{{ include "ingress-nginx.automountServiceAccountToken" . }}추가 -
_helpers.tpl에 템플릿 추가:{{/* 쿠버네티스에 의해 기본 ServiceAccount 토큰을 마운트해야 하는지 여부 설정 기본값은 'true' */}} {{- define "ingress-nginx.automountServiceAccountToken" -}} automountServiceAccountToken: {{ pluck "automountServiceAccountToken" .Values.serviceAccount .Values.global.serviceAccount | first }} {{- end -}} -
default-backend-serviceaccount.yaml에 템플릿 호출{{ include "ingress-nginx.defaultBackend.automountServiceAccountToken" . }}추가 -
_helpers.tpl에 템플릿 추가:{{/* 쿠버네티스에 의해 기본 ServiceAccount 토큰을 마운트해야 하는지 여부 설정 기본값은 'true' */}} {{- define "ingress-nginx.defaultBackend.automountServiceAccountToken" -}} automountServiceAccountToken: {{ pluck "automountServiceAccountToken" .Values.defaultBackend.serviceAccount .Values.global.serviceAccount | first }} {{- end -}} - Pod 보안 표준 프로필 Restricted를 준수하기 위해 다음 속성 추가:
-
controller-deployment.yamlspec.template.spec.containers[0].securityContext.runAsNonRootspec.template.spec.containers[0].securityContext.seccompProfile
-
-
새로운 RBAC 규칙 추가. 차트가 4.0.6 버전인 동안 필요하지만, 컨트롤러 이미지를 1.11.2로 업데이트했습니다. 차트를 4.11.2로 가져올 때 이 패치를 삭제할 수 있습니다. 컨트롤러는 이제 엔드포인트를 추적하기 위해 endpointslices를 사용하므로 이것을 추가해야 합니다. 다음 위치에 추가되었습니다:
charts/nginx-ingress/templates/clusterrole.yamlandcharts/nginx-ingress/templates/controller-role.yaml:- apiGroups: - discovery.k8s.io resources: - endpointslices verbs: - list - watch - get또한 v1.3.1에서 v1.11.2로의 마이그레이션을 지원하기 위해 자체 RBAC 규칙을 설정하는 사용자에게 필요합니다. 이 값은 v1.3.1fallback을 삭제한 후에 제거될 것이며, 이는 8.8 릴리즈에 예정되어 있습니다.
controller: image: fallbackTag: "v1.3.1" fallbackDigest: "sha256:54f7fe2c6c5a9db9a0ebf1131797109bb7a4d91f56b9b362bde2abd237dd1974" disableFallback: false
도움말