Skip to content

Commit 66537af

Browse files
xmudriikubermatic-bot
authored andcommitted
Bind to the appropriate kubernetes-cni version (#309) (#310)
* Add the KubernetesCNIVersion method Signed-off-by: Marko Mudrinić <[email protected]> * Install correct kubernetes-cni version Signed-off-by: Marko Mudrinić <[email protected]> * Upgrade to correct kubernetes-cni version Signed-off-by: Marko Mudrinić <[email protected]>
1 parent 86e1648 commit 66537af

File tree

7 files changed

+158
-222
lines changed

7 files changed

+158
-222
lines changed

pkg/config/cluster.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,22 @@ func (m *VersionConfig) Validate() error {
235235
return nil
236236
}
237237

238+
// KubernetesCNIVersion returns kubernetes-cni package version
239+
func (m *VersionConfig) KubernetesCNIVersion() string {
240+
s := semver.MustParse(m.Kubernetes)
241+
c, _ := semver.NewConstraint(">= 1.13.0, <= 1.13.4")
242+
243+
switch {
244+
// Validation ensures that the oldest cluster version is 1.13.0.
245+
// Versions 1.13.0-1.13.4 uses 0.6.0, so it's safe to return 0.6.0
246+
// if >= 1.13.0, <= 1.13.4 constraint check successes.
247+
case c.Check(s):
248+
return "0.6.0"
249+
default:
250+
return "0.7.5"
251+
}
252+
}
253+
238254
// NetworkConfig describes the node network.
239255
type NetworkConfig struct {
240256
PodSubnetVal string `json:"pod_subnet"`

pkg/installer/installation/prerequisites.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ limitations under the License.
1717
package installation
1818

1919
import (
20+
"fmt"
21+
2022
"github.com/pkg/errors"
2123

2224
"github.com/kubermatic/kubeone/pkg/config"
@@ -146,6 +148,7 @@ func installKubeadmDebian(ctx *util.Context) error {
146148
_, _, err := ctx.Runner.Run(kubeadmDebianCommand, util.TemplateVariables{
147149
"KUBERNETES_VERSION": ctx.Cluster.Versions.Kubernetes,
148150
"DOCKER_VERSION": dockerVersion,
151+
"CNI_VERSION": ctx.Cluster.Versions.KubernetesCNIVersion(),
149152
})
150153

151154
return errors.WithStack(err)
@@ -190,14 +193,16 @@ sudo apt-get update
190193
191194
docker_ver=$(apt-cache madison docker-ce | grep "{{ .DOCKER_VERSION }}" | head -1 | awk '{print $3}')
192195
kube_ver=$(apt-cache madison kubelet | grep "{{ .KUBERNETES_VERSION }}" | head -1 | awk '{print $3}')
196+
cni_ver=$(apt-cache madison kubernetes-cni | grep "{{ .CNI_VERSION }}" | head -1 | awk '{print $3}')
193197
194-
sudo apt-mark unhold docker-ce kubelet kubeadm kubectl
198+
sudo apt-mark unhold docker-ce kubelet kubeadm kubectl kubernetes-cni
195199
sudo apt-get install -y --no-install-recommends \
196200
docker-ce=${docker_ver} \
197201
kubeadm=${kube_ver} \
198202
kubectl=${kube_ver} \
199-
kubelet=${kube_ver}
200-
sudo apt-mark hold docker-ce kubelet kubeadm kubectl
203+
kubelet=${kube_ver} \
204+
kubernetes-cni=${cni_ver}
205+
sudo apt-mark hold docker-ce kubelet kubeadm kubectl kubernetes-cni
201206
`
202207

203208
const kubeadmCentOSCommand = `
@@ -231,21 +236,23 @@ EOF
231236
sudo yum install -y --disableexcludes=kubernetes \
232237
docker kubelet-{{ .KUBERNETES_VERSION }}-0\
233238
kubeadm-{{ .KUBERNETES_VERSION }}-0 \
234-
kubectl-{{ .KUBERNETES_VERSION }}-0
239+
kubectl-{{ .KUBERNETES_VERSION }}-0 \
240+
kubernetes-cni-{{ .CNI_VERSION }}-0
235241
sudo systemctl enable --now docker
236242
`
237243

238244
func installKubeadmCentOS(ctx *util.Context) error {
239245
_, _, err := ctx.Runner.Run(kubeadmCentOSCommand, util.TemplateVariables{
240246
"KUBERNETES_VERSION": ctx.Cluster.Versions.Kubernetes,
247+
"CNI_VERSION": ctx.Cluster.Versions.KubernetesCNIVersion(),
241248
})
242249
return err
243250
}
244251

245252
func installKubeadmCoreOS(ctx *util.Context) error {
246253
_, _, err := ctx.Runner.Run(kubeadmCoreOSCommand, util.TemplateVariables{
247254
"KUBERNETES_VERSION": ctx.Cluster.Versions.Kubernetes,
248-
"CNI_VERSION": "v0.7.1",
255+
"CNI_VERSION": fmt.Sprintf("v%s", ctx.Cluster.Versions.KubernetesCNIVersion()),
249256
})
250257

251258
return err

pkg/upgrader/upgrade/kubeadm_package.go

Lines changed: 0 additions & 100 deletions
This file was deleted.

pkg/upgrader/upgrade/kubelet_package.go

Lines changed: 0 additions & 100 deletions
This file was deleted.

0 commit comments

Comments
 (0)