Please note one important step that I forgot to go over in the video--make sure to forward IPv4 and let iptables see the bridged traffic as described: kubernetes.io/docs/setup/production-environment/container-runtimes/#forwarding-ipv4-and-letting-iptables-see-bridged-traffic
I have done the Forwarding IPv4 and letting iptables see bridged traffic but still the pods of calico-kube-controllers, calico-node and coredns are not coming up as ready.
The documentation can be pretty complicated and most of the tutorial that I saw aren't showing how to install kubernetes as it described in the documentation. After watching this video I was able to install it, thank you!
Thank you so much for making this video, I was passing wrong cni pod cidr that caused errors. After seeing this guide I was able to create cluster without any issues 😃🙏
Great work man I used to set up the k8s cluster a few years ago and things got changed a lot since then and now when I am trying to set up a cluster it is not working as previously now your tutorial saved me Thanks man.
Thank you so much brother and till now I have seen many TH-cam videos and they all are provided a custom commands for installing kubernetes cluster but other not working at all and I have face many problems doing those so actually I found a great video right now thank you so much for showing the how to setup to kubeadm kubernetes cluster with official documentation.
Man, you saved me with this one. Im setting up k8s cluster with kubeadm for the first time and got stuck with this "multiple socket" problem from kubeadm init command. Adding --cri-socket parameter solved it! It would be great if you would make some video about metalb integration to the cluster (for ingress).
Great work man. I've been trying to setup it up for about a week, and was finally able after watching your video. My main issue was that I wasn't setting the correct 'cidr' flag, for the cni plugins I tried.
Hello David, 2 questions: a) do I have to forward the ipv4 also on the working node? b) how do I join the working node to the control plane? Everything else seems to be working ;-)
Thank you for the tutorial it's pretty helpfull, I have a question please, after the install of Calico by the yaml file, I have got the error: The connection to the server :6443 was refused - did you specify the right host or port?
Thank you for your reply, after investigation, it turns out that I should have installed the container runtime and Kubernetes as root user instead of another admin user, that worked perfectly after doing so Thank you again for your help :)
You skipped the cgroup driver configuration part and did not tell us about it either. You should cover those parts that you are committing in the video. Anyway, thanks for this video. It is really helpful for setting up a Kubernetes cluster for a bigener.
It helped me to setup the cluster but after installing calico my core dns pods are not coming up . I have changed the pod cidr in calico.yaml. After running kubeadm init all the pods are running except the core dns and then I installed calico but calico node pod itself is not coming up.
Awesome tutorial. But somehow my pods running on 2 different nodes can not communicate with each other. The ones which are on the control-plane node can communicate. Am I missing something here? Is calico supposed to be deployed on worker nodes too?
I am getting an error Waiting for kubelet to boot up the control plane as static pods from directory etc/kubernetes/manifests. This can take up to 4m0s. Connection refused
@dhij Great job! I could create a control plane. Do you know how I would create a windows worker node and add it to the control plane? That would be super useful. Looking forward to your tutorial
I followed the exact the same steps while running K8 on Ubuntu 20. I am getting an error while checking the status of kubelet Active: activating (auto-restart). Could you please suggest what might be the issue.
Hi, do we have to repeat the procedure with CRI stuff on worker nodes or is this enough just for the Master node? Thank you for great tutorial, I was stuck with [ERROR CRI]: container runtime is not running error
thank you so much, my coredns works now! i'm getting an error for one of the pods (calico-kube-controllers-57b57c56f...). its state seems to oscillate between ErrImagePull and ImagePullBack. I took the same steps as you did and even reset kubeadm. i dont use docker, only containerd. i've tried to pull the image from dockerhub but no use (stuck in infinite loop). any ideas on how this could be solved?
thank you! the ErrImagePull can happen because of many different reasons so its hard to tell. you can try reading the logs and make sure you are pulling the right image with the tag
Which distro are you using? if you are on ubuntu, here is what i found: askubuntu.com/questions/1030179/package-docker-ce-has-no-installation-candidate-in-18-04
The 192 IP range is the pod network cidr, and it is a provider-specific value as mentioned in the 2nd point here: kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#initializing-your-control-plane-node And it is mentioned in the first bullet point here (kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network) that the pod network must not overlap with any of the host networks. The 10 IP range is the internal IP address assigned for my VM on Google Cloud. Hope that helps!
@@dhij how do i connect to the pods running on the worker nodes groom browser? The pods are running on private IP 192.*.*.* Something. How do I access them from browser
@@dhij how do i connect to the pods running on the worker nodes groom browser? The pods are running on private IP 192.*.*.* Something. How do I access them from browser
After mu Cluster join command , I gotta this message below , Any idea =) Found multiple CRI endpoints on the host. Please define which one do you wish to use by setting the 'criSocket' field in the kubeadm configuration file: unix:///var/run/containerd/containerd.sock, unix:///var/run/cri-dockerd.sock To see the stack trace of this error execute with --v=5 or higher
Ok . Today I have pretty much time and I learned logic of kubernetes =) Now I have 1 master +3 worker nodes cluster =) I will try to create 2 scripts ; 1 is for worker nodes. 1 is for master node... Thanks a lot =)
Please note one important step that I forgot to go over in the video--make sure to forward IPv4 and let iptables see the bridged traffic as described: kubernetes.io/docs/setup/production-environment/container-runtimes/#forwarding-ipv4-and-letting-iptables-see-bridged-traffic
at which step is the forward created? Right before kubeadm init?
@@jasoncoltrin6181 either before or after, that shouldnt matter too much!
@@dhij Awesome finally all my pods are running! How many of these steps need to be done on the nodes prior to running the kubeadm join ?
@@jasoncoltrin6181 Awesome! Once you do your kubeadm init and set up your pod networking on your controlplane node, the kubeadm join should work fine
I have done the Forwarding IPv4 and letting iptables see bridged traffic but still the pods of calico-kube-controllers, calico-node and coredns are not coming up as ready.
This video tutorial continues to be effective in the third quarter of 2023. Extremely helpful!
Thank you for confirming!
For anyone having problems getting the init to work (timeout crash after 4min), you have to turn swap off (sudo swapoff -a). Thanks for awesome video.
The documentation can be pretty complicated and most of the tutorial that I saw aren't showing how to install kubernetes as it described in the documentation.
After watching this video I was able to install it, thank you!
Exactly! Awesome, glad that helped!
thank you so much for this, I've been trying to get kubernetes running using outdated videos and hit all kinds of depreciation issues
Glad it helped!
big thank you bro you solve my problem ,i am stuck continue 3 days ago now , my k8s error free big thank you.
You welcome, glad it helped!
I was trying to install kubernetes using kubeadm from past 2 days in a ubuntu arm64 vm in mac os m1. Your video helped me!
Thank you for the full installation video. Appreciate it sir.
best guide to help you understand creating a 3 node cluster.
Thank you!
Thanks David, well explained installation process.
Thank you so much for making this video, I was passing wrong cni pod cidr that caused errors. After seeing this guide I was able to create cluster without any issues 😃🙏
Glad to hear it worked out for you 🙂
Great instructions helped my undderstand the concepts.
Great work man I used to set up the k8s cluster a few years ago and things got changed a lot since then and now when I am trying to set up a cluster it is not working as previously now your tutorial saved me Thanks man.
Glad to hear, thank you!
Thank you so much brother and till now I have seen many TH-cam videos and they all are provided a custom commands for installing kubernetes cluster but other not working at all and I have face many problems doing those so actually I found a great video right now thank you so much for showing the how to setup to kubeadm kubernetes cluster with official documentation.
Glad that helped!!
Thank you so much for your explanation, I've been blocked in kubernetes installation on a Ubuntu distro for so long
Glad that helped!
Man, you saved me with this one. Im setting up k8s cluster with kubeadm for the first time and got stuck with this "multiple socket" problem from kubeadm init command. Adding --cri-socket parameter solved it! It would be great if you would make some video about metalb integration to the cluster (for ingress).
Great! I actually came across a blog post a few days ago that used metallb for networking, this might help: rpi4cluster.com/k3s/k3s-nw-setting/
thank you for your video. very well explained tutorial!
thank you!
Awesome video really helped give a clear explanation of the setup, the kube docs are good but a clear well paced video like this really helps
glad it helped!
Hi, Thank you very much. finally my k8s cluster in cloud vm, up and running :))
Awesome!
Como te quiero chavalín!!! Eres un grande
Great work man. I've been trying to setup it up for about a week, and was finally able after watching your video. My main issue was that I wasn't setting the correct 'cidr' flag, for the cni plugins I tried.
Nice, glad that helped!
Thanks a lot. The best guide for k8s setup👍
appreciate it!
Thank you very much for this guide, deeply appreciated!
glad that helped!
Awesome bro ❤very useful of your guidance for setup kubernet on server 🔥
Glad it helped bro!
Thanks tou David! It's was very helpfull!
Hello David,
2 questions:
a) do I have to forward the ipv4 also on the working node?
b) how do I join the working node to the control plane?
Everything else seems to be working ;-)
I respond myself.
a) not necessary
b) coping the command with the token of the control plane
thanks David ;-)
Omg dude, you're the best
Thank you for the tutorial it's pretty helpfull,
I have a question please, after the install of Calico by the yaml file, I have got the error:
The connection to the server :6443 was refused - did you specify the right host or port?
it might mean that the default api server that calico is configured to use is different from where your apiserver is actually running
Thank you for your reply, after investigation, it turns out that I should have installed the container runtime and Kubernetes as root user instead of another admin user, that worked perfectly after doing so
Thank you again for your help :)
subscribed in less than a minute draggging the video
hahah thanks man!
very good tutorial, pretty comprehensive
Appreciate it!
Appreciate the good work mate
thank you mate!
Classic work Great Man
soulation:
---------
root@ubuntu:~# cp /etc/kubernetes/admin.conf $HOME/
root@ubuntu:~# chown $(id -u):$(id -g) $HOME/admin.conf
root@ubuntu:~# export KUBECONFIG=$HOME/admin.conf
root@ubuntu:~# echo 'export KUBECONFIG=$HOME/admin.conf' >> $HOME/.bashrc
root@ubuntu:~# kubectl get pod -A --watch
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system calico-kube-controllers-57b57c56f-kddcs 1/1 Running 1 (43m ago) 19h
kube-system calico-node-pb42t 1/1 Running 1 (43m ago) 19h
kube-system coredns-787d4945fb-ght5s 1/1 Running 2 (43m ago) 19h
kube-system coredns-787d4945fb-nlx5q 1/1 Running 2 (43m ago) 19h
kube-system etcd-ubuntu 1/1 Running 1 (43m ago) 19h
kube-system kube-apiserver-ubuntu 1/1 Running 1 (43m ago) 19h
kube-system kube-controller-manager-ubuntu 1/1 Running 1 (43m ago) 19h
kube-system kube-proxy-phdpj 1/1 Running 1 (43m ago) 19h
kube-system kube-scheduler-ubuntu 1/1 Running 1 (43m ago)
Super you are the boss👍
Thank you very much that's helps me too much !
Glad it helped!
You skipped the cgroup driver configuration part and did not tell us about it either. You should cover those parts that you are committing in the video. Anyway, thanks for this video. It is really helpful for setting up a Kubernetes cluster for a bigener.
I want to set it up using script, so that I can run it as many times as I need. How to make script from this?
It helped me to setup the cluster but after installing calico my core dns pods are not coming up . I have changed the pod cidr in calico.yaml. After running kubeadm init all the pods are running except the core dns and then I installed calico but calico node pod itself is not coming up.
Have you tried `kubectl describe` or `kubectl logs` of the coredns pod to see what it says there?
Awesome tutorial. But somehow my pods running on 2 different nodes can not communicate with each other. The ones which are on the control-plane node can communicate. Am I missing something here? Is calico supposed to be deployed on worker nodes too?
what about intalling metrics server?
How do i join another control plane?
I am getting an error
Waiting for kubelet to boot up the control plane as static pods from directory etc/kubernetes/manifests. This can take up to 4m0s. Connection refused
try to write sudo swapoff -a
What about the opening of ports and disabling swap?
great video!
Thank you David.
Glad that helped!
very helpful !
@dhij Great job! I could create a control plane. Do you know how I would create a windows worker node and add it to the control plane? That would be super useful. Looking forward to your tutorial
Thank you Vejey! Glad that worked. Unfortunately I havent tried, did you have any luck with that?
Hi what about container runtime container d installation?
Hello, I installed cri-dockerd, which is described at 3:10 mark of the video :)
I followed the exact the same steps while running K8 on Ubuntu 20. I am getting an error while checking the status of kubelet Active: activating (auto-restart). Could you please suggest what might be the issue.
Great Tutorial!! 👏. Just wanted to comment that to the date cri-dockerd installation have improved. In my case i used .deb package to install it.
Ah, thanks for sharing. Glad that helped!
Hi, do we have to repeat the procedure with CRI stuff on worker nodes or is this enough just for the Master node? Thank you for great tutorial, I was stuck with [ERROR CRI]: container runtime is not running error
Nope I believe you wouldnt need CRI related installation on your worker nodes!
thank you so much, my coredns works now! i'm getting an error for one of the pods (calico-kube-controllers-57b57c56f...). its state seems to oscillate between ErrImagePull and ImagePullBack. I took the same steps as you did and even reset kubeadm. i dont use docker, only containerd. i've tried to pull the image from dockerhub but no use (stuck in infinite loop). any ideas on how this could be solved?
thank you! the ErrImagePull can happen because of many different reasons so its hard to tell. you can try reading the logs and make sure you are pulling the right image with the tag
cri-docker.socket failing once I jnitialize the kube using kubeadm init command
Error- service-start-limit-hit
Can you help me?
After i run kubeadm init,
[error cri] container runtime is not running
If you are using docker as your container runtime, that really just means that your docker is not running :)
Thank you sir
we are facing problem at this step like "Package 'docker-ce' has no installation candidate" can some one explain why I am getting this error.
Which distro are you using? if you are on ubuntu, here is what i found: askubuntu.com/questions/1030179/package-docker-ce-has-no-installation-candidate-in-18-04
@@dhij Ubuntu 20 in aws
@@dhij i got this solution but I want to know the reason why it is throwing this error
@@suneelkumar5175 i believe AWS uses there own internal repos check your /etc/apt/sources.list
great work thanks
thank you!
Hi all, this video works
We should do a github gist as a script to merge all of this for plug and play install
Merci pour les travaux
you`ve choosen 192 in inti but you`ve got 10 series in join command how is it possible
The 192 IP range is the pod network cidr, and it is a provider-specific value as mentioned in the 2nd point here: kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#initializing-your-control-plane-node
And it is mentioned in the first bullet point here (kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network) that the pod network must not overlap with any of the host networks.
The 10 IP range is the internal IP address assigned for my VM on Google Cloud. Hope that helps!
is turning off firewall and swap not required ?
not as far as i know!
legend you are
Very effective
Merci !!
Thank you.
It doesn't work for me :(
I might be able to help a little if you let me know what error message you are getting :)
@@dhij how do i connect to the pods running on the worker nodes groom browser? The pods are running on private IP 192.*.*.* Something. How do I access them from browser
@@dhij how do i connect to the pods running on the worker nodes groom browser? The pods are running on private IP 192.*.*.* Something. How do I access them from browser
thank you
Jesus... I need compile a something in GO to install another somethiing...
does anyone really understand all of this
How would I set up working nodes outside of the master network? It's in the same network of the master.
After mu Cluster join command , I gotta this message below , Any idea =)
Found multiple CRI endpoints on the host. Please define which one do you wish to use by setting the 'criSocket' field in the kubeadm configuration file: unix:///var/run/containerd/containerd.sock, unix:///var/run/cri-dockerd.sock
To see the stack trace of this error execute with --v=5 or higher
Yup you can specify the cri-socket with the --cri-socket option. Please refer to 10:08 :)
Ok . Today I have pretty much time and I learned logic of kubernetes =) Now I have 1 master +3 worker nodes cluster =) I will try to create 2 scripts ; 1 is for worker nodes. 1 is for master node... Thanks a lot =)
@@TuncDarbas Awesome, good luck!
I am getting error can you share your email? And help