随笔分类 -  kubernetes

摘要:Kubernetes 1.29版本中已经将nftables作为一个featureGates,本文简单整理了nftables的用法,便于后续理解kubernetes的nftables规则。文末给出了使用kubeadm部署启用nftables featureGates的配置文件。 如下内容来源nftab 阅读全文
posted @ 2024-01-30 09:38 charlieroro 阅读(410) 评论(0) 推荐(0) 编辑
摘要:Kubernetes 中使用consul-template渲染配置 当前公司使用consul来实现服务发现,如Prometheue配置中的target和alertmanager注册都采用了consul服务发现的方式,以此来灵活应对服务的变更。但对于其他服务,是否也有一个通用的方式来使用consul管 阅读全文
posted @ 2023-10-27 14:57 charlieroro 阅读(244) 评论(0) 推荐(0) 编辑
摘要:使用shuffle sharding增加容错性 最近在看kubernetes的API Priority and Fairness,它使用shuffle sharding来为请求选择处理队列,以此防止高吞吐量流挤占低吞吐量流,进而造成请求延迟的问题。 介绍 首先看下什么是shuffle shardin 阅读全文
posted @ 2023-09-20 09:31 charlieroro 阅读(318) 评论(4) 推荐(2) 编辑
摘要:如何在kubernetes中实现分布式可扩展的WebSocket服务架构 How to implement a distributed and auto-scalable WebSocket server architecture on Kubernetes一文中虽然解决是WebSocket长连接问 阅读全文
posted @ 2023-09-13 09:40 charlieroro 阅读(558) 评论(0) 推荐(0) 编辑
摘要:解决pod健康检查问题 引自:Solving the mystery of pods health checks failures in Kubernetes。原文中的某些描述并不清晰,本文作了调整。 很早以前,环境中的pod有时候会遇到健康检查失败的问题,但并没有什么明显表征,且几乎是立马就会恢复 阅读全文
posted @ 2023-05-10 17:19 charlieroro 阅读(288) 评论(2) 推荐(1) 编辑
摘要:etcd:增加30%的写入性能 本文最终的解决方式很简单,就是将现有卷升级为支持更高IOPS的卷,但解决问题的过程值得推荐。 译自:etcd: getting 30% more write/s 我们的团队看管着大约30套自建的Kubernetes集群,最近需要针对etcd集群进行性能分析。 每个et 阅读全文
posted @ 2023-05-07 17:21 charlieroro 阅读(579) 评论(0) 推荐(3) 编辑
摘要:使用Kubernetes中的Nginx来改善第三方服务的可靠性和延迟 译自:How we improved third-party availability and latency with Nginx in Kubernetes 本文讨论了如何在Kubernetes中通过配置Nginx缓存来提升第 阅读全文
posted @ 2023-02-14 17:33 charlieroro 阅读(316) 评论(0) 推荐(1) 编辑
摘要:重定向Kubernetes pod中的tcpdump输出 最新发现一个比较有意思的库ksniff,它是一个kubectl 插件,使用tcpdump来远程捕获Kubernetes集群中的pod流量并保存到文件或输出到wireshark中,方便网络问题定位。使用方式如下: kubectl sniff h 阅读全文
posted @ 2023-02-11 23:09 charlieroro 阅读(369) 评论(0) 推荐(1) 编辑
摘要:Kubernetes的垂直和水平扩缩容的性能评估 译自:Performance evaluation of the autoscaling strategies vertical and horizontal using Kubernetes 可扩展的应用可能会采用水平或垂直扩缩容来动态调整云端资源 阅读全文
posted @ 2022-12-29 10:17 charlieroro 阅读(677) 评论(0) 推荐(0) 编辑
摘要:kubernetes Tcp流量可视化 使用k8spacket和grafana的node graph插件可以查看kubernetes pod的TCP相关信息,如connection、bytes、和duration。下面是接收和响应的字节数信息: 安装k8spacket helm repo add k 阅读全文
posted @ 2022-10-09 12:33 charlieroro 阅读(708) 评论(0) 推荐(0) 编辑
摘要:使用 Containerlab + Kind 快速部署 Cilium BGP 环境一文中使用Containerlab和Cilium实现了模拟环境下的Cilium BGP网络。它使用Containerlab模拟外部BGP路由器,使用Cilium BGP的CiliumBGPPeeringPolicy与外 阅读全文
posted @ 2022-09-20 21:46 charlieroro 阅读(1162) 评论(1) 推荐(2) 编辑
摘要:通过重新构建Kubernetes来实现更具弹性的容器编排系统 译自:rearchitecting-kubernetes-for-the-edge 摘要 近年来,kubernetes已经发展为容器编排的首要选择。kubernetes主要面向云环境,但新的边缘场景要求性能、可用性和可扩展编排。kuber 阅读全文
posted @ 2022-08-13 13:45 charlieroro 阅读(614) 评论(0) 推荐(0) 编辑
摘要:Airbnb的动态kubernetes集群扩缩容 本文介绍了Airbnb的集群扩缩容的演化历史,以及当前是如何通过Cluster Autoscaler 实现自定义扩展器的。最重要的经验就是Airbnb是如何一步步演化到当前架构的,其驱动因素又是什么。 译自:Dynamic Kubernetes Cl 阅读全文
posted @ 2022-07-20 13:30 charlieroro 阅读(509) 评论(0) 推荐(0) 编辑
摘要:使用kubeseal加密和管理k8s集群的secret 在k8s的管理过程中,像secret这种资源并不好维护,kubeseal提供了一种相对简单的方式来对原始secret资源进行加密,并通过控制器进行解密,以此来规避secret泄露风险。 安装 安装kubeseal $ wget https:// 阅读全文
posted @ 2022-06-10 09:16 charlieroro 阅读(1049) 评论(0) 推荐(1) 编辑
摘要:一个恢复CSI挂载信息的解决方法 问题描述 之前有做过一个华为OBS 的CSI插件,其基本运作原理如下图所示。CSI插件Pod挂载了主机的/var/lib/kubelet/pods目录,当创建挂载Pvc的业务Pod时,CSI插件会启动一个s3fs进程,该进程用于远程连接s3服务,将bucket(也即 阅读全文
posted @ 2022-05-29 14:30 charlieroro 阅读(756) 评论(4) 推荐(1) 编辑
摘要:kubebuilder 的运行逻辑 目录kubebuilder 的运行逻辑更新概述Managerskubebuilder的处理Controllerskubebuilder的处理Reconcilers重新执行Reconcilerkubebuilder的处理Controller事件来源与使用client 阅读全文
posted @ 2022-03-05 16:57 charlieroro 阅读(2635) 评论(0) 推荐(1) 编辑
摘要:kyverno VS gateKeeper 概述 这两组开源工具都是是基于kubernetes 的webhook机制,支持validatingwebhook和mutatingwebhook。整体思路上是一样的,都是针对资源的字段,如标签、镜像等来设置规则,在对kubernetes资源的控制范围和粒度 阅读全文
posted @ 2022-03-04 13:18 charlieroro 阅读(490) 评论(0) 推荐(0) 编辑
摘要:json schema 在线校验器 译自:Understanding JSON Schema { "type": "object", "properties": { "first_name": { "type": "string" }, "last_name": { "type": "string" 阅读全文
posted @ 2022-02-26 15:18 charlieroro 阅读(553) 评论(0) 推荐(0) 编辑
摘要:访问kubernetes CRD的几种方式 最近在使用代码操作VictoriaMetrics Operator的CRD资源的过程中,探究了几种访问CRD资源的方式。下面以VictoriaMetrics Operator的CRD为例介绍。 方式1:使用dynamic client 这种方式最原始,使用 阅读全文
posted @ 2021-11-10 11:21 charlieroro 阅读(926) 评论(0) 推荐(0) 编辑
摘要:Istio多集群(1)-多控制面 参考自官方文档。 复制控制面 本节将使用多个主集群(带控制面的集群)来部署Istio多集群,每个集群都有自己的控制面,集群之间使用gateway进行通信。 由于不使用共享的控制面来管理网格,因此这种配置下,每个集群都有自己的控制面来管理后端应用。为了策略执行和安全目 阅读全文
posted @ 2020-10-15 12:42 charlieroro 阅读(1113) 评论(0) 推荐(0) 编辑