Welcome to the Linux Foundation Forum!

Lab 2.2 error on installation the Kubernetes cluster

Hi,

I have an issue with the lab 2.2, when I try to run k8sMaster.sh script happens an error and no work the process of installation, see below the issue:

The following packages have unmet dependencies:
 kubeadm : Depends: kubernetes-cni (= 0.6.0) but 0.7.5-00 is to be installed
 kubelet : Depends: kubernetes-cni (= 0.6.0) but 0.7.5-00 is to be installed
E: Unable to correct problems, you have held broken packages.

SO: Ubuntu 16.04

Comments

  • chrispokorni
    chrispokorni Posts: 2,357

    Hi,
    With the release of a new Kubernetes version, lately, we noticed that prior versions are impacted in one way or another.
    Version 1.13.1 used for the labs was impacted by the kubernetes-cni package, where the current dependency is set to kubernetes-cni version 0.7.5 (the lates). Unfortunately, version 0.7.5 is not supported by our lab environment Kubernetes version 1.13.1, thus we need to manually install kubernetes-cni version 0.6.0 which is the supported version by Kubernetes 1.13.1.

    Before running the installation bash scripts for both Master and Second nodes, please edit the scripts to add an extra step right before the Kubernetes version 1.13.1 components installation step. Once edited, the script should look similar to:

    <...>
    sudo apt-get update
    sudo apt-get install -y kubernetes-cni=0.6.0-00
    sudo apt-get install -y kubeadm=1.13.1-00 kubelet=1.13.1-00 kubectl=1.13.1-00 
    <...>
    

    Regards,
    -Chris

  • @chrispokorni said:
    Hi,
    With the release of a new Kubernetes version, lately, we noticed that prior versions are impacted in one way or another.
    Version 1.13.1 used for the labs was impacted by the kubernetes-cni package, where the current dependency is set to kubernetes-cni version 0.7.5 (the lates). Unfortunately, version 0.7.5 is not supported by our lab environment Kubernetes version 1.13.1, thus we need to manually install kubernetes-cni version 0.6.0 which is the supported version by Kubernetes 1.13.1.

    Before running the installation bash scripts for both Master and Second nodes, please edit the scripts to add an extra step right before the Kubernetes version 1.13.1 components installation step. Once edited, the script should look similar to:

    <...>
    sudo apt-get update
    sudo apt-get install -y kubernetes-cni=0.6.0-00
    sudo apt-get install -y kubeadm=1.13.1-00 kubelet=1.13.1-00 kubectl=1.13.1-00 
    <...>
    

    Regards,
    -Chris

    I have set the version of Docker to 18.06.1-0ubuntu1.2~16.04.1 because don't worked with update 18.09... Thanks @chrispokorni I finished the lab 2.2 successful.

  • crixo
    crixo Posts: 31

    Hi @edo.diaz.v

    I have set the version of Docker to 18.06.1-0ubuntu1.2~16.04.1 because don't worked with update 18.09...

    could you please share how do you explicitly installed the specific docker.io version "18.06.1-0ubuntu1.2~16.04.1"?
    I tried
    sudo apt-get install -y docker.io=18.06.1-0ubuntu1.2~16.04.1
    but didn't work out
    I tried the instruction on https://docs.docker.com/install/linux/docker-ce/ubuntu/ and I was able to installed that version
    sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu -y
    I'm going to try now if the docker-ce version works as well

  • @crixo said:
    Hi @edo.diaz.v

    I have set the version of Docker to 18.06.1-0ubuntu1.2~16.04.1 because don't worked with update 18.09...

    could you please share how do you explicitly installed the specific docker.io version "18.06.1-0ubuntu1.2~16.04.1"?
    I tried
    sudo apt-get install -y docker.io=18.06.1-0ubuntu1.2~16.04.1
    but didn't work out
    I tried the instruction on https://docs.docker.com/install/linux/docker-ce/ubuntu/ and I was able to installed that version
    sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu -y
    I'm going to try now if the docker-ce version works as well

    Hi, try with:

    sudo apt-get install -y --allow-downgrades docker.io=18.06.1-0ubuntu1.2~16.04.1

  • crixo
    crixo Posts: 31

    Hi @edo.diaz.v

    Hi, try with:

    sudo apt-get install -y --allow-downgrades docker.io=18.06.1-0ubuntu1.2~16.04.1

    didn't wok, that's what I got

    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    E: Version '18.06.1-0ubuntu1.2~16.04.1' for 'docker.io' was not found
    
  • @crixo

    What OS do you have?

    I have Ubuntu 16.04 and work ok.

  • crixo
    crixo Posts: 31
    edited April 2019

    Hi @edo.diaz.v
    sorry you are right your script works w/ Ubuntu 16.04.6 LTS
    my provisioning script created an Ubuntu 18.04.2 LTS that's why it was failing. Apparently on Ubuntu 18 I need to install docker-ce instead

    @edo.diaz.v said:

    What OS do you have?
    I have Ubuntu 16.04 and work ok.

  • serewicz
    serewicz Posts: 1,000

    Hello,
    The fix is to manually install the previous, working copy of the software prior to installing kubectl, kubeadm, and kubelet: apt-get install kubernetes-cni=0.6.0-00 Do this on the master and worker nodes.

    The particular version of the software was hard-coded into other packages, which have recently updated.

    Regards,

  • durschatz
    durschatz Posts: 2
    edited May 2019

    On one of my 6 nodes I had to use ----allow-downgrades arg to kubernetes-cni like so:

    <...>
    sudo apt-get update
    sudo apt-get install -y kubernetes-cni=0.6.0-00 ----allow-downgrades
    sudo apt-get install -y kubeadm=1.13.1-00 kubelet=1.13.1-00 kubectl=1.13.1-00 
    <...>
    

    The error I was getting was as follows:
    The following packages will be DOWNGRADED: kubernetes-cni 0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 4 not upgraded. E: Packages were downgraded and -y was used without --allow-downgrades.

    Not sure why this happened to just 1 out of 6 nodes.

Categories

Upcoming Training