K8s-ingress-domain

基础环境信息

飞塔防火墙版本:FortiGate-100F

kubernates版本: v1.26.4

k8s界面工具kuboard:v3.5.2.4

网络架构图:

graph LR
C[域名] -->|解析| A[移动光猫]
A -->|LAN| B(飞塔防火墙)
B -->|虚拟ip| E[K8S的Ingress]
E -->|域名匹配| F[应用路由]

飞塔防火墙配置步骤:

  1. 策略&对象->虚拟IP->新建

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ---------------------新建配置1------------------------------
    虚拟IP/服务器: k8s_ingress_https
    接口: 移动出口2 (port1)
    映射自: 17.176.159.182(移动光猫的外网ip)
    映射的IP地址/范围: 172.16.10.44(k8s任意一个节点的ip)
    外部服务端口: TCP 443 (移动光猫外网端口,需要备案)
    映射到端口: 443 (ingress对应的端口)
    ----------------------新建配置2------------------------------
    虚拟IP/服务器: k8s_ingress_http
    接口: 移动出口2 (port1)
    映射自: 17.176.159.182(移动光猫的外网ip)
    映射的IP地址/范围: 172.16.10.44(k8s任意一个节点的ip)
    外部服务端口: TCP 80 (移动光猫外网端口,需要备案)
    映射到端口: 80 (ingress对应的端口)
  2. 配置https证书(可选-废弃,后面在k8s进行管理证书,这里管理比较麻烦)

    • 系统管理->证书->新建->证书->导入证书->证书->上传申请的免费证书

    • 安全配置文件->SSL/SSH检测->新建

    1
    2
    3
    名称: k8s_ingress_ssl
    启用SSL检测: 保护SSL服务器
    服务器证书:上一步上传的证书
  3. 策略&对象->虚拟IP->新建

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    名称: k8s_ingress
    流入接口: 移动出口2
    流出接口: lan
    源地址: all
    目标地址: k8s_ingress_https,k8s_ingress_http(上一步的两个虚拟ip)
    计划任务: always
    服务: ALL
    启用NAT: 关闭
    SSL检测: no-inspection(如果要配置证书,在这里进行关联k8s_ingress_ssl)
    策略过期:关闭

k8s-ingress配置

  1. 新建应用路由,配置成阿里云购买的域名,并在阿里云上面做域名解析,解析到k8s的ingress所在的节点ip端口上,开启https证书,上传申请的免费证书