多任务版爬虫
2018-06-26 22:42:17 0 举报
多任务版
作者其他创作
大纲/内容
查询这个IP对应的ipamblock,存在?
存储域名IP对应关系
CoreDNS
调用API Server获取Pod完整信息
二期集群 *ly2.hpc
podIP
固定IP是否占用该IP
三期集群
List/Watch
查看实例状态
结束
自定义控制器
etcd
分配失败
集群内CoreDNS
是
否
macvlan-controller
从Args里获取Pod信息
内网DNS
集群CoreDNS
从该StatefulSet的固定IP数据中获取IP,并更新Pod对应IP状态
*.ly2.hpc
*.ly3.hpc
mysql-1
Request
更新mysql集群主从状态
创建该StatefulSet的固定IP数据
外部业务
指定IP分配:AssignIP
三期集群 *ly3.hpc
中间件IP Pool
Kubernetes APIServer
查看etcd中是否存在该StatefulSet固定IP
分配成功,将pod信息更新到ipamblock attributes中
forward
Engine
是否为StatefulSet
上层集群
mysql-0
Pod
是否相等
读写域名解析
middleware-server service
解析Pod的ownerReferences
etcd插件
主从同步互访对方域名
从IP Pool中获取IP
解析出读写域名地址,业务直通IP访问
尝试从IPPoolMaintainer中分配,成功?
成功更新IPPoolMaintainer?
F5
查询attributes中的旧pod是否存在
回收IP,更新etcd中固定IP相关结构值
查询IPPoolMaintainers对象
成功创建Calico IPPool?
ippool-server service
更新etcd中固定IP的isDelete状态为true
普通业务IP Pool
比较sts replicas与当前固定IP的IP Address长度
print(items)
从IPPoolApply里获取Required信息
查看attributes中的pod信息是否和当前pod name和namespace一致
中间件集群
middleware-server pod2
查询calico IPPool是否存在
不相等
集群CoreDSN
calico-node
mysqlCluster CRD
创建ipamblock
根据差值查看IP状态
Worker
mysql域名配置:ngcs.db.cs.core.cmos CNAME ng.zjjpt-mysql.svc.ly3.hpc.中间件泛域名配置:*.csf.zjjpt-redis.svc.ly2.hpc CNAME *.csf.zjjpt-redis.svc.ly3.hpc.
webapi
查询ipamblock中的allocations[b]的值是否为空
macvlan-ipam
轮询转发
ippool-server pod1
Middleware-API、Web-API
mysql operator
回收calico IPPool中的IP到IPPoolMaintainer对象
/skydns/hpc/ly2/svc/ns/svcname/pod-0{\"host\":\"112.1.1.1\"}
middleware-server pod1
获取要删除的calico IPPool name
计算IP相对该ipamblock起始IP的偏移量b
calico-ipam
更新etcd中非固定IP相关数据
二期集群
开始
查看域名对应的mysql集群主从状态
kubernetes插件
ippool-server pod2
kubernetes ly2.hpc ly3.hpc { .....}
成功删除Calico IPPool?
APIServer
查询域名对应的IP
中间件
监控StatefulSet变化
*.svc.cluster.local
三期淮安集群
Scheduler
isDelete是否为true
从对应中间件IP Pool中申请IP
0 条评论
下一页