MCPcopy
hub / github.com/kubeedge/kubeedge / Install

Method Install

keadm/cmd/keadm/app/cmd/helm/cloudcore.go:92–191  ·  view source on GitHub ↗

Install uses helm client to install cloudcore release

(opts *types.InitOptions)

Source from the content-addressed store, hash-verified

90
91// Install uses helm client to install cloudcore release
92func (c *CloudCoreHelmTool) Install(opts *types.InitOptions) error {
93 ver, err := util.GetCurrentVersion(opts.KubeEdgeVersion)
94 if err != nil {
95 return fmt.Errorf("failed to get version with err:%v", err)
96 }
97 opts.KubeEdgeVersion = ver
98
99 // The flag --force would not care about whether the cloud components exist or not also.
100 // If gives a external helm root, no need to check and verify, because it is always not a cloudcore.
101 if !opts.Force && opts.ExternalHelmRoot == "" {
102 if err := c.verifyCloudCoreProcessRunning(); err != nil {
103 return err
104 }
105 }
106 if err := c.Common.OSTypeInstaller.IsK8SComponentInstalled(c.Common.KubeConfig, c.Common.Master); err != nil {
107 return fmt.Errorf("failed to verify k8s component installed, err: %v", err)
108 }
109
110 fmt.Printf("Kubernetes version verification passed, KubeEdge %s installation will start...\n", opts.KubeEdgeVersion)
111
112 appendDefaultSets(opts.KubeEdgeVersion, opts.AdvertiseAddress, &opts.CloudInitUpdateBase)
113 // Load profile values, and merges the sets flag
114 var vals map[string]interface{}
115 if opts.Profile != "" {
116 // Load extern values, and merges the sets flag
117 vals, err = MergeExternValues(opts.Profile, opts.GetValidSets())
118 if err != nil {
119 return err
120 }
121 } else {
122 valueOpts := &Options{
123 Values: opts.GetValidSets(),
124 }
125 vals, err = valueOpts.MergeValues()
126 if err != nil {
127 return err
128 }
129 }
130
131 // TODO: think about how to support addons, and should we support addons?
132 subDir := path.Join(dirCharts, cloudCoreHelmComponent)
133 componentName := cloudCoreHelmComponent
134
135 // Build a new renderer instance
136 renderer := NewGenericRenderer(kecharts.BuiltinOrDir(opts.ExternalHelmRoot),
137 subDir, componentName, constants.SystemNamespace, vals, opts.SkipCRDs)
138 // Load the charts to this renderer
139 if err := renderer.LoadChart(); err != nil {
140 return fmt.Errorf("cannot load the given charts %s, error: %s", renderer.componentName, err.Error())
141 }
142
143 helper, err := NewHelper(opts.KubeConfig, constants.SystemNamespace)
144 if err != nil {
145 return err
146 }
147 // Determine whether the cloudcore release has been installed
148 if rel, err := helper.GetRelease(renderer.componentName); err != nil {
149 return err

Callers 5

NewCloudInitFunction · 0.95
TestInstallBasicMockFunction · 0.95

Calls 15

MergeValuesMethod · 0.95
LoadChartMethod · 0.95
GetReleaseMethod · 0.95
GetConfigMethod · 0.95
GetCurrentVersionFunction · 0.92
appendDefaultSetsFunction · 0.85
MergeExternValuesFunction · 0.85
NewGenericRendererFunction · 0.85
NewHelperFunction · 0.85
PrintfMethod · 0.80
GetValidSetsMethod · 0.80

Tested by 3

TestInstallBasicMockFunction · 0.76