Kubernetes Tutorial for Beginners [FULL COURSE in 4 Hours]
Why Stack Overflow recommends it
Stack Overflow users link it when they are following along with the course and get stuck on a demo step, and when they want a beginner explanation of Ingress, services or minikube.
Recommended by 2 people across 2 different months, 2021 to 2023.
What it is
A 3.5-hour beginner Kubernetes course from TechWorld with Nana covering what Kubernetes is, its main components and architecture, minikube and kubectl setup, YAML config, namespaces, Ingress, Helm, volumes, StatefulSets and Services. It is built around hands-on demos, including a MongoDB and Mongo Express project.
What people said
Recommends Henry8 · 2021-12 · Stack Overflow · on “kubernetes pod port expose/forward”
Check that your Pods have external IPs with kubectl get pods -o=wide Load Balancing is not supposed to be implemented on your single node machine (with Minikube), there is a somehow a "hack" If you are deploying your cluster on a Cloud provider, Load Balancer would be fully-managed For the "hack" i talk about, look at this tutorial video section on Ingress component explained : [this video] You are expected to place a Pod with a nginx server in front of your ingress, in front of your loadbalancer, in front of your deployment Pods
Recommends MalwareMoon · 2022-11 · Stack Overflow · on “how should i create YAML files for the apps i intend to deploy?”
This is way to broad to give a decent answer for, but to make it short. Mentioned files "deployment.yaml, secret.yaml, pv.yaml, pvc.yaml and service.yam" are not specific to only mysql, it's just what you need to deploy your app on Kubernetes. It's not exactly a entry friendly topic and there is just about no reason to write down entire tutorial just for this post, as there is plenty of sources available, so I will just recommend those that I remember helped me: "you need to learn Kubernetes RIGHT NOW!!" By NetworkChuck [LINK] "Kubernetes Tutorial for Beginners" by TechWorld with Nana [this video] And then there is official documentation: [LINK] I'd also not skip on paying for some test clusters
Cites caffeine_inquisitor · 2021-03 · Stack Overflow · on “Kubernetes Dashboard & Ingress on Docker Desktop”
I am trying to access kubernetes dashboard on my local PC through Ingress. The steps I've done so far are: Install Nginx Ingress by: kubectl apply -f [LINK] PS D:\dev\kubernetes-dashboard-ingress> kubectl get all -n ingress-nginx NAME READY STATUS RESTARTS AGE pod/ingress-nginx-admission-create-7rzdl 0/1 Completed 0 148m pod/ingress-nginx-admission-patch-295pf 0/1 Completed 0 148m pod/ingress-nginx-controller-7fc74cf778-jz6ts 1/1 Running 0 148m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/ingress-nginx-controller LoadBalancer 10.106.183.115 localhost 80:30673/TCP,443:32591/TCP 148m service/ingress-nginx-controller-admission ClusterIP 10.103.188.122 <none> 443/TCP 148m NAME READY UP-T
Cites Andy Xu · 2021-10 · Stack Overflow · on “k8s pod failed to connect mongodb”
I'm trying to do a k8s tutorial on youtube [this video] . An error occured that k8s pod failed to connect mongodb when I create the deployment mongo-express. Please kindly help! Error Info of pod retrieved by kubectl logs command: Welcome to mongo-express ------------------------ (node:7) [MONGODB DRIVER] Warning: Current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor. Could not connect to database using connectionString: mongodb://username:password@mongodb-service:27017/" (node:7) UnhandledPromiseRejectionWarning: MongoNetwo
Cites Sara A. Fattouh · 2022-03 · Stack Overflow · on “502 Bad Gateway Gateway with Kubernetes Ingress”
Hello Mozello, For creating the cluster, it is a simple eksctl command, yes, for MySql I was following: [LINK] for Creating the nodejs deployment I followed this video and tried to get the hang of that, at this time stamp 1:16:16 - Demo Project: MongoDB and MongoExpress [this video] The main difference is that, in the demo she is using NodePort, while in my case I am exposing the cluster using nginx load balancer.
Cites Giacomo Gagliano · 2022-06 · Stack Overflow · on “Exposing Kubernetes Ingress, using Minikube on a Raspberry Pi4”
I am running minikube on a Raspberry Pi4. I enabled the ingress with $ minikube addons enable ingress and I created an ingress for the kubernetes-dashboard using this yaml file [LINK] : apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: dashboard-ingress namespace: kubernetes-dashboard annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - host: dashboard.com http: paths: - path: / pathType: Exact backend: service: name: kubernetes-dashboard port: number: 80 It work fine, creates the ingress and I get this external IP address: 192.168.49.2 . I edited, as suggested in this tutorial [this video] , the /etc/hosts file adding 192.168.49.2 dashboard.com . When I curl dashboard.co
Cites Hristo.L · 2022-07 · Stack Overflow · on “NATS on K8s expose”
I am new to NATS and kubernetics technologies. I watched the full "TechWorld with Nana" kubernetics tutorial [this video] on YouTube and was able to create the configurations from the video. I have created a NATS service on a minicube from HELM repository as described in the NATS documentation [LINK] . I am able to run it, send and receive a subject, I was also able to configure Jetstream and I was able to receive the saved messages in the subjects via the consumer I created. So far so good, I have a working NATS service, but I can't figure out how to access it from within or outside the cluster. I tried to access it by creating a load balancer, but I noticed that the cluster IP of the NATS servi
Cites Susitha Ravinda Senarath · 2022-12 · Stack Overflow · on “Access kubernetes-dashboard using ingess ( 404 Not Found )”
I'm relatively new to k8s and was following an tutorial [this video] to get familiar with it. There was a example on exposing kubernetes-dashboard via ingress and I tried to try it. Configured kubernetes-dashboard by running following. As per its documentation [LINK] . kubectl apply -f [LINK] But different from the tutorial kubernetes-dashboard was exposed via port 443 service/dashboard-metrics-scraper ClusterIP 10.108.119.138 <none> 8000/TCP 50m service/kubernetes-dashboard ClusterIP 10.100.58.17 <none> 443/TCP 50m So I changed the ingress configuration yaml accordingly. apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kuberne
Cites Probosckie · 2023-04 · Stack Overflow · on “What does Minikube status "control plane" meaning”
I am trying to learn Kubernetes from this YouTube course [this video] . One hands-on thing I am trying is to install Minikube, Docker Desktop and kubectl to see the pods and containers working in real time. I started Minikube - specifying Docker as my VM of choice minikube start --vm-driver=docker As I understand the Minikube will try to run both master and worker node in the same VM. So when I try to get its status like this: minikube status I expected it to give me type as "Master" like what is happening at this point [this video] but it gives "control plane". Even: kubectl get nodes gives "control plane" [LINK] What is "control plane"? It's not mentioned in this page [LINK] .
Cites Jackson Boyett · 2023-11 · Stack Overflow · on “Why does the mongo-express-service external service in my browser require a username and password?”
I am currently working through the following Kubernetes tutorial: [this video] I am using an 2022 Macbook Air with an M2 chip, so Hyperkit is not compatible, so instead I am using Qemu. My problem is this: when I run the external service 'mongo-express-service' with Minikube, the browswer opens, but I am asked to sign in. See 1:44:40 of the video above to see which step I am on. I am using the exact files from Nana's repo, so I think it has something to do with me using Qemu and having to install socket_vmnet to run the external service. This is what I get in the browser when I run the external service. [LINK] This is what I get in my terminal when I run the external service. [LINK] These are my