kube-proxy支持多CNI网络
简介
Kube-proxy 是 Kubernetes 集群中的一个关键组件,负责实现 Kubernetes 服务发现和负载均衡。它运行在每个节点上,以确保网络流量正确路由到集群中的服务。
以下是 Kube-proxy 的一些主要功能和特点:
服务代理:Kube-proxy会监视 Kubernetes API Server 中的 Service 和 Endpoints 对象,以了解集群中的服务和其后端 Pod。当有新服务创建或更新时,Kube-proxy会自动更新代理规则,以确保服务可用性。
IP 负载均衡:Kube-proxy通过维护 IP 负载均衡规则,将请求分发到服务的后端 Pod。这有助于实现服务的负载均衡,确保请求能够均匀地分发到多个 Pod 上。
ovn-k8s的multi-homing功能介绍
ovn-k8s的multi-homing功能介绍
multi-homing功能简介
具有多个网络接口的 K8s Pod被称为 multi-homed。 Network Plumbing Working Group 提出了一个标准,描述如何指定附加网络接口的配置。
有几个插件(Multus、Genie)实现了此标准。
在特定 Kubernetes 节点上调度 pod 后,kubelet 将调用委托插件来准备 pod 的联网。然后,此元插件将调用负责设置 pod 的默认集群网络的 CNI,然后迭代 pod 上的其他附件列表,调用相应的委托 CNI 实现将 pod 附加到该特定网络的逻辑。
k8s lb服务metallb(bgp模式)介绍
metallb 介绍
MetalLB是一个为基础 Kubernetes集群提供负载均衡实现的工具,使用标准路由协议。
Kubernetes在基础集群中不提供网络负载均衡器(类型为LoadBalancer的服务)的实现。Kubernetes提供的网络负载平衡器实现都是调用各种IaaS平台(如GCP、AWS、Azure等)的接口代码。如果您没有运行在受支持的IaaS平台上(如GCP、AWS、Azure等),则创建时LoadBalancers将无限期处于“挂起”状态。
在基础集群中,操作员只有两个接口来将用户流量引入他们的集群,“NodePort”和“externalIPs”服务。
这两个选项在生产使用中都有显著的缺点,这使得基础集群成为 Kubernetes 生态系统中的二等公民。
MetalLB旨在通过提供与标准网络设备集成的网络负载均衡器实现来解决这种不平衡,以便基础群集上的external services尽可能“正常工作”。
gobgp 本地调试
概要目的
本文主要提供本地开发调试 BGP 程序的一个技巧,同时学习 BGP 协议,以及 go 包 gobgp https://github.com/osrg/gobgp
学习 BGP 协议必要性:K8s 容器网络目前我们使用 Cilium/Calico,都是使用 BGP 来宣告路由,使得 pod/service cidr 在 K8s 之外可达。所以,想要了解容器网络,有必要了解 BGP。
k8s增加新ip生成证书
制作helm chats 包
helm3安装方法
使用脚本安装
Helm现在有个安装脚本可以自动拉取最新的Helm版本并在 本地安装。
您可以获取这个脚本并在本地执行。它良好的文档会让您在执行之前知道脚本都做了什么。
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
如果想直接执行安装,运行curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash。