【k8s-1.34.2安装部署】十.gateway Api v1.4.0安装

简介: 本章介绍Kubernetes Gateway API部署,重点讲解Istio作为更新最快、兼容性最佳的控制器。内容涵盖Istio安装、Gateway API部署(含实验版与正式版)、各类路由(HTTP、gRPC、TCP、UDP)配置示例及镜像拉取失败解决方案,助您快速上手Gateway API实践。

简介

本章主要是讲解kubernetes的 gateway Api 部署所需要用到的控制权,isito是gateway Api众多控制中更新最快,兼容最新gateway Api最新版本最快的,在安装gateway Api之前需要先安装部署gateway控制权。

== 文章导航===

【k8s-1.34.2安装部署】一.系统初始化及k8s集群规划
【k8s-1.34.2安装部署】二.kubernets软件、证书、配置、脚本等文件准备
【k8s-1.34.2安装部署】三.etcd-v3.6.6 TLS版集群安装
【k8s-1.34.2安装部署】四.kubernets master组件kube-apiserver,kube-controller-manager,kube-scheduler安装
【k8s-1.34.2安装部署】五.worker端containerd2.2.1、kubelet-1.34.2安装
【k8s-1.34.2安装部署】六.企业级部署cilium-1.18.4网络插件
【k8s-1.34.2安装部署】七.coredns-v1.13.1安装
【k8s-1.34.2安装部署】八.metric-server-0.8.0安装
【k8s-1.34.2安装部署】九.k8s管理平台xkube安装部署
【k8s-1.34.2安装部署】十.gateway Api v1.4.0安装
【k8s-1.34.2安装部署】十一.metallb-v0.15.2安装

一.istio安装

第一步:安装客户端

1.从https://github.com/istio/istio/releases下载二进制文件放到/usr/local/bin下
2.验证: istioctl version

第二步:执行命令:istioctl install --set profile=ambient --set components.cni.enabled=false --skip-confirmation

二.gateway api 安装

试验版:kubectl apply --server-side -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.1/experimental-install.yaml

正式版:kubectl apply --server-side -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.1/standard-install.yaml

==注:试验版本才会包含tcproute和udproute==

三.示例创建

3.1.创建gateway的示例:

apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: my-gateway
spec:
  gatewayClassName: istio 
  listeners:
  - name: http
    protocol: HTTP
    port: 80

3.2.创建httproute示例

apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: my-httproute2
spec:
  parentRefs:
  - name: my-gateway
  hostnames:
  - "t2.eeenet.net"
  rules:
  - matches:
    - path:
        type: PathPrefix
        value: /t2
    backendRefs:
    - name: my-deployment
      port: 80
  - matches:
    - headers:
      - type: Exact
        name: env
        value: test
    backendRefs:
    - name: one-deployment
      port: 80

3.3.创建grpcroute示例

apiVersion: gateway.networking.k8s.io/v1
kind: GRPCRoute
metadata:
  name: my-grpcroute
spec:
  parentRefs:
  - name: my-gateway 
  hostnames:
  - "t3.pc.com.cn"
  rules:
  - matches:
    - method:
        service: com.example.User
        method: Login
    backendRefs:
    - name: my-deployment
      port: 80 
  - matches:
    - method:
        service: grpc.reflection.v1.ServerReflection
    backendRefs:
    - name: one-deployment
      port: 80

3.4.创建tcproute示例

apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: my-tcp-gateway
spec:
  gatewayClassName: istio 
  listeners:
  - name: memcached-t1
    protocol: TCP
    port: 11211
    allowedRoutes:
      kinds:
      - kind: TCPRoute
  - name: redis-t1
    protocol: TCP
    port: 6379
    allowedRoutes:
      kinds:
      - kind: TCPRoute
---
apiVersion: gateway.networking.k8s.io/v1alpha2
kind: TCPRoute
metadata:
  name: memcached-t1-tcproute
spec:
  parentRefs:
  - name: my-tcp-gateway
    sectionName: memcached-t1
  rules:
  - backendRefs:
    - name: memcached-t1-service
      port: 11211
---
apiVersion: gateway.networking.k8s.io/v1alpha2
kind: TCPRoute
metadata:
  name: redis-t1-tcproute
spec:
  parentRefs:
  - name: my-tcp-gateway
    sectionName: redis-t1
  rules:
  - backendRefs:
    - name: redis-t1-service
      port: 6379

3.5.创建udproute示例

apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: my-udp-gateway
  namespace: kube-system
spec:
  gatewayClassName: istio 
  listeners:
  - name: udp-t1
    protocol: UDP
    port: 53
    allowedRoutes:
      kinds:
      - kind: UDPRoute
---
apiVersion: gateway.networking.k8s.io/v1alpha2
kind: UDPRoute
metadata:
  name: dns-t1-udproute
  namespace: kube-system
spec:
  parentRefs:
  - name: my-udp-gateway
    sectionName: udp-t1
  rules:
  - backendRefs:
    - name: kube-dns 
      port: 53

三.注意事项

3.1.镜像下载失败问题

istio-cni-node: docker.io/istio/install-cni:1.28.0-distroless
ztunnel: docker.io/istio/ztunnel:1.28.0-distroless
istiod: docker.io/istio/pilot:1.28.0-distroless

对应可以下载的镜像地址:

docker.1panel.live/istio/install-cni:1.28.0-distroless
docker.1panel.live/istio/ztunnel:1.28.0-distroless
docker.1panel.live/istio/pilot:1.28.0-distroless
可以下载完上传到自己的镜像站

相关文章
|
9天前
|
数据采集 人工智能 安全
|
4天前
|
机器学习/深度学习 人工智能 前端开发
构建AI智能体:七十、小树成林,聚沙成塔:随机森林与大模型的协同进化
随机森林是一种基于决策树的集成学习算法,通过构建多棵决策树并结合它们的预测结果来提高准确性和稳定性。其核心思想包括两个随机性:Bootstrap采样(每棵树使用不同的训练子集)和特征随机选择(每棵树分裂时只考虑部分特征)。这种方法能有效处理大规模高维数据,避免过拟合,并评估特征重要性。随机森林的超参数如树的数量、最大深度等可通过网格搜索优化。该算法兼具强大预测能力和工程化优势,是机器学习中的常用基础模型。
299 164
|
3天前
|
机器学习/深度学习 自然语言处理 机器人
阿里云百炼大模型赋能|打造企业级电话智能体与智能呼叫中心完整方案
畅信达基于阿里云百炼大模型推出MVB2000V5智能呼叫中心方案,融合LLM与MRCP+WebSocket技术,实现语音识别率超95%、低延迟交互。通过电话智能体与座席助手协同,自动化处理80%咨询,降本增效显著,适配金融、电商、医疗等多行业场景。
313 155
|
12天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
868 6
|
5天前
|
机器学习/深度学习 人工智能 前端开发
构建AI智能体:六十九、Bootstrap采样在大模型评估中的应用:从置信区间到模型稳定性
Bootstrap采样是一种通过有放回重抽样来评估模型性能的统计方法。它通过从原始数据集中随机抽取样本形成多个Bootstrap数据集,计算统计量(如均值、标准差)的分布,适用于小样本和非参数场景。该方法能估计标准误、构建置信区间,并量化模型不确定性,但对计算资源要求较高。Bootstrap特别适合评估大模型的泛化能力和稳定性,在集成学习、假设检验等领域也有广泛应用。与传统方法相比,Bootstrap不依赖分布假设,在非正态数据中表现更稳健。
252 113