以下是一个使用 networking.k8s.io/v1
和不共享 IP 地址的 Ingress 示例,用于将流量路由到名称为 argocd-server
的 Kubernetes 服务:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: argocd-server-ingress
annotations:
kubernetes.io/ingress.class: traefik # 指定使用 Traefik Ingress Controller 处理此 Ingress 对象
spec:
rules:
- host: argocd.example.com # 定义主机名,可以根据需要修改或删除该行
http:
paths:
- path: /
pathType: Prefix # 指定要匹配的 URL 前缀类型(在此示例中假设使用前缀匹配)
backend:
service:
name: argocd-server # 指定要路由到的服务名称
port:
name: http # 指定服务中要使用的端口名称(在此示例中假设服务使用 HTTP 协议)
这个配置文件定义了一个名为 argocd-server-ingress
的 Ingress 资源,并设置了一些必需和可选字段。其中,kubernetes.io/ingress.class
注解指定了要使用的 Ingress 控制器。
请注意,该配置文件没有指定共享 IP 地址。相反,它将自动分配一个 IP 地址,并将其绑定到 Traefik 配置的负载均衡器上。
您需要根据自己的网络环境和需求来调整这个 YAML 文件。例如,您可能需要更改主机名、IP 配置或其他属性。
请注意,为了使用此配置文件,您需要在 Kubernetes 集群上启用 networking.k8s.io/v1
API 版本,并安装和配置 Traefik Ingress Controller。