NOTE

CNI 实现:K8s dockershim CNI 实现

文章目录 网络插件初始化 ProbeNetworkPlugins 根据配置文件生成网络插件 InitNetworkPlugin SetupPod 配置容器网络过程 buildCNIRuntimeConf 配置一个 libcni 的结构体 RumtimeConf AddNetworkList ...

Helm 使用中的一些最佳实践

文章目录 在 helm install 中指定 namespace 在 helm chart 中使用 Release.namespace 使用 appVersion 作为应用版本 使用 chart 来管理依赖 自动管理 手动管理 配置 subchart 的 values 使用 hook 来解决前置依赖或者后置...

一些 K8s 中 yaml 资源配置的例子

一些 K8s 资源 yaml 例子,用的时候直接粘贴复制 K8s service示例: nginx service apiVersion: v1 kind: Pod metadata: name: nginx labels: app.kubernetes.io/name: proxy spec: containers: - name: nginx image...

容器 PageCache 使用过多,导致内存利用率较高

文章目录 workingset 不是实际使用内存 为什么会有这么高的 PageCache 使用? 前段时间线上业务在排查监控时,发现监控显示容器的内存使用率很高,已经到了 90%,便反馈到我们这边,同时他们说通过 top 看实际使用的内存使用率很低,觉得监控图有问题,进行查看之后,发现监控问题不大,不过确实有些细节需要注意。 workingset 不是实际使用内存 经过一番查...

通过修改 Config 文件的方式修改容器启动参数

有时候在系统中,有一些服务是直接通过容器启动的,比如 rancher 系统中的 K8s master 组件。如果要修改这些容器的参数,需要通过集群运维工具 rke 重新升级一下集群,这个代价比较大,这里有个 trick 的方式是直接修改容器的 config 文件。以 kubelet 容器为例步骤如下 停止容器 docker stop kubelet ...

K8s 环境下部署 grpc 的几种方案[转载]

文章目录 k8s service直连 K8s headless service 基于Etcd/consul 等外部服务注册中心 K8s endpoints Envoy proxy Envoy proxy as sidecar Service Mesh 总结 进一步阅读 原文作者(tink)前段时间负责所在广告部门的ssp系统核心的几个grpc服务由虚...

K8s 框架中关于 pod 优雅退出的一些总结

前几天在跟同事沟通的时候,提到了一种 pod 优雅退出的实现方式是在 preStop hook 中 sleep 几秒,主要是 service 摘除 pod 的 endpoint 有时延,pod 退出之后可能还有流量打进来,sleep 的目的是给 Controller manager 中的 endpoint controller 足够的时间来删除特定 pod 的 endpoint。这里涉及到好...

手动配置 K8s hostgw 网络

文章目录 部署集群 配置网络 配置 subnet.env 配置路由 添加 iptables 规则 测试 其他 根据《flannel host-gw 网络概述》,感觉 hostgw 网络模型还是比较简单的,于是萌生了一个想法,手动配置 hostgw 环境,不启用 flanneld,(也就是不启动 fla...

Linux Grep 正则表达式示例[转载]

grep是Linux中用于文本处理的最有用和功能最强大的命令之一。grep在一个或多个输入文件中搜索与正则表达式匹配的行,并将每条匹配的行写入到标准输出。 正则表达式是与一组字符串匹配的模式。模式由运算符,文字字符和元字符组成,它们具有特殊的含义。GNU grep支持三种正则表达式语法Basic,Extended和Perl-compatible。 当没有给出正则表达式类型时,grep以B...

解析 K8s 集群中的 Pod 驱逐机制

文章目录 驱逐触发条件 memory.available nodefs.available/inodesFree imagefs.available/inodesFree pid.available 驱逐配置 Soft eviction thresholds Hard evi...