cluster api v1alpha2 之 cluster
因为最近工作需要,调研了 cluster api provider aws.整理调研过程中的知识如下: manager cluster 是一个注册了多个 crd 并运行三个 controller 的普通 k8s 集群。 三个 controller 分别是:cabpk-controller-manager 核心功能是用来生产集群证书统一签发,核心进程的参数下发。capa-controller-...
因为最近工作需要,调研了 cluster api provider aws.整理调研过程中的知识如下: manager cluster 是一个注册了多个 crd 并运行三个 controller 的普通 k8s 集群。 三个 controller 分别是:cabpk-controller-manager 核心功能是用来生产集群证书统一签发,核心进程的参数下发。capa-controller-...
node controller 是负责初始化/维护一个k8s node 在云上标识的信息,主要信息如下: 1: 初始化node的云相关的zone/region信息labels。2: 初始化 node 的云上的实例信息,比如说 type 和 szie。3: 获取 node 的网络地址信息和主机名称。4: 当客户通过云的虚拟机管理面板删除主机的时候需要从 k8s 中同步的删除...
当 pod 的 CIDR 和所属的 node 不属于同一个 cidr 上时候,在部分云上就会有 pod 和 node 网络互通的问题,而 route controller 就是被设计用来创建路由解决这个问题的方案。 如果计划让 k8s 启动的 pod 从指定的 cidr 中分配 ip 常见的方式是通过指定 KCM 的启动参数cluster-cidr来指定 POD CIDR,servi...
service controller 负责观察 k8s 中 service 资源的创建,更新和删除事件。并基于当前 k8s 中的 service 状态去云上配置负载均衡,保证云上的负载均与 serivce 资源描述相一致。 service controller 在 cloud contorller 中的一个模块随 cloud controller 启动,可以通过启动 new serv...
cloud controller manager 是可插拔的,它运行新的 cloud provider 简单方便的与 Kubernetes 集成。 cloud provider 启动从 new 一个 cloud manager command 开始 12345func main() {... command := app.NewCloudControllerManag...
到新环境熟悉内部接口,postman 去调试内部服务接口发现接口没有返回,换个电脑调用正常。初步怀疑是自己电脑问题,遂打开 wireshark 根据目标主机 ip 结合路由信息判断的走的utun1接口出流量。 tcp-follow-all 上图通过 wireshark 看到我获取 cube 接口GET请求发出去,多次尝试依然都是http的 response 的没有被用户进程收到,w...
之前和同事聊天,同事问我服务器有网络延迟存在是如何同步时间的?鉴于之前知识背景我只能说参考一下 NTP(Synchronization Approaches for Packet-Based Networks [^Clock_Synchronization])服务。认真想一想就该发现时间服务作为现代社会的基础设施应该有相当一段历史了。 还是先关注计算机,在计算机中时钟是振荡器 + 计...
之前写一个需求需要做容器网络的规划,发现kuberntes在调度的时候不会把 ip 地址作为一个调度的参考项。也就是手当node上规划出来的子网中的 ip 用光且 cpu 和 mem 以及其他调度参考项都满足的时候 pod 还是会被分配到这个节点上,并且kubelet会伴随着如下报错: 1NetworkPlugin kubenet failed to set up pod "f...
做容器也有半年了,写需求的过程中发现当我创建LoaderBalancer类型的service时候kube-proxy iptables模式会产生一条公网规则的同步到集群中的全部节点上。当时我就很奇怪为啥公网 lb 还要生成iptables规则。 在梳理 iptables 规则之前先看一下loadBalancer类型的kuberntes service的流量链路,以腾讯云为例看一下腾讯...
我以为我以后用不到 netlink 了呢,今天又踩坑了。 公司的基础架构监控进程的一个线程通过 netlink 去获取内核数据,阻塞 IO 不返回,导致数据丢点。 1234567891011121314151617goroutine 18735 [syscall, 42 minutes]:syscall.Syscall6(0x2d, 0x15, 0xc4206be000, 0x1000, 0...