k8s v1.35配置gateway, istio通过metalb vip访问

K8S V1.35新版已经不支持ingress了,所以要用istio代替。本文记录安装设置过程,供大家参考学习。

安装istio

  1. 下载
    https://github.com/istio/istio/releases 下载并解压
  2. 安装
    执行命令
sh 复制代码
./bin/istioctl install --set profile=default -y

Gateway api 安装

sh 复制代码
kubectl apply --server-side -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.1/standard-install.yaml

部署应用

yaml 复制代码
---
# 1.业务service
apiVersion: v1
kind: Service
metadata:
 name: tmp-gateway-service
 namespace: irmp-prod
spec:
 ports:
   - port: 8080
     targetPort: 8080
 selector:
   app: tmp-gateway
 type: ClusterIP

# 2. Gateway - 让 Istio 自动创建 Service
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
 name: tmp-gateway-gw
 namespace: irmp-prod
spec:
 gatewayClassName: istio
 listeners:
   - name: default
     hostname: "*.irmp.com"
     port: 80
     protocol: HTTP
     allowedRoutes:
       namespaces:
         from: All
---
# 3. HTTPRoute
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
 name: gw-httproute
 namespace: irmp-prod
spec:
 parentRefs:
   - name: tmp-gateway-gw
 hostnames:
   - "gw.irmp.com"
 rules:
   - matches:
       - path:
           type: PathPrefix
           value: /
     backendRefs:
       - name: tmp-gateway-service
         port: 8080

Gateway部署之后,它会自动安装一个tmp-gateway-gw-istio的Service,可以查看这个service的VIP,通过VIP可以访问你的服务了:

sh 复制代码
 export GW_IP=$(kubectl get svc tmp-gateway-gw-istio -n irmp-prod -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
 echo ${GW_IP}
 curl -H "Host: gw.irmp.com" http://${GW_IP}/
相关推荐
米高梅狮子12 小时前
03.OpenStack使用
linux·前端·云原生·容器·架构·kubernetes·openstack
技术小猪猪13 小时前
企业AI Agent部署痛点?MCP Gateway Lite:开源轻量级网关解决方案
人工智能·开源·gateway
ABILI .13 小时前
Linux上安装部署k8s单机版(minikube)
linux·运维·kubernetes
STDD13 小时前
KEDA:Kubernetes 事件驱动自动扩缩容
云原生·容器·kubernetes
珂玥c13 小时前
k8s集群高可用的碎碎念
云原生·容器·kubernetes
xiaogg367813 小时前
k8s 部署yaml文件和Dockerfile文件配置
java·docker·kubernetes
小夏子_riotous15 小时前
Kubernetes学习路径——7. Pod控制器详解
docker·云原生·容器·kubernetes·云计算·paas·kubelet
Cat_Rocky1 天前
Kubernetes集群升级指南以及自动更新证书
云原生·容器·kubernetes
米高梅狮子1 天前
第2章 docker容器
运维·docker·云原生·容器·架构·kubernetes·自动化
古城小栈1 天前
K8s 之 ingress
云原生·容器·kubernetes