► Check out part 1 here - Managed Kubernetes Cluster explained: kzbin.info/www/bejne/gHjXe52Vo6Z0aNU ► Follow along in this demo 🤓 👩🏻💻 All the source code is documented on Gitlab ► bit.ly/33z6CxG ► 🤘 For my followers: Get $100 in credit (good for 60 days) for Linode ► bit.ly/31p4GW2 ▬▬▬▬▬▬ T I M E S T A M P S ⏰ ▬▬▬▬▬▬ 0:00 - Intro 0:25 - Overview of what we build/deploy 1:24 - Create Kubernetes Cluster on LKE 4:58 - Deploy MongoDB StatefulSet using Helm 15:32 - Deploy MongoExpress (Deployment and Internal Service) 19:53 - Deploy Ingress Controller using Helm and configure Ingress Rule 25:52 - Understand the Request Flow through the Kubernetes Setup 27:11 - Delete MongoDB Pods and restart - Volumes are re-attached 28:20 - Clean up - Helm uninstall, delete Volume and Kubernetes Cluster
@EverlastingUniverse2 жыл бұрын
Whenever, I need to learn anything Cloud/Devops, Nana's KZbin channel is one of my favourite destinations and everytime I visit her youtube videos, I always get to be more appreciative of her work/teaching style than before. Keep doing this awesome work, Nana!!!
@nicholaspetersen16293 жыл бұрын
Thanks!
@PeterNirschl3 жыл бұрын
Danke!
@TechWorldwithNana3 жыл бұрын
Danke Peter für die Unterstützung! :)
@thetalestube48804 жыл бұрын
... and Nana is back with a bang after her vacation. Good to see you. 😇
@TechWorldwithNana4 жыл бұрын
Yes I recharged my batteries on vacation and now I'm full of energy 😊🔥 Let's see for how long 😄
@RABWA3334 жыл бұрын
TechWorld with Nana before batteries goes down, pls cicd using gitlab + k8s ,GCP, later we can add terraform to this scenario
@ecoute-en-francais2 жыл бұрын
Thank you so much for your videos, I'm a developer and started working in a DevOps team a bit less than a year ago. I felt really overwhelmed by how much information I had to digest and how many technologies I had to learn. I avanced a lot thanks to your videos, you never disappoint, I'm happy when I see you made a video on the topic I'm busy with because I know after watching it I'll feel better with it. Thank you so much for your work and for explaining things in such a clear and human way
@jonnykopp4 жыл бұрын
Amazing videos. I wish more people would follow this approach to teaching.
@TechWorldwithNana4 жыл бұрын
Thanks 🤗
@polmaksim4 жыл бұрын
Love this girl. Just what I most need right now! Thank you Nana! 🙏🏼
@TechWorldwithNana4 жыл бұрын
You're welcome Maksim, happy you liked it :)
@vijayanandmehta63794 жыл бұрын
keep up the simplicity of your explanation Nana... thanks for the video 🙌
@TechWorldwithNana4 жыл бұрын
Will do 🤓
@ThatOdooGuy4 жыл бұрын
Very impressive teaching methodology. You are a star! or rather a "Cloud Queen". Keep it up!
@TechWorldwithNana4 жыл бұрын
Thanks 😄
@europeteluguvlogsbykiwi4 жыл бұрын
i just loved all yours video's and yours voice too. excellent content.
@TechWorldwithNana4 жыл бұрын
Thanks a lot Rakesh 🙂
@SHRAVANKUMAR-kb1ke4 жыл бұрын
Hi, I have been following your videos recently. Great content for newbies. IF not your tutorials i wouldn't have learned the basics of Docker, Jenkins, and Kubernetes. Thanks a lot.
@ayushpratap47264 жыл бұрын
Nana, you're just truly Amazing! The quality of your content is superb and excellent! Wish you immense success!
@wasimshaikh-ns7pu3 жыл бұрын
please keep adding more videos and demo..excellent explanation for all the topic that you have shared..thank you so much.
@danielegrotti52314 жыл бұрын
You're my HERO NANA!!!!! Many thanks for your sharing!
@TechWorldwithNana4 жыл бұрын
Glad you liked it Daniele 😊
@VinceKronlein3 жыл бұрын
Excellent videos, both part 1 and 2, especially since I use Linode as my primary cloud. But the whole reason I went through these is to see the Cert-Manager install and set up which you seem to have forgotten about. If you have another video on Cert-Manager that would be great if you can point me to it.
@Darloss95083 жыл бұрын
This Nana Chick ROCKS, THANKS GARL
@evebee44 жыл бұрын
thanx this is very good and the lab was easy to follow
@TechWorldwithNana4 жыл бұрын
thanks for nice feedback Evans 🙂
@santroproin69694 жыл бұрын
Your content is awesome. Keep it up. Please create more usecase on Kubernetes. It would be great
@TechWorldwithNana4 жыл бұрын
Thank you Sandeep 🙂
@MuhammedDahab4 жыл бұрын
as usual you come up with the best explanations
@TechWorldwithNana4 жыл бұрын
Thanks again Mohamed :))
@MuhammedDahab4 жыл бұрын
@@TechWorldwithNana ♥
@rafatbiin4 жыл бұрын
pretty good! subscribed for more videos on devops.
@TechWorldwithNana4 жыл бұрын
Thank you for the support Rafat. Best of luck in your career. 😊
@RABWA3334 жыл бұрын
This is really awesome video, thanks 🙏 a lot Nana for the great effort .
@TechWorldwithNana4 жыл бұрын
Thank you, really appreciate your comment :)
@MaartenVanDamme814 жыл бұрын
great videos; happy to have discovered your channel, lots of interesting stuff to learn. Keep up the good work Nana.
@arunvenkatram30164 жыл бұрын
Excellent work.... 👏👏
@TechWorldwithNana4 жыл бұрын
Thank you, glad it's helpful :)
@RavindranathChowdaryYanamadala4 жыл бұрын
Big thanks and it is simple and pretty clear. Just a suggestion. May be you could just explain/talk on how to upgrade the application using Helm charts in the existing K8S cluster. For eg: Upgrade the version or install a security patch of an already installed mongo db or elastic search etc..
@brahmaprakashtoppana56664 жыл бұрын
Thanks for your efforts Nana its Very useful,
@TechWorldwithNana4 жыл бұрын
Glad it was helpful 😇
@solaadio4 жыл бұрын
This is so awesome. I am happy that you got this sponsorship. I will surely be looking at Linode soon. 👍🏾👍🏾👍🏾
@TechWorldwithNana4 жыл бұрын
Thank you, hope you could learn a lot! 😊
@Raj-si5yz4 жыл бұрын
Super Nana👍
@TechWorldwithNana4 жыл бұрын
Thanks Raj 😊
@nallavadlaganesh27264 жыл бұрын
Good to hear you back...!! Good video #Keep doing the same. If its possible, explain the same in some other cloud providers like aws as well :p :)
@TechWorldwithNana4 жыл бұрын
Thanks Nallavadla! :) Will surely cover other cloud providers as well in the future :)
@donbulaong3 жыл бұрын
Thank you for sharing your knowledge! I hope you have tutorial about AWS EKS.
@random-characters41622 жыл бұрын
Hi! Thanks, Nana for the great series. However, it looks like the guide has become outdated a bit. I didn't manage to connect mongo-express to the DB. On mongo-express pods logs, I got deprecation warnings and no record for successful connection. ingress-nginx chart is deprecated as well. But anyway I got the understanding of a process! Thanks a lot, great job.
@linuxlinux75224 жыл бұрын
Excellent :) almost covered all the things.
@Sami-bc9iv4 жыл бұрын
good job. Excellent work.
@Hackenbaker4 жыл бұрын
Excelentn as always in this channel I learn a lot. Thank you!
@alexserbul Жыл бұрын
Thank you!
@KrzysztofSpikowski3 жыл бұрын
awesome tutorial, could you also make one on kafka deployed in k8s with bitnami or strimzi helm charts?
@1377sv4 жыл бұрын
Thank you
@hazemsoussi5309 Жыл бұрын
GREAT
@babus64284 жыл бұрын
Hi Nana, Please post a video about Horizontal & Vertical POD autoscaler.
@adelsalaheldeen2 жыл бұрын
First, I want to thank you for the efforts you are doing. I really learned a lot from this channel in a tight time. Second, I have a question regarding this video. Now when we are configuring mongo-express to connect to mongo-db we specified a username and password. Is this username and password for all the Stateful set pods? Or only for the master one (the zero one)? And what will happen if the master goes down?
@kumaraneesh1420 Жыл бұрын
excellent
@niknikolov91234 ай бұрын
Can you make a video with helm on AWS?
@santroproin69694 жыл бұрын
Great stuff. Can you create detail video on Istio. Thanks 😊
@TechWorldwithNana4 жыл бұрын
Thank you Sandeep 😇 Yes video about Istio will come in the next weeks! 👍
@mohammedhewedy82314 жыл бұрын
Greate Thanks :)
@andrewgarshyn47073 жыл бұрын
Amazing video! Thank you! I'm new to K8s, so my question is: how is it managed to distribute data between volumes while pods are attached to certain volumes? do these volumes just mirror data? in other words: how do we make sure that we read data from the same volume we write to?
@dishantsethi46804 жыл бұрын
Can you please make a separate video on ghost blog deployment on kubernetes using helm charts
@ahmedharara98222 жыл бұрын
when you create a cluster of two nodes, is every node (ie an instance) is the exact same replica ?
@rizaldi45634 жыл бұрын
Hii, Nana its greate videos. I learn a lot. Thankyou! I have a question, is there out of the box create replica slave if we using mongdb from bitnami? or we need to setting up ourself ?
@jeshocarmel4 жыл бұрын
Hi Nana, Thanks for educating us again :) Been a great help to my learning and office work :) one question. I have a golang application with redis db. I use docker-compose now and docker-swarm. I know now (thanks to you) on how i can deploy my go app on kubernetes (on linode) but how do i create a redis cluster on kubernetes as well. My idea as of now is to connect my go app to an elasticcache cluster (AWS) but I don't want vendor lock-in and want to setup by redis cluster in linode. Any guide/ docs/ strategy you can recommend me ?
@TechWorldwithNana4 жыл бұрын
Hi thanks, happy to hear my videos are helpful :) to your question, you will need a statefulSet to create a Redis cluster. If you know the how Redis cluster works, meaning how the configuration should be etc, you can create the components yourself, otherwise you can search for a ready chart or an operator for Redis. Let me know if this info helps
@jeshocarmel4 жыл бұрын
@@TechWorldwithNana I'll watch your stateful set video and get back to if I have any doubts. Thanks a ton
@flipperiflop3 жыл бұрын
Should I run multiple applications in the same cluster - for example if I have 2 projects going on, and they both have production branch, staging branch and N amount of branches for different features that are being built. Should I have that setup in one big cluster, or should it be split into multiple smaller clusters?
@scchengaiah49043 жыл бұрын
Excellent video :) Thank you for sharing the knowledge. I have a small clarification here, does data synchronization between volumes happen out of the box or do we need to setup additional configuration. For Example: I have created some data by establishing connection with pod1, how does pod2 and pod3 volumes get updated with this data. If out of the box, Could you please share on how it has been done inside helm charts? or If manual, any references to follow
@Weibin_Xu2 жыл бұрын
hi, how I need to configure a database url in my BE application? I need to use a handless service or a clusterIp service?
@coderjoe40013 жыл бұрын
Thanks a lot Nana, always a pleasure to watch your production. But I have a doubt here: at 18'23'' of this video, you basically set the MongoExpress to connect to the single Headless service of all the 'Mongo nodes' or the Mongo replicaSet, on the same cluster, right? I imagine that if I want to something similar, but with MongoExpress sitting outside of the cluster where Mongo replicaSet is, then I should be able just replace that single Headless service with a LoadBalancer service and get its external IP, configure MongoExpress to use that, then I should be able to achieve the same connection? But I tried and somehow that didn't work. Unless that Helm chart provided a somewhat 'magical' Headless service that my LoadBalancer service can't compare to?
@vimalpatel57702 жыл бұрын
Can this work with AWS EKS instead of linode? If yes how node balancer, block storage etc. will work with that?
@davidwu19074 жыл бұрын
will the persistent data gone if i delete the whole cluster?
@PsyberMind2 жыл бұрын
I know this is an older video, but in regards to the storage volumes, are they replicated as one is changed? So if for example, one volume is changed if a collection is modified or added, does that replicate down to the other volumes based on the statefulset?
@vjdbjdread Жыл бұрын
But why you didn't create a storage class first.
@SERVICIOSINTEGRADOS Жыл бұрын
Hello, I am creating the databases with helm Mariadb on Linode. I have followed the instructions but only one volume appears in linode. What I can be doing wrong. This is the configuration file to override some parameters: 1 arquitecture: replication 2 primary: 3 persistence: 4 storageClass: "linode-block-storage" 5 secondary: 6 replicaCount: 3 7 auth: 8 rootPassword: secret-root-pwd
@kremicfein4 жыл бұрын
Great video! However, in the arbiter logs I'm getting this message over and over, stopping mongodb from starting ... what can I look for? mongodb 22:55:39.10 INFO ==> Trying to connect to MongoDB server mongodb-0.mongodb-headless.default.svc.cluster.local... cannot resolve host "mongodb-0.mongodb-headless.default.svc.cluster.local": lookup mongodb-0.mongodb-headless.default.svc.cluster.local: no such host cannot resolve host "mongodb-0.mongodb-headless.default.svc.cluster.local": lookup mongodb-0.mongodb-headless.default.svc.cluster.local: no such host
@kremicfein4 жыл бұрын
I got it running, the mongodb-0 pod had a volume problem, I've found it by examining the pod by "kubectl describe" ... after chosing the correct volume, the dns name was available due to a correct startup. Thanks again for this great tutorial! Binge watching your videos pays out :)
@gangadharrao71864 жыл бұрын
Hi, is it necessary to create a cluster using Linode and start our application deployment, I already have a k8s cluster with me where I'm doing all my deployments, please advice.
@NeajMorshad2 ай бұрын
- name: ME_CONFIG_MONGODB_SERVER value: mongodb-0.mongodb-headless why mongodb-0? How do you know which one is the primary pod? In a MongoDB replica set, write operations are only allowed on the primary node. If mongodb-0 is the primary node, this configuration will work for read and write operations. If mongodb-0 becomes a secondary node, Mongo Express might fail to perform certain operations (like writes) because writes can only occur on the primary in a MongoDB replica set. I guess, the correction will be something like this: we have to use the primary service which points to the primary pod always, using a label selector. then we have to use that service.
@ymn5411 ай бұрын
👍
@videmix40614 жыл бұрын
How I do c in window machine.
@thaboramohlale13994 жыл бұрын
Hi Nana, on the test-mongo.yaml line 5 and 6......auth: & rootPassword will refer to the auth: in values.yaml.....what does the "secret-root-pwd" refence to, i didn't you create a secret for that, like the one for the express and following your configmap and secret video i get confused as to what and how was that created....or is that a password itself overriding the rootPassword: " " in the values.yaml
@christophseidl77224 жыл бұрын
Thank you very much for the great video! I got stuck after deploying the Ingress for mongoDB. It applies an IP to the Ingress and when I try to call it via curl or Browser, I keep getting "connection refused". The Pod-logs of the Ingress-Controller shows: pkg/mod/k8s.io/client-go@v0.18.5/tools/cache/reflector.go:125: Failed to list *v1beta1.Ingress: Timeout: Too large resource version: 5740639875, current: 1741260 Do you have any clue why this is happening? I am using OVH managed Kubernetes instead of Linode, but it should work the same, right?! Thanky in advance!
@TechWorldwithNana4 жыл бұрын
Hi Christoph, it's hard to tell from the log line, but my guess is that you have to configure nginx header or request size limit. You can do that by creating a configMap with the nginx configuration and passing it to the nginx-ingress pod/s. Let me know if this helps!
@gary78494 жыл бұрын
Guru
@ashilasaiprasad82054 жыл бұрын
I visit every single place possible for knowledgeable stuff (B Gloud Curu..., ndemy...) Here is best and is still accessible for free.. Where is the Patreon link... Concise videos...
@martinp38394 жыл бұрын
Succinct and clear explanatory videos. Thank You! Can you please provide a note for fixing the deprecated warning -> I got this "* DEPRECATED, please use github.com/kubernetes/ingress-nginx/tree/master/charts/ingress-nginx *" when I applied the nginx-ingress helm chart the way you showed in the video.