Welcome to the Linux Foundation Forum!

Lab 3.1 Cannot install kubernetes

Options

I was following precisely but it didn't workout.
here is my kubeadm-init.out
`[init] Using Kubernetes version: v1.25.1
[preflight] Running pre-flight checks
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'
[certs] Using certificateDir folder "/etc/kubernetes/pki"
[certs] Generating "ca" certificate and key
[certs] Generating "apiserver" certificate and key
[certs] apiserver serving cert is signed for DNS names [k8scp kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 192.168.160.176]
[certs] Generating "apiserver-kubelet-client" certificate and key
[certs] Generating "front-proxy-ca" certificate and key
[certs] Generating "front-proxy-client" certificate and key
[certs] Generating "etcd/ca" certificate and key
[certs] Generating "etcd/server" certificate and key
[certs] etcd/server serving cert is signed for DNS names [k8scp localhost] and IPs [192.168.160.176 127.0.0.1 ::1]
[certs] Generating "etcd/peer" certificate and key
[certs] etcd/peer serving cert is signed for DNS names [k8scp localhost] and IPs [192.168.160.176 127.0.0.1 ::1]
[certs] Generating "etcd/healthcheck-client" certificate and key
[certs] Generating "apiserver-etcd-client" certificate and key
[certs] Generating "sa" key and public key
[kubeconfig] Using kubeconfig folder "/etc/kubernetes"
[kubeconfig] Writing "admin.conf" kubeconfig file
[kubeconfig] Writing "kubelet.conf" kubeconfig file
[kubeconfig] Writing "controller-manager.conf" kubeconfig file
[kubeconfig] Writing "scheduler.conf" kubeconfig file
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Starting the kubelet
[control-plane] Using manifest folder "/etc/kubernetes/manifests"
[control-plane] Creating static Pod manifest for "kube-apiserver"
[control-plane] Creating static Pod manifest for "kube-controller-manager"
[control-plane] Creating static Pod manifest for "kube-scheduler"
[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
[kubelet-check] Initial timeout of 40s passed.

Unfortunately, an error has occurred:
timed out waiting for the condition

This error is likely caused by:
- The kubelet is not running
- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
- 'systemctl status kubelet'
- 'journalctl -xeu kubelet'

Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI.
Here is one example how you may list all running Kubernetes containers by using crictl:
- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock ps -a | grep kube | grep -v pause'
Once you have found the failing container, you can inspect its logs with:
- 'crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock logs CONTAINERID'
~
`

systemctl status kubelet shows
Mar 13 21:41:19 k8scp kubelet[44354]: E0313 21:41:19.194693 44354 kubelet.go:2448] "Error getting node" err="node \"k8scp\" not found" Container runtime network network not ready" networkReady="NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized"
which is a little bit weird cause my
/etc/hosts looks like
cat /etc/hosts 192.168.100.176 k8scp 127.0.0.1 localhost
but running this command i got
root@k8scp:/home/gregor/lab# crictl --runtime-endpoint unix:///var/run/containerd/containerd.sock ps -a | grep kube | grep -v pause 4dad9ac529044 4df0903523686 26 minutes ago Running kube-scheduler 85 716f1e3a5da2e kube-scheduler-k8scp a1b5d8bab54a6 4d904f9df20a0 26 minutes ago Running kube-controller-manager 80 33dd072864f65 kube-controller-manager-k8scp e40ecec31cb7b b09a3dc327be2 29 minutes ago Running kube-apiserver 74 ffa608ef7939a kube-apiserver-k8scp 8b72770ae2d6f 4df0903523686 32 minutes ago Exited kube-scheduler 84 716f1e3a5da2e kube-scheduler-k8scp 503370de14745 4d904f9df20a0 32 minutes ago Exited kube-controller-manager 79 33dd072864f65 kube-controller-manager-k8scp bd1ecbca0e468 b09a3dc327be2 About an hour ago Exited kube-apiserver 73 ffa608ef7939a kube-apiserver-k8scp
so it seems some containers are working correctly
however kubelet non stop show errors node not found

Comments

  • maybel
    maybel Posts: 45
    Options

    I wonder why you didn't get an answer. I have a problem installing Kubernetes as well.

  • chrispokorni
    chrispokorni Posts: 2,190
    edited March 2023
    Options

    Hi @gslusarek,

    What type of infrastructure is hosting your cluster? Cloud VMs instances or local hypervisor provisioned VMs? What IP addresses are assigned to your VMs? Is traffic allowed to all VM ports, all protocols, from all sources? What are the specs of the VMs (CPU, mem, disk)? What is your guest OS, the recommended Ubuntu 20.04 LTS?

    EDIT: I noticed you are using k8scp as a hostname for the control plane node. It was never intended as such, and it should be used only as an alias.

    Regards,
    -Chris

  • chrispokorni
    chrispokorni Posts: 2,190
    Options

    Hi @maybel,

    Would you mind describing the "problem" you encountered?

    Regards,
    -Chris

  • maybel
    maybel Posts: 45
    Options

    Hi @chrispokorni , this is my headache:
    root@cp2:~# apt-get update
    Hit:1 http://europe-west1.gce.archive.ubuntu.com/ubuntu focal InRelease
    Get:2 http://europe-west1.gce.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
    Get:3 http://europe-west1.gce.archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
    Hit:4 https://download.docker.com/linux/ubuntu focal InRelease
    Err:5 http://apt.kubenetes.io kubernetes-senial InRelease
    Could not resolve 'apt.kubenetes.io'
    Get:6 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
    Fetched 336 kB in 1s (378 kB/s)
    Reading package lists... Done
    W: Failed to fetch http://apt.kubenetes.io/dists/kubernetes-senial/InRelease Could not resolve 'apt.kubenetes.io'
    W: Some index files failed to download. They have been ignored, or old ones used instead.
    and here my history:
    apt-get update && apt-get upgrade -y
    2 apt-get install -y vim
    3 apt install curl apt-transport-https vim git wget gnupg2 software-properties-common lsb-release ca-certificates uidmap -y
    4 swapoff -a
    5 modprobe overlay
    6 modprobe br_netfilter
    7 cat << EOF | tee /etc/sysctl.d/kubernetes.conf
    8 net.bridge.bridge-nf-call-ip6tables = 1
    9 net.bridge.bridge-nf-call-iptables = 1
    10 net.ipv4.ip_forward = 1
    11 EOF
    12 sysctl --system
    13 sudo mkdir -p /etc/apt/keyrings
    14 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    15 echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
    16 https://download.docker.com/linux/ubuntu \
    17 $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    18 apt-get update && apt-get install containerd.io -y
    19 containerd config default | tee /etc/containerd/config.toml
    20 sed -e 's/SystemdCgroup = false/SystemdCgroup = true/g' -i /etc/containerd/config.toml
    21 systemctl restart containerd
    22 vim /etc/apt/sources.list.d/kubernetes.list
    23 cat /etc/apt/sources.list.d/kubernetes.list
    24 curl -s \https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
    25 curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
    26 apt-get update
    27 apt-get remove docker docker-engine docker.io containerd runc
    28 #history
    29 history
    30 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    31 echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
    https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list /dev/null
    32 apt-get update && apt-get install containerd.io -y
    33 containerd config default | tee /etc/containerd/config.toml
    34 sed -e 's/SystemdCgroup = false/SystemdCgroup = true/g' -i /etc/containerd/config.toml
    35 crictl config --set runtime-endpoint=unix:///run/containerd/containerd.sock --set image- endpoint=unix:///run/containerd/containerd.sock
    36 crictl --runtime-endpoint unix:///var/run/crio/crio.sock version
    37 VERSION="v1.25.0"
    38 wget https://github.com/kubernetes-sigs/cri-tools/releases/download/$VERSION/crictl-$VERSION-linux-amd64.tar.gz
    39 sudo tar zxvf crictl-$VERSION-linux-amd64.tar.gz -C /usr/local/bin
    40 rm -f crictl-$VERSION-linux-amd64.tar.gz
    41 crictl config --set runtime-endpoint=unix:///run/containerd/containerd.sock --set image- endpoint=unix:///run/containerd/containerd.sock
    42 crictl config --set runtime-endpoint=unix:///run/containerd/containerd.sock --set image-
    43 crictl config --set runtime-endpoint=unix:///run/containerd/containerd.sock --set image- endpoint=unix:///run/containerd/containerd.sock
    44 crictl config --set runtime-endpoint=unix:///run/containerd/containerd.sock --set image-endpoint=unix:///run/containerd/containerd.sock
    45 systemctl restart containerd
    46 vim /etc/apt/sources.list.d/kubernetes.list
    that's all.

  • maybel
    maybel Posts: 45
    Options

    I followed all the steps in lab 3.1. my cp is ubuntu 20.04. Machine type
    e2-standard-2
    CPU platform
    Intel Broadwell
    Architecture
    x86/64
    But the protocol description is empty in my vpc network details; my VPC firewalls deployment scope said: "Global."

  • chrispokorni
    chrispokorni Posts: 2,190
    Options

    Hi @maybel,

    I would make sure there are no typos in commands and config files. Revisit step 14 of Lab exercise 3.1 - Install Kubernetes where the /etc/apt/sources.list.d/kubernetes.list file and correct the entries.

    Regards,
    -Chris

  • gslusarek
    Options

    @chrispokorni It was my fault, first I used ubuntu 22.04 then I messed up step with 13 with sed-ing _SystemdCgroup _, anyway I repeat it on ubuntu 20.04 and everything went smoothly.
    Thanks for the help.

  • maybel
    maybel Posts: 45
    Options

    Thank you, @chrispokorni . At last, it works!!!!!

Categories

Upcoming Training