Gateway API 주소 지원

Gateway API 주소 지원 (Gateway API Addresses Support)

Cilium Gateway는 Gateway API 스펙에서 제공하는 Addresses를 지원해요. spec.addresses 필드는 gateway의 IP 주소를 지정하는 데 사용돼요.

출처: Gateway API Addresses Support

본문

Cilium Gateway는 Gateway API 스펙이 제공하는 Addresses를 지원해요. spec.addresses 필드는 gateway의 IP 주소를 지정하는 데 사용돼요.

참고

이 기능은 IPAddress 유형의 주소만 지원하며, LB-IPAM과 함께 동작해요. 자세한 내용은 LoadBalancer IP Address Management (LB IPAM) 문서를 참고해주세요.

apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: my-gateway
spec:
  addresses:
  - type: IPAddress
    value: 172.18.0.140
  gatewayClassName: cilium
  listeners:
  - allowedRoutes:
      namespaces:
        from: Same
    name: web-gw
    port: 80
    protocol: HTTP

위 구성의 출력은 다음과 같아요:

$ kubectl get gateway my-gateway
NAME         CLASS    ADDRESS        PROGRAMMED   AGE
my-gateway   cilium   172.18.0.140   True         2d7h

이미 spec.infrastructure.annotations에서 io.cilium/lb-ipam-ips를 사용해 IP를 지정하고 있다면, spec.addresses 필드는 무시돼요.

apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: my-gateway
spec:
  infrastructure:
    annotations:
      io.cilium/lb-ipam-ips: "172.18.0.141"
  addresses: # This will be ignored
  - type: IPAddress
    value: 172.18.0.140
  gatewayClassName: cilium
  listeners:
  - allowedRoutes:
      namespaces:
        from: Same
    name: web-gw
    port: 80
    protocol: HTTP

위 구성의 출력은 다음과 같아요:

$ kubectl get gateway my-gateway
NAME         CLASS    ADDRESS        PROGRAMMED   AGE
my-gateway   cilium   172.18.0.141   True         2d7h

참고

향후 어느 시점에 io.cilium/lb-ipam-ips의 사용이 더 이상 사용되지 않을(deprecate) 예정이고, 그 이후로는 spec.addresses가 설정되지 않으면 이 어노테이션은 무시될 거예요. 두 경우 모두 Cilium agent 로그에 경고 로그가 추가되고, Gateway에는 경고 Condition이 배치돼요.

더 알아보기 (Learn more)