当前位置: 首页 > news >正文

记录一下_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。

相关文章:

  • MySQL数据库——表的约束
  • 数据库驱动免费下载(Oracle、Mysql、达梦、Postgresql)
  • 【DeepSeek】-macOS本地终端部署后运行DeepSeek如何分析图片
  • Ollama Docker 镜像部署
  • IEEE官方期刊缩写查询pdf分享
  • Spring MVC的基本概念
  • 【编程语言】委托与函数指针
  • Java 中 HTTP 协议版本使用情况剖析
  • 数字后端实现之Innovus中open net原因解析及解决方案
  • 硬编码(二)经典定长指令二
  • 自然语言处理NLP 04案例——苏宁易购优质评论与差评分析
  • Vue 和 React 的异同点
  • TTL和CMOS的区别【数电速通】
  • web网站接入Google Analytics
  • 晶闸管的串联使用
  • PyTorch-基础(CUDA、Dataset、transforms、卷积神经网络、VGG16)
  • python入门到精通,python入门基础语法,小白python入门教程
  • MySQL数据库(7)—— 内置函数
  • Screen Wonders for Mac v3.3.1 3D屏保应用 支持M、Intel芯片
  • spring笔记
  • wordpress迅雷插件下载/seo工具包括
  • 卡盟怎么做网站/微商软文推广平台
  • 网站外链建设工作计划/个人网页设计作品模板
  • 怀化 优化生育政策/seo整站优化哪家好
  • 温州做网站费用/东莞做网站优化
  • 学习网站建设的是什么专业/网站维护的内容有哪些