@@ -18,19 +18,27 @@ import (
1818)
1919
2020func buildK8sCluster (node uint32 , sshKey , network string , k models.K8sDeployInput ) (workloads.K8sCluster , error ) {
21+ myceliumIPSeed , err := workloads .RandomMyceliumIPSeed ()
22+ if err != nil {
23+ return workloads.K8sCluster {}, err
24+ }
25+
2126 master := workloads.K8sNode {
2227 VM : & workloads.VM {
23- Name : k .MasterName ,
24- Flist : k8sFlist ,
25- Planetary : true ,
26- NodeID : node ,
27- NetworkName : network ,
28+ Name : k .MasterName ,
29+ Flist : k8sFlist ,
30+ Planetary : true ,
31+ MyceliumIPSeed : myceliumIPSeed ,
32+ NodeID : node ,
33+ NetworkName : network ,
2834 },
2935 }
36+
3037 cru , mru , sru , ips , err := calcNodeResources (k .Resources , k .Public )
3138 if err != nil {
3239 return workloads.K8sCluster {}, err
3340 }
41+
3442 master .CPU = uint8 (cru )
3543 master .MemoryMB = mru * 1024
3644 master .DiskSizeGB = sru
@@ -40,23 +48,33 @@ func buildK8sCluster(node uint32, sshKey, network string, k models.K8sDeployInpu
4048
4149 workers := []workloads.K8sNode {}
4250 for _ , worker := range k .Workers {
51+ myceliumIPSeed , err := workloads .RandomMyceliumIPSeed ()
52+ if err != nil {
53+ return workloads.K8sCluster {}, err
54+ }
55+
4356 w := workloads.K8sNode {
4457 VM : & workloads.VM {
45- Name : worker .Name ,
46- Flist : k8sFlist ,
47- NodeID : node ,
48- NetworkName : network ,
58+ Name : worker .Name ,
59+ Flist : k8sFlist ,
60+ NodeID : node ,
61+ NetworkName : network ,
62+ Planetary : true ,
63+ MyceliumIPSeed : myceliumIPSeed ,
4964 },
5065 }
66+
5167 cru , mru , sru , _ , err := calcNodeResources (k .Resources , false )
5268 if err != nil {
5369 return workloads.K8sCluster {}, err
5470 }
71+
5572 w .CPU = uint8 (cru )
5673 w .MemoryMB = mru * 1024
5774 w .DiskSizeGB = sru
5875 workers = append (workers , w )
5976 }
77+
6078 k8sCluster := workloads.K8sCluster {
6179 Master : & master ,
6280 Workers : workers ,
@@ -77,7 +95,10 @@ func (d *Deployer) deployK8sClusterWithNetwork(ctx context.Context, k8sDeployInp
7795 }
7896
7997 // build network
80- network := buildNetwork (node , fmt .Sprintf ("%sk8sNet" , k8sDeployInput .MasterName ))
98+ network , err := buildNetwork (node , fmt .Sprintf ("%sk8sNet" , k8sDeployInput .MasterName ))
99+ if err != nil {
100+ return 0 , 0 , 0 , err
101+ }
81102
82103 // build cluster
83104 cluster , err := buildK8sCluster (node ,
@@ -128,29 +149,36 @@ func (d *Deployer) loadK8s(ctx context.Context, k8sDeployInput models.K8sDeployI
128149 if err != nil {
129150 return models.K8sCluster {}, err
130151 }
152+
131153 master := models.Master {
132- CRU : cru ,
133- MRU : mru ,
134- SRU : sru ,
135- Public : k8sDeployInput .Public ,
136- PublicIP : resCluster .Master .ComputedIP ,
137- Name : k8sDeployInput .MasterName ,
138- YggIP : resCluster .Master .PlanetaryIP ,
139- Resources : k8sDeployInput .Resources ,
154+ CRU : cru ,
155+ MRU : mru ,
156+ SRU : sru ,
157+ Public : k8sDeployInput .Public ,
158+ PublicIP : resCluster .Master .ComputedIP ,
159+ Name : k8sDeployInput .MasterName ,
160+ YggIP : resCluster .Master .PlanetaryIP ,
161+ MyceliumIP : resCluster .Master .MyceliumIP ,
162+ Resources : k8sDeployInput .Resources ,
140163 }
141- workers := []models.Worker {}
142- for _ , worker := range k8sDeployInput .Workers {
143164
165+ workers := []models.Worker {}
166+ for i , worker := range k8sDeployInput .Workers {
144167 cru , mru , sru , _ , err := calcNodeResources (worker .Resources , false )
145168 if err != nil {
146169 return models.K8sCluster {}, err
147170 }
171+
148172 workerModel := models.Worker {
149- Name : worker .Name ,
150- CRU : cru ,
151- MRU : mru ,
152- SRU : sru ,
153- Resources : worker .Resources ,
173+ Name : worker .Name ,
174+ CRU : cru ,
175+ MRU : mru ,
176+ SRU : sru ,
177+ Public : k8sDeployInput .Public ,
178+ PublicIP : resCluster .Workers [i ].ComputedIP ,
179+ YggIP : resCluster .Workers [i ].PlanetaryIP ,
180+ MyceliumIP : resCluster .Workers [i ].MyceliumIP ,
181+ Resources : worker .Resources ,
154182 }
155183 workers = append (workers , workerModel )
156184 }
0 commit comments