首页 > 其他分享 >Cilium Gateway API 特性(转载)

Cilium Gateway API 特性(转载)

时间:2024-07-16 14:29:18浏览次数:17  
标签:cilium created Gateway Cilium API io k8s gateway cni

Cilium Gateway API 特性(转载)

一、环境信息

主机 IP
ubuntu 10.0.0.234
软件 版本
docker 26.1.4
helm v3.15.0-rc.2
kind 0.18.0
kubernetes 1.23.4
ubuntu os Ubuntu 22.04.6 LTS
kernel 5.15.0-106

二、Cilium Gateway API 流程图

img

Cilium 现在提供完全一致的 Gateway API 实现。 Gateway API 是 Kubernetes 集群中南北负载均衡和流量路由的新标准,并且是 Ingress API 的长期继承者。 Gateway API 代表了流量管理的未来。

GatewaAPI 从设计之初就是为了解决 Ingress API 的局限性

  • Gateway API 的创建是源于 Ingress API 存在一些局限性:首先,它不提供用户需要定义的高级负载均衡功能。它本身仅支持简单的基于路径的 HTTP 流量请求路由
  • 其次,用户管理变得不切实际:产品供应商通过注释来解决 Ingress API 中功能缺乏的问题。但是注释虽然非常强大,但最终会导致一个 Ingress 与另一个 Ingress 之间出现不一致
  • 第三,由于 Ingress API 是单一 API 资源,因此它操作受限:不适合具有共享负载均衡基础设施的多团队集群

在 Cilium 1.13 中,Cilium Gateway API 通过了所有 Gateway API 一致性测试 (v0.5.1)[https://isovalent.com/blog/post/cilium-release-113/]

参考官方链接

三、Cilium Gateway API 模式环境搭建

安装须知

  • 配置 Cilium 时,必须启用 NodePort,使用 nodePort.enabled=true 或使用 kubeProxyReplacement 将 kube-proxy 替换为部分或严格。
  • 配置 Cilium 时,必须使用 --enable-l7-proxy 标志(默认已启用)启用 L7 代理。
  • 必须预先安装以下来自 Gateway API v0.5.1 的 CRD。(安装步骤)(https://docs.cilium.io/en/v1.13/network/servicemesh/gateway-api/gateway-api/#prerequisites)
  • 与 Ingress 类似,Gateway API 控制器会创建一个 LoadBalancer 类型的服务,因此您的环境需要支持该服务。

kind 配置文件信息

root@KinD:~# cat install.sh

#!/bin/bash
date
set -v

# 1.prep noCNI env
cat <<EOF | kind create cluster --name=cilium-gatewayapi-http --image=kindest/node:v1.23.4 --config=-
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:
  # kind 默认使用 rancher cni,cni 我们需要自己创建
  disableDefaultCNI: true
  # 此处使用 cilium 代替 kube-proxy 功能
  kubeProxyMode: "none"
nodes:
  - role: control-plane
  - role: worker
  - role: worker

containerdConfigPatches:
- |-
  [plugins."io.containerd.grpc.v1.cri".registry.mirrors."harbor.evescn.com"]
    endpoint = ["https://harbor.evescn.com"]
EOF

# 2.install necessary tools
for i in $(docker ps -a --format "table {{.Names}}" | grep cilium) 
do
    echo $i
    docker cp /usr/bin/ping $i:/usr/bin/ping
    docker exec -it $i bash -c "sed -i -e 's/jp.archive.ubuntu.com\|archive.ubuntu.com\|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list"
    docker exec -it $i bash -c "apt-get -y update >/dev/null && apt-get -y install net-tools tcpdump lrzsz bridge-utils >/dev/null 2>&1"
done
  • 安装 k8s 集群和 cilium 服务
root@KinD:~# ./install.sh

Creating cluster "cilium-gatewayapi-http" ...
 ✓ Ensuring node image (kindest/node:v1.23.4) 

标签:cilium,created,Gateway,Cilium,API,io,k8s,gateway,cni
From: https://www.cnblogs.com/evescn/p/18305170

相关文章

  • 大语言模型 API
    目录大语言模型API(应用程序编程接口)1.大语言模型API的基本概念2.API的作用与重要性3.常见的大语言模型及其API4.如何调用大语言模型API5.API的使用限制与优化6.实际应用案例7.免费与付费API资源总结相关问题OpenAIGPT系列与其他大语言模型API在性能和应用场......
  • JavaScript Promise.withResolvers API All In One
    JavaScriptPromise.withResolversAPIAllInOnePromise.withResolvers()https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/withResolversdemoscancelablePromise/cancelFetchrequest(......
  • 淘宝/天猫商品详情API接口在跨境电商数据采集中的应用
    淘宝/天猫商品详情API接口在跨境电商数据采集中的应用主要体现在以下几个方面:一、获取商品详细信息数据内容:通过淘宝/天猫商品详情API接口,跨境电商平台可以获取到商品的详细信息,包括但不限于商品的标题、价格、库存、SKU、商品描述、图片、规格参数等。这些信息对于跨境电商......
  • 深入理解 React 的 Context API:从基础到高级应用
    深入理解React的ContextAPI:从基础到高级应用在React应用中,状态管理一直是一个重要且复杂的话题。虽然Redux和MobX等状态管理库提供了强大的解决方案,但有时候我们只需要一个简单的方式来在组件树中传递数据。React的ContextAPI就是为了解决这个问题而生的。今天,我们......
  • Why can‘t I access GPT-4 models via API, although GPT-3.5 models work?
    题意:为什么我无法通过API访问GPT-4模型,尽管GPT-3.5模型可以工作?问题背景:I'mabletousethegpt-3.5-turbo-0301modeltoaccesstheChatGPTAPI,butnotanyofthegpt-4models.HereisthecodeIamusingtotestthis(itexcludesmyopenaiAPIkey).Theco......
  • APIAuto技术详解:从基础到高级使用
    文章目录引言原理概述基础使用安装与启动基本功能例子:测试一个简单的GET请求高级使用自动化测试随机参数测试数据采集与免费数据调用例子:调用免费天气API优缺点优点缺点官网链接结论引言随着互联网技术的飞速发展,API(应用程序编程接口)已成为连接不同系统和应用的......
  • gateway 使用细节
    spring:cloud:gateway:routes:-id:test_my_provider#自定义,全局唯一即可uri:http://localhost:8081#实际调用的地址predicates:-Path=/test/**#请求匹配规则-id:test_my_consumeruri......
  • Windows 注册表编辑器(regedit)的演变和发展主要是由 Microsoft Windows 操作系统的设计
    Windows注册表编辑器(regedit)的演变和发展主要是由MicrosoftWindows操作系统的设计和需求驱动的。下面是大致的演化过程:需求和设计:在早期的Windows系统中,配置信息分散存储在各种配置文件和INI文件中,管理起来不够方便。为了统一管理系统配置信息,并提高系统的灵活性和可维......
  • BNB币安币实时行情API接口
    BNB币安币实时行情API接口#RestfulAPIhttps://tsanghi.com/api/fin/crypto/realtime?token={token}&ticker={ticker}指定加密货币代码,获取该加密货币的实时行情(开、高、低、收)。更新周期:实时。请求方式:GET。#币安币测试https://tsanghi.com/api/fin/crypto......
  • JavaAPI练习(1) (2024.7.15)
        Math类packageMathExercise20240715;//Math类所在的是java.lang包,属于核心包,无需导包publicclassMathExercise{publicstaticvoidmain(String[]args){//Math方法为静态的,不需要创建对象,直接类名调用即可//abs返回参数的绝对......