반응형
클러스터 IP 서비스가 있고 기본 nginx가 있는 kubernetes 수신 컨트롤러가 예상대로 작동하지 않음
7개의 노드를 가진 쿠버네티스 베어 메탈 클러스터가 있다. 조타 장치 설치 및 조타 장치 추가
- ingress-nginx 내 랜에서 내 랜에서 해결 가능한 DNS A 레코드를 만들었다.
효과적인 기능:
나는 이전에 언급한 dns A 레코드의 사과와 바나나 위치에 접근할 수 있다.
포트 80과 cluster-ip 유형의 서비스를 사용하여 기본 nginx 이미지를 배포하는 경우 다음 nginx-ingress 리소스가 작동하지 않음
kubectl run nginx --image=nginx ; kubectl exposed pod nginx --port=80
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-test
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: kubernetes.somename.lan
http:
paths:
- path: /test
pathType: Prefix
backend:
serviceName: nginx
servicePort: 80
나는 로그에서 파일이 nginx-ingress 이미지에 배포되고 있는 것을 보고 있는데, 사과와 바나나 입력 항목과 비교했을 때 이상한 것은 보이지 않는다. 내가 생각할 수 있는 유일한 차이점은 입력 컨트롤러와 nginx 이미지가 포트 80을 사용한다는 것이다
그래서 내가 필요한 것은 내가 접속할 때, 나는 nginx 서버의 자리 표시자(nginx 서비스로 접속할 수 있음)에 도달할 것이다
경로/테스트에서 A dns 레코드의 nginx에 액세스하려면 어떻게 해야 합니까?
포드가 경로를 구분하지 않으므로 제공된 사과/바나나 예제가 작동하고 있습니다. 경로 변경에 반응하지 않습니다(경로 무시). 반면에 그것은 정반대이다.
블로그에 주석이 잘못되어 접두사가 누락되었습니다. 이것은 당신이 사용한 것입니다:
ingress.kubernetes.io/rewrite-target
그리고 이것은 정확한 것이다:
nginx.ingress.kubernetes.io/rewrite-target
좋아요, 조사한 후에 저는 이것을 해결하는 방법을 알아냈어요. 이것이 누구에게 도움이 되기를 바란다
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-precious
annotations:
nginx.org/rewrites: "serviceName=nginx-ingress rewrite=/;"
spec:
rules:
- host: kubernetes.somelan.lan
http:
paths:
- path: /test1
backend:
serviceName: nginx-ingress
servicePort: 80
반응형
'개발하자' 카테고리의 다른 글
쿠베르네테스의 HPA와 ReplicaSet는 어떤 관계인가요? (0) | 2023.06.27 |
---|---|
잘못된 for_each 인수로 테라폼 실패 / 지정된 "for_each" 인수 값이 적합하지 않습니다 (0) | 2023.06.27 |
축소자와 유형 스크립트 결합에서 "유형 인수를 'ReduersMapObject' 유형의 매개 변수에 할당할 수 없습니다." 오류를 반환합니다 (0) | 2023.06.26 |
HTTPS 포트를 열려면 Kubernetes 인스턴스 템플릿 변경 (0) | 2023.06.25 |
Python을 사용하여 PDF에서 고해상도 이미지 추출 (0) | 2023.06.25 |