Welcome to the Linux Foundation Forum!

Unable to set master-node env

Hello,
I'm trying to run the first lab but after struggling a lot I still cannot even run the k8scp.sh script. I'm running the nodes on two separate local VMs (Ubuntu 20.04 server) and accessing them through putty. All I get is a bunch of errors and no kubeadm join token, plus once I run the script I'm not able to run it again 'cause it says "the script has already been run on control plane". At this point I don't know what else I can do. For completeness, I also disabled the swap and the SElinux.
Thank you

Comments

  • chrispokorni
    chrispokorni Posts: 2,340

    Hi @alessandro.cinelli,

    The screenshot shows lots of connection refused errors. When provisioning local VMs it is important to properly configure the VM to VM network, which is managed by the hypervisor.
    Please ensure that each VM has:
    - 2 (v)CPU cores and 8 GB RAM (4 GB is the bare minimum, but I'd recommend 8 if possible)
    - 20+ GB disk space
    - Ubuntu 20.04 LTS
    - 1 single network interface, bridged (combining 2 interfaces, NAT and host, may cause issues)
    - private IP assigned static or DHCP, that is NOT from the 10.0.0.0/8 subnet to avoid overlaps with the Cilium CNI pod network
    - no firewalls between VMs, configure the hypervisor to allow all ingress/inbound traffic to the VMs (that is ALL protocols from ALL sources, to ALL ports)

    Regards,
    -Chris

  • Hello @chrispokorni ,
    thank you so much for your answer.
    My configuration is exactly that one. I also have 1 single network interface (bridged) and I also assigned a private static IP to my vm but still I'm getting the same errors. I need to check for the hypervisors' settings.

  • chrispokorni
    chrispokorni Posts: 2,340

    Hi @alessandro.cinelli,

    I have been using VirtualBox for a long time and it has a promiscuous mode that once enabled it can allow all inbound traffic if properly set. However, I am not sure what is the equivalent of this feature for other local hypervisors.

    Regards,
    -Chris

  • Hi @chrispokorni
    Yes, searching around I found that and enabled with (Promiscuous mode - allow all) but still getting the same errors. I also tried to change the other configs with no luck. I tried the passages on two different computers so it's probably something in the settings.

  • chrispokorni
    chrispokorni Posts: 2,340

    Hi @alessandro.cinelli,

    Prior to runninig the k8scp.sh script, what private IP address is assigned to the VM? You can list IP addresses with the ip a command.

    I just tested the script on a VirtualBox VM and it sets up the control plane environment without any issues.

    Regards,
    -Chris

  • Hi @chrispokorni

    This is what the command ip a shows me. The ip 192.168.1.247 is the private ip I assigned to the machine.

  • chrispokorni
    chrispokorni Posts: 2,340

    Hi @alessandro.cinelli,

    Thanks for the clarifying screenshot.
    Installing both Calico and Cilium on the same VM is like dropping two engines under the hood and expecting them to run the car. Calico is no longer the CNI network plugin of the lab environment, and it has not been for quite some time now. Calico was replaced with Cilium for the lab environment.

    Please start with a fresh set of VMs and run the install scripts as they are supplied by the latest release of the training guide. They will install and configure Cilium. Again, make sure the VMs are on the 192.168.0.0/16 subnet, to avoid routing issues.

    Regards,
    -Chris

  • Hi @chrispokorni
    I Actually just run the scripts inside https://cm.lf.training/LFD259/LFD259_V2024-06-14_SOLUTIONS.tar.xz file as the instructions say in the lab. I did nothing but that, I didn't use any other script besides the one provided.

  • chrispokorni
    chrispokorni Posts: 2,340

    Hi @alessandro.cinelli,

    I understand you only used the materials provided to attempt to install and configure the Kubernetes cluster. However, your VM, in addition to the recommended OS, shows components that are not part of the install scripts. My guess is that they have been installed prior to the class material installation. I can only see Docker and Calico, but there may be others. These components alone are conflicting with Kubernetes dependencies.

    My recommendation, for a successful Kubernetes cluster installation, is to start with two fresh VMs. Boot them with the recommended OS, and only run the installation scripts provided by the latest release of the training manual and lab guide, without installing any additional software.

    Regards,
    -Chris

  • Hi @chrispokorni,
    thank you so much for the help and patience. It turned out for some reason I installed the docker package which installed Calico by itself. I made fresh VMs and finally managed to create the cluster correctly.
    Thank you

Categories

Upcoming Training