绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能
-> ip_output nf post-route -> ip_finish_output • The new way • Call ip_finish_output directly Pre-route Conntrack Pre-route route IPVS entry Post-route Iptables snat Conntrack Post-route Pre-route0 码力 | 24 页 | 1.90 MB | 1 年前3腾讯云 Kubernetes 高性能网络技术揭秘——使用 eBPF 增强 IPVS 优化 K8s 网络性能-范建明
ClusterIP提供集群内的访问 • NodePort 提供集群外部的访问 iptables mode • 在netfilter pre-routing阶段做DNAT • 在netfilter post-routing阶段做SNAT • 每个service 添加一条或多条rules。使用数组管理rules。 • 仅支持随机的调度算法 • kube-proxy代码实现比较简单 • SNAT 为请求1分配了lport=cport • 很快Iptables SNAT 为请求2分配了同样的lport • Conntrack Post routing 函数中,将请求1的lport插入conntrack,成功! • Conntrack Post routing 函数中,将请求2的lport插入conntrack,失败,丢包,导致延迟。 • 解决方法 • eBPF代码在分配lpo0 码力 | 27 页 | 1.19 MB | 9 月前3Kubernetes开源书 - 周立
定向到后端 Pod 。 定义Service Kubernetes中的 Service 是⼀个REST对象,类似于 Pod 。 像所有的REST对象⼀样, Service 定义可被POST到 apiserver,从⽽创建⼀个新的实例。 例如,假设您有⼀组 Pod ,每个 Pod 都暴露端⼝9376,并携带标 签 "app=MyApp" 。 kind: Service apiVersion: "app=MyApp" 标签的Pod,该 Service 还会被分配⼀个IP地址(有时称为“Cluster IP”),它会被服务的代理使⽤(⻅ 下⽂)。 Service 的选择器将会被持续评估,处理的结果会被POST到⼀个名为“my-service”的 Endpoint 对象。 请注意, Service 可将传⼊端⼝ port 映射到任意 targetPort 端⼝。默认情况下, targetPort [ Ingress ] --|-----|-- [ Services ] 可配置Ingress,从⽽提供外部可访问的URL、负载均衡流量、SSL、提供基于名称的虚拟主机等。⽤户通过POST Ingress资源到API Server的⽅式来请求Ingress。 Ingress controller 负责实现Ingress,通常使⽤负载均衡器,也可配置 edge router或其他前端,这有助于以HA⽅式处理流量。0 码力 | 135 页 | 21.02 MB | 1 年前3Node Operator: Kubernetes Node Management Made Simple
information, which represent a node desired in the Kubernetes. • NPD(Node Problem Detector): post Node state to kube- apiserver. Node-Operator: Scale Nodes Node-Operator Node-Operator: Upgrade0 码力 | 18 页 | 11.70 MB | 1 年前3QCon北京2018/QCon北京2018-基于Kubernetes与Helm的应用部署平台构建实践-张夏-赵明+
从持续集成到持续交付过程图示 • 将源代码、配置、脚本放于Git做 版本控制 • 各Repo做定期同步 • 通过promote tag筛选发布候选 版本 • 服务部署后做自动化post check 服务在混合云上的部署架构 � 混合云部署应用演示 基于Consul的混合云服务发现 服务在Kubernetes中部署时会通过Consul client将新启动的服务通过环境变量0 码力 | 28 页 | 12.18 MB | 1 年前32.2.4 基于Kubernetes的私有云实战
的过程分为两个阶段:调度周期 和 绑定周期 调度周期 • 选择符合条件的Node (硬性选择) • 给Node打分 (软性选择) 绑定周期 • 向binding接⼝发送Post请求,把结果告诉k8s 基于CPU实时使⽤率的调度器 借助Scheduling Framework可以实现⾃定义的调度器 score=(1 - cpu_used_seconds / cpu_total0 码力 | 47 页 | 10.67 MB | 1 年前3可觀測性 (Observability) 在 Kubernetes Day2 Operation的考量與實踐
Click to edit Master title style 16 Kube-Prometheus-stack 一站式可觀測性百寶箱 16 Ref. https://clux.dev/post/2022-01-11-prometheus-ecosystem/ Click to edit Master title style 17 Observability 可 觀 測 性 的 實0 码力 | 30 页 | 3.01 MB | 1 年前3
共 7 条
- 1