
kubernetes
文章平均质量分 85
cbmljs
这个作者很懒,什么都没留下…
展开
-
K8S 性能优化 - K8S APIServer 调优
-watch-cache-sizes: 系统根据环境启发式的设定;用于 pods/nodes/endpoints 等核心资源,其他资源参考 default-watch-cache-size 的设定;--max-mutating-requests-inflight: 默认值 200;建议 800 或更高;--delete-collection-workers:默认值 1;--default-watch-cache-size:默认值 100;--max-requests-inflight: 默认值 400;转载 2023-07-07 11:14:41 · 588 阅读 · 0 评论 -
为高效 Ops 和 SRE 团队准备的 10 个开源 k8s 工具
日志查看器你可以基于标准的标签选择器匹配,通过名字,通过服务,通过部署,等等。除了拓扑视图,Weave Scope也提供了一个深入视图,比如节点和进程之间的任何事情,包括部署,服务,副本集,pods 和容器。Kube-ops-view为多个Kubernetes集群提供了一个通用的操作视图,对于SRE和Ops团队来说这是一个方便的工具,Kube-ops-view提供只读的系统仪表。它为你的应用自动的构建逻辑拓扑以及基础设施,以便你的SRE和Ops团队可以直观的明白,监控,控制你的容器,基于应用的微服务。转载 2023-01-31 16:26:57 · 654 阅读 · 0 评论 -
k8s部署fabric 2.4
k8s部署fabric 2.4原创 2022-12-12 14:22:13 · 1137 阅读 · 0 评论 -
fission使用指南
Fission 是由私有云服务提供商Platform9领导开源的 serverless 产品,它借助 kubernetes 灵活强大的编排能力完成容器的管理调度工作,而将重心投入到 FaaS 功能的开发上,其发展目标是成为 AWS lambda 的开源替代品。从 CNCF 视角,fission 属于 serverless 平台型产品。原创 2022-11-11 16:43:27 · 838 阅读 · 0 评论 -
fission源码分析--fission调用http请求流程分析
fission源码分析原创 2022-11-11 14:28:32 · 849 阅读 · 0 评论 -
dapr源码分析--injector
在阅读dapr injector源码之前,需要知道k8s的动态准入控制原理,否则无法理解代码的功能。原创 2022-10-28 17:19:43 · 886 阅读 · 0 评论 -
关于dapr跨k8s集群服务调用的可行性方案
命名解析器提供了一种与不同命名解析器互动的通用方法,这些解析器用于返回你的应用程序可能要连接到的其他服务的地址或IP。兼容的名称解析器需要实现 nameresolution.go 文件中的 Resolver 接口。// Resolver是命名解析器的接口。}// ResolveRequest 表示服务发现解析器请求。}本文的思路只针对k8s环境,且要求多个集群ip互通,只支持dapr的服务调用,其他功能不支持。条件比较严格,思路未经实现仅供参考。原创 2022-10-27 20:37:57 · 1354 阅读 · 0 评论 -
dapr源码分析--服务调用
Service Invocation 是 dapr 对外提供的最基础功能, 也就是服务间调用. 另外别的一些功能也会间接使用它.本文不会介绍功能如何使用, 相关资料请查看官方文档.官方文档给出来 Service Invocation 服务间调用的示意图, 已经是非常清晰了. 因为 dapr 是 sidecar 模式运行在业务 APP 旁边, 所以我们服务间调用也是通过 dapr 做的转发, dapr 也就是在这一步做了监控, 追踪, mTLS 等功能.原创 2022-10-27 19:57:57 · 1601 阅读 · 0 评论 -
Daprd 流式改造
dapr grpc目前不支持流式调用原创 2022-10-25 17:32:46 · 706 阅读 · 0 评论 -
一文读懂 Kubernetes APIServer 原理
整个Kubernetes技术体系由声明式API以及Controller构成,而kube-apiserver是Kubernetes的声明式api server,并为其它组件交互提供了桥梁。因此加深对kube-apiserver的理解就显得至关重要了。转载 2022-10-25 11:25:45 · 837 阅读 · 0 评论 -
k8s crd和API Aggregation的区别
尽管添加新的 CRD 不会自动带来新的失效点(Point of Failure),例如导致第三方代码被在 API 服务器上运行, 类似 Helm Charts 这种软件包或者其他安装包通常在提供 CRD 的同时还包含带有第三方代码的 Deployment,负责实现新的定制资源的业务逻辑。定义 CRD 对象的操作会使用你所设定的名字和模式定义(Schema)创建一个新的定制资源, Kubernetes API 负责为你的定制资源提供存储和访问服务。就是将定制资源与定制控制器相结合的。原创 2022-10-25 11:24:19 · 757 阅读 · 0 评论 -
图解kubernetes中api聚合与CRD概要设计
kubernetes中apiserver的设计无疑是复杂的,其自身内部就包含了三种角色的api服务,今天我们一起来臆测下其内部的设计,搞明白aggregator、apiserver、apiExtensionsServer(crd server)的设计精要。转载 2022-10-25 10:48:11 · 653 阅读 · 0 评论 -
K8S 之系统扩展 CRD/ 自定义 API Server
kubernetes扩展转载 2022-10-25 10:45:30 · 730 阅读 · 0 评论 -
彻底搞懂 Kubernetes 中的认证
Kubernetes 中的认证转载 2022-10-13 10:43:36 · 2275 阅读 · 0 评论 -
k8s之限流机制
k8s限流机制转载 2022-10-12 14:38:52 · 915 阅读 · 0 评论 -
Go 编程模式:k8s Visitor 模式
k8s visitor模式原创 2022-10-10 11:26:53 · 318 阅读 · 0 评论 -
kubernetes scheme原理分析
kubernetes scheme原理原创 2022-09-30 16:28:43 · 742 阅读 · 0 评论 -
k8s 资源外部版本和内部版本
k8s resource概念原创 2022-09-30 11:57:33 · 1589 阅读 · 0 评论 -
k8s基础1之API概念与http path
k8s api 与 http请求转载 2022-09-29 17:16:15 · 281 阅读 · 0 评论 -
k8s概念之GVK与GVR
gvk vs gvr原创 2022-09-29 17:03:26 · 2184 阅读 · 0 评论 -
混部之殇-论云原生资源隔离技术之CPU隔离
cpu隔离技术转载 2022-09-28 19:58:38 · 536 阅读 · 0 评论 -
k8s部署EFK实现日志管理(mac desktop)
k8s 日志管理系统原创 2022-04-14 19:25:59 · 920 阅读 · 0 评论 -
在k8s上搭建elasticsearch 服务
k8s搭建高可用elasticsearch集群:eck原创 2022-04-11 14:18:11 · 3603 阅读 · 0 评论 -
kubeadm+kube-vip搭建高可用k8s集群
通用安装基本软件包yum install bash‐comp* vim net‐tools wget ‐y设置主机名,管理节点设置主机名为node1(node2的设置为node2)hostnamectl set-hostname node102设置Host解析,编辑/etc/hosts文件,添加域名解析[root@node1 ~]# vim /etc/hosts10.168.1.101 node10110.168.1.102 node10210.168.1.103原创 2022-04-08 18:02:41 · 2057 阅读 · 0 评论 -
kubernetes之client-go的Indexer
Indexer是client-go用来存储资源对象并自带索引功能的本地存储,Reflector从DeltaFIFO中将消费出来的资源对象存储至Indexer。Indexer中的数据与Etcd集群中的数据保持完全一致。client-go可以很方便地从本地存储中读取相应的资源对象数据,而无须每次都从远程Etcd集群中读取,这样可以减轻Kubernetes API Server和Etcd集群的压力。在介绍Indexer之前,先介绍一下ThreadSafeMap。ThreadSafeMap是实现并发安全的存储原创 2022-02-24 18:56:16 · 697 阅读 · 0 评论 -
IaaS、PaaS、SaaS、BaaS和FaaS, 这些区别你真的了解吗?
aaS、PaaS、SaaS、BaaS、FaaS,这些名词后面都带着aas三个字母,aas 是 As-a-Service,即为服务的意思。我们看下面这个架构图:IaaS、PaaS、SaaS云平台一般都会提供以上架构图中的三种云服务IaaS:Infrastructure as a Service(基础设施即服务)从上面的架构图可以看出,IaaS处于最底层,服务商提供底层/物理层基础设施资源(服务器,数据中心,环境控制,电源,服务器机房),客户自己部署和执行操作系统或应用程序等各种软件。.转载 2022-02-14 19:41:36 · 818 阅读 · 0 评论 -
结合kubebuilder与code generator编写CRD
概念简介code-generatork8s.io/client-go 提供了对k8s原生资源的informer和clientset等等,但对于自定义资源的操作则相对低效,需要使用 rest api 和 dynamic client 来操作,并自己实现反序列化等功能。code-generator 提供了以下工具用于为k8s中的资源生成相关代码,可以更加方便的操作自定义资源:deepcopy-gen: 生成深度拷贝对象方法使用方法: 在文件中添加注释// +k8s:deepcopy-gen=原创 2022-02-14 18:42:44 · 1675 阅读 · 0 评论 -
prometheus-adapter原理分析
原理分析prometheus+prometheus-adapter的工作原理prometheus通过聚合层扩展kubenetes API原理聚合层在 kube-apiserver 进程内运行。在扩展资源注册之前,聚合层不做任何事情。 要注册 API,用户必须添加一个 APIService 对象,用它来“申领” Kubernetes API 中的 URL 路径。 自此以后,聚合层将会把发给该 API 路径的所有内容 转发到已注册的 APIService。总结原理如下:aggre原创 2022-01-13 18:56:07 · 4573 阅读 · 0 评论 -
一文读懂 Kubernetes APIServer 原理
前言整个Kubernetes技术体系由声明式API以及Controller构成,而kube-apiserver是Kubernetes的声明式api server,并为其它组件交互提供了桥梁,因此加深对kube-apiserver的理解就显得至关重要了。整体组件功能kube-apiserver作为整个Kubernetes集群操作etcd的唯一入口,负责Kubernetes各资源的认证&鉴权、校验以及CRUD等操作,提供RESTful APIs,供其它组件调用:kube-apis转载 2022-01-13 17:47:46 · 574 阅读 · 0 评论 -
kubernetes hpa源码分析
初始化文件位置:cmd/kube-controller-manager/app/controllermanager.gofunc NewControllerInitializers(loopMode ControllerLoopMode) map[string]InitFunc { ... controllers["horizontalpodautoscaling"] = startHPAController ...}HPA Controller和其他的Controller一样,...原创 2022-01-11 10:14:08 · 717 阅读 · 0 评论 -
kubernetes部署dashboard
一、版本k8s版本:v1.17.0root@k8s-1:~# kubectl versionClient Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean"...原创 2020-03-04 16:04:39 · 3629 阅读 · 0 评论 -
分配 Pod 到 Node 上
您可以限制pod只能在特定node上运行,或者更倾向于在某些特定 node 上运行。 有几种方法可以做到这一点,他们都使用label selectors进行选择。 一般来说,这种约束是不必要的,因为 scheduler 会自动进行合理的安排(例如,将 pod 分布在所有 node 上,而不是将 pod 分配到空闲资源不足的 node 上,等等) 但是在某些情况下,您可能需要对 node...转载 2019-12-10 10:19:09 · 1505 阅读 · 0 评论 -
kubernetes平滑迁移某个节点上的pod
cordon, drain, uncordon这三个命令是正式release的1.2新加入的命令,三个命令一起介绍,是因为三个命令配合使用可以实现节点的维护。在1.2之前,因为没有相应的命令支持,如果要维护一个节点,只能stop该节点上的kubelet将该节点退出集群,是集群不在将新的pod调度到该节点上。如果该节点上本生就没有pod在运行,则不会对业务有任何影响。如果该节点上有pod正在运行...转载 2019-12-10 10:09:57 · 2119 阅读 · 0 评论 -
k8s源码分析--kube-scheduler源码(一)
版本:v1.13.0启动分析kubernetes基础组件的入口均在cmd目录下,kube-schduler入口在scheduler.go下。kubernetes所有的组件启动采用的均是command的形式,引用的是spf13类库。func main() { rand.Seed(time.Now().UnixNano()) //创建Cobra格式的Sched...原创 2019-11-28 10:55:39 · 908 阅读 · 0 评论 -
《k8s-1.13版本源码分析》-调度器初始化
源码分析系列文章已经开源到github,地址如下:github: https://github.com/farmer-hutao/k8s-source-code-analysis gitbook: https://farmer-hutao.github.io/k8s-source-code-analysis本文大纲概述 从 –config 开始 options.Optio...转载 2019-11-28 10:53:18 · 280 阅读 · 0 评论 -
k8s源码分析--kube-scheduler源码(二)
前言Pod priorityPod 有了 priority(优先级) 后才有优先级调度、抢占调度的说法,高优先级的 pod 可以在调度队列中排到前面,优先选择 node;另外当高优先级的 pod 找不到合适的 node 时,就会看 node 上低优先级的 pod 驱逐之后是否能够 run 起来,如果可以,那么 node 上的一个或多个低优先级的 pod 会被驱逐,然后高优先级的 pod 得...原创 2019-11-28 10:35:21 · 434 阅读 · 0 评论 -
k8s源码分析——kube-apiserver源码阅读
前言Kubernetes API Server 是有kube-apiserver进程实现的,他运行在Kubernetes的管理节点--Master上,并对外提供Kubernetes Restful API,它提供的主要是与集群管理相关的API服务,例如校验pod、service、rc controller的配置并存储到后端的etcd server上。下面我们分别对其启动过程、关键代码分析及设计...原创 2019-11-25 16:55:00 · 1882 阅读 · 0 评论 -
Kubernetes 源码分析 -- API Server之编解码
在Kubernetes源码分析-- API Server之API Install篇中,我们了解到K8S可以支持多版本的API,但是Rest API的不同版本中接口的输入输出参数的格式是有差别的,Kubernetes是怎么处理这个问题的呢?另外Kubernetes支持yaml、json两个格式的配置,同时又能够支持json、yaml和pb等格式的编解码进行协议传输,那么Kubernetes又是如何实...转载 2019-11-25 14:55:27 · 1031 阅读 · 0 评论 -
Kubernetes 源码分析 -- API Server之API安装
前言API Server的启动中,我们直到介绍了三种服务Master、CustomResourceDefinitions、Aggrator的创建,但是具体的API的创建部分没有介绍。本文旨在把这块说清楚,让我们了解整个API Server对外提供了哪些API,这些API是在怎样被注册到服务中去的。我们知道,API Server对外提供的Http/Https服务,这都是基于go http服务框...转载 2019-11-25 14:53:12 · 868 阅读 · 0 评论 -
Kubernetes 源码分析 -- API Server之Etcd存储
StorageEncodingOverridesKubernetes资源数据存储在ETCD中,存储的数据格式缺省为:application/json,版本使用__internal版本。具体见:MergeGroupEncodingConfig函数,所以从获取资源的时候,我们是不需要指定版本的。一般基于:schema.GroupResource类型去获取资源,如果要获取所有的资源,资源可以指定为“...转载 2019-11-25 14:27:58 · 1424 阅读 · 1 评论