kubeedge cloud leader election
2021-03-05 11:01:07 3 举报
登录查看完整内容
kubeedge cloud leader election
作者其他创作
大纲/内容
k8s.io/client-go/tools/leaderelection
- NewLeaderElector(leaderElectionConfig): leaderElector- LeaderElector.Run(ctx)- acquire- renew- tryAcquireOrRenew
TryToPatchPodReadinessGate
- Check environment \"CLOUDCORE_POD_NAME\
config.LeaderElection.LeaderElect
- Create recorder- New kube client- Create namespace if needed- Create leaderelection configuration- Set leaderelection callback
leaderelection
NewLeaderReadyzAdaptorRun
k8s.io/client-go/tools/record.broadcaster
- NewRecorder
k8s.io/client-go/tools/leaderelection/resourcelock
LeaderElectionRecord { HolderIdentity LeaseDurationSeconds AcquireTime RenewTime LeaderTransitions }
Run
- Try to patch PodReadinessGate if program runs in pod(status=false)- build leader election configuration- New leader electer- Set ready leader elector- leader elector run
NewCloudCoreCommand
registerModules
makeLeaderElectionConfig
- leaderelection: LeaderElect: true LeaseDuration: 15s RenewDeadline: 10s ResourceLock: endpointsleases ResourceName: cloudcorelease ResourceNamespace: kubeedge RetryPeriod: 2s - Create resource lock- Create leaderelection configuration
httpserver
- DefaultCloudCoreReadyCheckURL = \"/readyz\"set the route \"GET\" handler as electorChecker
ReadyzAdaptor
timeoutLeaderElectorpointerLock
- Check: Is leader- SetLeaderElection- NewLeaderReadyzAdaptor
0 条评论
回复 删除
下一页