Really appreciate it. Your kubernetes videos are better and more understandable than the most of the paid training offerings. Thanks for keeping it free and sharing your knowledge to all.
@@TechWorldwithNana It's true, I got so frustrated with the instructor. I told him what in hell does any of this have to with docker volumes? So I found your video on youtube. Now I'm going through all the Kubernetes subjects on your channel.
❌ Correction for 6:15 in the video: Vagrant is NOT a container runtime alternative. K8s lists some of the alternatives here ► kubernetes.io/docs/setup/production-environment/container-runtimes/. . ► Reference to demo YAML Configs: gitlab.com/nanuchi/kubernetes-tutorial-series-youtube/-/tree/master/container-communication-k8s-networking T I M E S T A M P S 0:46 - Pod - fundamental concept 1:05 - Problem with Container Port Mapping WITHOUT Pod 4:15 - Solution - Pod abstraction 6:28 - When do we need multiple containers in a pod? Side-car containers 7:08 - How do containers in a pod communicate to each other? 9:30 - pause or sandbox container 12:27 - Kubernetes Networking Topics Overview Please subscribe and like the video, if you learned something new 💡🙂
Just going to echo what everyone else is saying, THANK YOU! I've been avoiding learning k8s for months, because everyone just say's it's too complicated and impossible to understand. I've learned more from a couple hours of your videos, than I have from asking questions and looking at other resources the last year. Really great content!
Nana...I Love you and your all DevOps topics explained. When ever i look for any cloud topics want to learn first i look for yours videos. You are really gem of a person. Learning aspirants really required a teacher like you. ❤❤❤
Just now finished the same concept in LinuxAcademy (Now Acloudguru) but was very confusing. Came here and now everything is clear. The fact that this video is free and available for everyone is astonishing. You are doing a great job. If you plan on releasing a paid course, Remember you definitely have one buyer here.
Such a powerhouse of technology and training with ease !. Wonderful service to the technical community ! Donno how to thank you and appreciate your work. Great .... Thanks a ton Nana.
Hey really good explanation...I am always having one doubt in my mind about networking how it will work inside pod multiple containers..your answer it’s like laptop we can multiple services that’s really easy to understand everyone ...I am really waiting for your full networking next video, thanks a lot
Great clearly explained video as always. But I was hoping for an explanation on how to expose a K8 pod services to local host and clients. Most people will set up services on K8 clusters, but will want to connect into those services from outside the K8 cluster. I thought there was an expose command, but that may only be for Google Kubernetes Engine. Obviously there are K8 services, but these need to expose external port and static IP addresses for persistent network access points.
Dear Nana , I hope you are well , thank you for this video and all other related to k8s , may I ask if full Kubernetes Networking Guide course that you mentioned at the end was released ? I have not found it , might be that it is a part of some bigger one that I havent reach so far. Br, MK
Hi Nana, what is the use of POD when you are using one container per pod. I think when you have multiple containers in pod you can save port and IP address but single container per pod is no use.
Hi Nana, I'm learning kubernetes while accessing pods using curl cmd I'm getting an error curl: (7) Failed to connect to localhost port 80: Connection refused.
Hello Nana, I have build some docker images in docker container. How can i upgrade k8s pod use new docker image? Have any web content can share for me? Thanks very much...
One doubt, from previous videos of kubernetes I learnt that pods cannot be created directly, they gets created along with deployment. But in this video I could see you are creating kind:pod. So it is possible to creates independently without tagging it to deployment?
Hi, thanks for your question. Here I'm creating a pod using configuration file, so there is own "Kind: Pod" in k8s. What I meant in the previous video was, that you can not create pod using "kubectl" command, because there is no "kubectl create pod" option. I hope this makes it clear for you.
Hi Raj. There is a way to "force" a pod on a specific node, by defining nodeSelector attribute in pod's configuration. The value could be either node's hostname/IP or you can assign node or nodes a label and use that label as a selector. I will make a separate video on node labels and in which scenarios you would need to label nodes. Thanks for the question!
HI Nana, thanks for the valuable information. In my application, if want to ping from specific process to other application I am using below procedure 1. SSH to node 2. docker inspect | grep Pid 3. nsenter -n-t -- ping -I Can u pls help if any other Kubctl command to do all of this ? Thanks in advance.🙂
I'm confused. You compare running a docker container mapping a port to the host, with running a pod what you don't map the port to the local host. A docker container would get it's own op address, too, in its own network space, just as a pod. So I don't get why running s pod solved the problem of having the same port bring used within each container?
Hi Serge. I don't really understand your question or reason for the confusion. So maybe you can clarify that. But generally, speaking, container and pod comparison isn't about them being alternatives to each other but rather how POD networking concept works and how CONTAINER networking concept works and how then both of them in combination make up that specific part of k8s networking. In more detail, however, I already explained that in the video.
@@TechWorldwithNana So, the premise you are arguing, is that using pods in Kubernetes solves the problem of exhausting a lot of ports if you only use a plain docker container. But a plain docker container, gets it's own ip address, too. Docker will create a (default) docker network, and attach the container to it. That way, you can easily laucnh multiple postgres containers with the db each listening on it's default same port within eacht container. Just like that is possible with different kubernetes pods. The problem you address here, is when you expose that port, on the local host (with docker --port x:y), and would want to expose multiple container ports, you need to pick a separate port for that. Given that you'd want to map Kubernetes pod ports on a host port, you face there the exact same problem. The pod having it's dedicated ip address doen not solve that. The number of ports on the local host are limited, to both the docker host and a kubernetes node. (The only difference could be where you have several kuberntes nodes, and can ree-use the same port on different kubernetes nodes, but that would apply the same way to docker swarm nodes.) To wrap up, I don't see how the concept of kubernetes pods solve a problem of using container/pod ports nor exposing those ports, compared to plain docker containers. As you compare in your video two different things: (1) mapping plain docker container ports to host ports, and (2) deploying multiple pods with pod & container ports. That seems like apples and oranges to me. Or am I wrong? Did I still miss something? BTW, re-watching you presentation, I also noticed you talk about replacing the docker runtime, with .. vagrant. Vagrant is a lot, but not a container runtime.
"That way, you can easily laucnh multiple postgres containers with the db each listening on it's default same port within eacht container. Just like that is possible with different kubernetes pods." - that's not true. Yes you can start 10 Postgres containers on your host, and I show that in this video as well, but you have to map their ports to the host port. Pod on the other hand is its own virtual host. So pod port mapping isn't even a topic here. So that comparison is false. That's why I compare pod with laptop, and not with a container in this case. Also "Given that you'd want to map Kubernetes pod ports on a host port, you face there the exact same problem" - how do you map pod's port to a host's port? That's not even a thing. That's what I'm trying to explain in the video. So pod is a host itself. So maybe think about difference between running container directly on a server node vs wrapping it in a pod and then running a pod on a server node. Hope this makes my point clearer :) and I hope we're not talking past each other. Or maybe I misinterpreted your point. Let me know! As for Vagrant - you are absolutely right. I made a mistake. Wrote corrections in the description and the comment right away. Thanks for pointing out. 🙏
@@TechWorldwithNana when you start 10 containers in docker, you don't HAVE go map their ports. I disagree on the expressions here, but in the way you express it, a docker "host"is the same concept as a pod "host".
@@TechWorldwithNana "- how do you map pod's port to a host's port? That's not even a thing." That is very much a thing. That or a service object or Ingress. How else would you reach that service in a pod?
Hello, I have a question: to run "kubectl get pod -o wide, we can see that each pod ip is automatically got in 10.244 range. However, if I want to change one of the pod ip in a different range, for example, 10.200.0.0, what should I do? Thank you.
Yet another great tutorial. :) I have a question: How to define autoscaling options outside the cluster environment. Eg, through a REST Api call . I want to define my tresholds there. is this possible? Because I have a queue service in cloud and want to scale the pods based on it. Thanks.