puml格式,装plant uml查看
@startuml keadm-init-v1.10.0
' Author: xiaoyang.chen
' mail: xiaoyang.chen@???.com
start
: keadm init args (基于v1.10.0);
note left
args:
kubeedge-version, kubeedge的版本
kube-config, kubeedge的配置文件路径, 默认"/root/.kube/config"
master, k8s Master节点地址
advertise-address, cloud-core证书下的扩展项SubAltNames的ip信息,
即kubeedge云端节点ip地址
domainname, cloud-core证书下的扩展项SubAltNames的域名信息,
即kubeedge云端节点域名
tarballpath, kubeedge二进制安装包tar包的路径,
tar包的目录层次参照github的kubeedge仓库, 默认KubeEdgePath = "/etc/kubeedge/"
example:
keadm init
--advertise-address="101.33.227.236"
--kubeedge-version 1.10.0
end note
: 解析keadm init args的args, AddToolsVals;
partition "添加部署工具信息\n (func Add2ToolsList(\n toolList map[string]types.ToolsInstaller, \n flagData map[string]types.FlagData, \n initOptions *types.InitOptions \n) error)" {
: var kubeVer string;
if (参数"kubeedge-version"存在) then (yes)
: kubeVar = val of args "kubeedge-version";
endif
if (kubeVer == "") then (yes)
: var latestVersion string;
while (i := 0; i < util.RetryTimes(默认 5); i++)
: 通过 https://kubeedge.io/latestversion
获取最新的版本信息;
if (获取最新版本的err, err != nil) then (yes)
: 打印错误信息;
else (no)
if (获取到的版本号字符串长度大于0) then (yes)
: 版本号剪除前缀"v", v1.10.0=>1.10.0
并赋值给 kubeVar;
: latestVersion = 版本号(未剪除"v");
break
endif
endif
endwhile
if (len(latestVersion) == 0) then (yes)
: kubeVer = types.DefaultKubeEdgeVersion (1.10.0);
: 打印错误信息;
endif
endif
: common := util.Common{...} \n (\n 携带kubeedge版本号(解析 kubeVar), \n kubeedge配置文件路径(args kube-config), \n k8s Master节点地址(args master) \n);
: toolList["Cloud"] = &util.KubeCloudInstTool{common, ...} \n (\n 携带cloud-core证书下的扩展项SubAltNames的ip信息(args advertise-address), \n cloud-core证书下的扩展项SubAltNames的域名信息(args domainname), \n kubeedge二进制安装包tar包的路径(args tarballpath) \n);