记录一下_treafik使用Gateway-APi使用的细节参数

一、这里说一下treafik最大的容易走入圈套的地方。

1、treafik默认不是hostnetwork模式。为了暴露自己出来它有一个LB类型的SVC。

这里的External_ip为我的节点IP,因为使用了k3s自带的LB,这个SVC就很容易绕进去。

1、第一个这个LB的作用是为了暴露treafik给集群外的Client访问使用。

2、这里的80和443是占用了External_ip为我的节点IP的80和443.

3、以及对应的30285和32299都是占用了节点IP的端口。

4、相当于浪费了两个端口。

5、正常如果是hostnetwork模式就没有这个问题。

二、gateway的配置。

*这里的端口8443对应是配置treafik中POD的监听端口:

websecure: # 用于 Gateway
port: 8443
protocol: TCP

*这里的工作流是这样的:

1、通过gatewayclass找到 traefik.

2、通过label找到treafik

3、然后把gateway配置文件丢给treafik进行处理。

复制代码
ip-172-27-183-66:~/harbor/istio # cat harbor-gateway.yaml
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: harbor-gateway
  namespace: harbor
spec:
  gatewayClassName: traefik
  listeners:
  - name: https
    port: 8443
    protocol: HTTPS
    hostname: "k8s.kox xne"
    tls:
      mode: Terminate
      certificateRefs:
      - kind: Secret
        name: k8s.koxxxxxline
    allowedRoutes:
      namespaces:
        from: Same

三、helm参数

复制代码
deployment:
  podAnnotations:
    prometheus.io/port: "8082"
    prometheus.io/scrape: "true"
global:
  systemDefaultRegistry: ""
image:
  repository: rancher/mirrored-library-traefik
  tag: 3.3.2
priorityClassName: system-cluster-critical
providers:
  kubernetesIngress:
    enable: false
    publishedService:
      enabled: true
    nativeLBByDefault: true
  kubernetesGateway: 
    enabled: true
    nativeLBByDefault: true #打开则通过svc再L B一次,默认false 直接到pod
gateway:
  enabled: true
  listeners:
    web:  # 用于 Gateway
      port: 8000
      protocol: TCP
    websecure:  # 用于 Gateway
      port: 8443
      protocol: TCP 

service:
  ipFamilyPolicy: PreferDualStack
tolerations:
- key: CriticalAddonsOnly
  operator: Exists
- effect: NoSchedule
  key: node-role.kubernetes.io/control-plane
  operator: Exists
- effect: NoSchedule
  key: node-role.kubernetes.io/master
  operator: Exists

四、重点istio

**istio的gateway提供会自动生成一个lb的svc。**这么做就相当于直接把服务暴露到外面,特别适合和公有云集成特别好的场景。一个业务自动一个LB。

相关推荐
半旧夜夏1 天前
【Gateway】服务调用和网关配置攻略
java·spring boot·spring cloud·gateway
小坏讲微服务2 天前
Nginx集群与SpringCloud Gateway集成Nacos的配置指南
spring boot·nginx·spring cloud·gateway
小坏讲微服务2 天前
使用 Spring Cloud Gateway 实现集群
java·spring boot·分布式·后端·spring cloud·中间件·gateway
没有bug.的程序员2 天前
Spring Cloud Gateway 路由与过滤器机制
java·开发语言·spring boot·spring·gateway
serendipity_hky3 天前
【微服务 - easy视频 | day01】准备工具+gateway网关及路由至内部服务
java·微服务·架构·gateway·springcloud
三口吃掉你7 天前
微服务之网关(Spring Cloud Gateway)
java·网关·微服务·gateway
余衫马8 天前
微服务SpringCloud报错合集
spring boot·gateway
Zz_waiting.8 天前
统一服务入口-Gateway
java·开发语言·gateway
菲兹园长9 天前
微服务组件(E、L、N、O、G)
linux·服务器·gateway
tuokuac12 天前
依赖spring-cloud-starter-gateway与spring-cloud-gateway-dependencies的区别
java·gateway