title: **"**Kubernetes Gateway API로 Ingress 교체하기**"**
description: "Kubernetes Gateway API로 Ingress 교체하는 방법에 대해 논한다. 특히 KinD 환경에 대해 중점적으로 다룬다.**"**
cleanUrl: /sw-engineer/replace-ingress-into-gatewayapi
ogImage: "<https://anyflower.notion.site/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F7570d2fc-66b1-4e23-bb3c-ff7b56842b0d%2F22c8cf98-649c-42df-b1a1-ee2a05d6c43e%2FUntitled.png?table=block&id=ec5b5cfe-443f-49bc-84d1-5885e6ed8801&spaceId=7570d2fc-66b1-4e23-bb3c-ff7b56842b0d&width=2000&userId=&cache=v2>"
floatFirstTOC: right
Kubernetes Gateway API에서의 traffic 전달 논리 구조
Ingress + API Gateway = Kubernetes Gateway API 에서의 논의에 따라 기존 Ingress를 Kubernetes Gateway API로 교체하는 방법을 요약한다. Kubernetes Gateway API 설치는 다음의 문서에 근거한다.
<aside> 💡 본 글은 My Cluster - Home k8s cluster 프로젝트의 일환으로, 아래는 여기서 사용한 코드를 포함한 이 프로젝트의 Github 링크이다.
</aside>
istiod
만 설치하면 된다.GatewayClass
, Gateway
리소스 설치 부분을 제외하고는 클라우드 환경과 동일하다.port 충돌을 막기 위하여 기 설치된 ingress controller를 삭제한다. 한편 ingress resource는 그대로 두어도 무방하다.
kubectl get crd gateways.gateway.networking.k8s.io &> /dev/null || \\
{ kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd?ref=v0.8.0" | kubectl apply -f -; }