728x90
kubectl get ing 로 ingress 자원을 확인하면 아래와 같은 경고메시지가 뜨는 경우가 있다.
Warning: extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
대충 해석해보며 ingress 에 apiVersion 중 extensions/v1beta1 는 1.14 버전에 deprecated 되었고 1.22 버전부터는 사용할 수 없으니 networking.k8s.io/v1 로 변경하라는 것 같다.
수정하는 것은 어렵지 않으니 수정하고 적용을 했는데 아래와 같은 오류가 났다.
error validating data: [ValidationError(Ingress.spec.rules[0].http.paths[0].backend): unknown field "serviceName" in io.k8s.api.networking.v1.IngressBackend, ValidationError(Ingress.spec.rules[0].http.paths[0].backend): unknown field "servicePort" in io.k8s.api.networking.v1.IngressBackend]; if you choose to ignore these errors, turn validation off with --validate=false
serviceName, servicePort 필드를 해석할 수 없단다. 단순히 기능만 변경된게 아니라 yaml 작성 포맷도 바뀐 모양이다. 예전에 apiVersion 으로 extensions/v1beta1 를 사용할 때는 ingress를 아래와 같이 정의했다.
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ing
spec:
rules:
- host: local.test.com
http:
paths:
- path: /
backend:
serviceName: test-svc
servicePort: http
networking.k8s.io/v1 부터는 아래와 같이 작성해야 한다.
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ing
spec:
rules:
- host: sandbox-inms.melon.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: melon-inms-api-svc
port:
name: http
pathType 이 추가되었고 backend 부분 정의 방법이 변경되었다. 더 자세한 내용은 공식 홈페이지를 참고하자.
https://kubernetes.io/ko/docs/concepts/services-networking/ingress/
728x90
'Backend > Docker, Kubernetes' 카테고리의 다른 글
StatefulSet (0) | 2022.08.29 |
---|---|
[Kubernetes] Graceful Shutdown (0) | 2022.04.22 |
ingress 413 Request Entity Too Large (0) | 2022.01.18 |
kubectl panic: runtime error: index out of range .. with length .. [recovered] (0) | 2022.01.12 |
docker-compose 로 로컬 카프카 띄우기 (0) | 2021.12.30 |