- 14
- 24 461
CookNCode
United States
เข้าร่วมเมื่อ 28 ธ.ค. 2022
Understand and Debug Kubernetes Pod Statuses
Lets look at pod statsues, understand what they mean and learn where things can go wrong and hot to debug those issues.
#kubernetes #PodStatuses #DevOps #CloudNative #Troubleshooting #k8s
#kubernetes #PodStatuses #DevOps #CloudNative #Troubleshooting #k8s
มุมมอง: 158
วีดีโอ
Right Way to Build Serverless Applications in Kubernetes with Knative, Dapr and Keda!
มุมมอง 3964 หลายเดือนก่อน
In this video we'll go through how to build event-driven systems in kubernetes with serverless functions. *Linkedin Profile* www.linkedin.com/in/shabbir-saifee/ *Create local kind cluster* github.com/shabbirsaifee92/multi-node-kind-cluster *Openfunction Repo* github.com/shabbirsaifee92/openfunction-dapr-demo *Openfunction docs* v0-7.openfunction.dev/docs/introduction/ #Kubernetes #Knative #Dapr...
Reduce Kubernetes Cost with Spot Nodes and Kyverno Policies
มุมมอง 5395 หลายเดือนก่อน
In this tutorial I'll walk you through how to use spot nodes in your kubernetes cluster with the help of kyverno policies. *Linkedin Profile* www.linkedin.com/in/shabbir-saifee/ *Github Repo github.com/shabbirsaifee92/spot-kyverno-demo #Kubernetes #Kyverno #cloudcostmanagement #spotnodes
Create Dynamic Database Credentials with Vault Secrets Operator
มุมมอง 1.1K8 หลายเดือนก่อน
In this tutorial we'll how to enable the database secrets engine and create dynamic secrets for postgres database from vault using VSO and use it with Kubernetes workload. *Linkedin Profile* www.linkedin.com/in/shabbir-saifee/ *Github Repo to setup local kind cluster* github.com/shabbirsaifee92/multi-node-kind-cluster *How to use Vault Secrets Operator in Kubernetes* th-cam.com/video/ECa8sAqE7M...
How to use Vault Secrets Operator in Kubernetes
มุมมอง 4.9K9 หลายเดือนก่อน
In this tutorial we'll explore the integration and management of secrets stored in Hashicorp Vault inside Kubernetes using the Vault Secrets Operator. We'll learn how to enable the kv-v2 secrets engine and retrieve static secrets from vault using VSO and use it with your Kubernetse workload *Linkedin Profile* www.linkedin.com/in/shabbir-saifee/ *Github Repo to setup local kind cluster* github.c...
HashiCorp Vault on Local Kubernetes (kind) Cluster | Retrieving Secrets Tutorial
มุมมอง 1.3Kปีที่แล้ว
HashiCorp Vault on a local Kubernetes (kind) cluster and learning how to securely manage and retrieve secrets. In this step-by-step video guide, we'll walk through the entire process, from setting up the Kubernetes environment to interacting with Vault to safeguard your sensitive data. *Linkedin Profile* www.linkedin.com/in/shabbir-saifee/ *Github gist* gist.github.com/shabbirsaifee92/29d762c3b...
What are Custom Resource Definitions (CRDs) in Kubernetes - CRDs and Operators Part 1
มุมมอง 7Kปีที่แล้ว
In this hands-on tutorial series, we will dive deep into CRDs and Operators, two powerful concepts that empower you to extend Kubernetes with custom resources and automated workflows. 🎯 Part 1: Understanding CRDs 🎯 In this first episode, we'll understand what Custom Resource Definitions (CRDs) are and how they enable you to create your own resource types, tailored to your specific use cases. CR...
Implement Istio Circuit Breaker Pattern on Kubernetes Kind Cluster | Istio Traffic Management Part 2
มุมมอง 2.1Kปีที่แล้ว
Explore the power of Istio's Circuit Breaker Pattern and learn how to implement it in your microservices architecture. This video covers the fundamentals of circuit breakers and provides a step-by-step demonstration of Istio's seamless implementation. Follow along as I show you how to set up and configure the Circuit Breaker Pattern on a local Kubernetes Kind cluster. Whether you're a DevOps en...
Istio Traffic Management On Local Kubernetes Kind Cluster - Part 1
มุมมอง 796ปีที่แล้ว
Lets learn how to implement url rewriting and traffic shifting using istio on local kubernetes kind cluster *Github repo* github.com/shabbirsaifee92/multi-node-kind-cluster *Istio Gateway On Kubernetes Cluster* th-cam.com/video/6tEy9Rp kw/w-d-xo.html *Istio Service Mesh On Kubernetes Cluster* th-cam.com/video/Kn-5f3kl9o4/w-d-xo.html *How to setup a local multi node kubernetes cluster* th-cam.co...
How to install istio gateway on local kubernetes kind cluster
มุมมอง 2.8Kปีที่แล้ว
Lets learn how to install istio gateway on a kind cluster, and how it compares with kubernetes ingress controller. *Github repo* github.com/shabbirsaifee92/multi-node-kind-cluster *Istio Service Mesh On Kubernetes Cluster* th-cam.com/video/Kn-5f3kl9o4/w-d-xo.html *How to setup a local multi node kubernetes cluster* th-cam.com/video/QBM-aqtS4oU/w-d-xo.html *Kubernetes monitoring with prometheus ...
Istio Service Mesh On Kubernetes Cluster
มุมมอง 1.8Kปีที่แล้ว
Lets learn how to install istio service mesh on a kind cluster, and understand how istio handles pod to pod communication in a kubernetes cluster. But before diving into it, I'd recommend reading a little bit about service mesh and istio's architecture. *What is a service mesh?* istio.io/latest/about/service-mesh/ *Istio service mesh architecture* istio.io/latest/docs/ops/deployment/architectur...
Kubernetes Monitoring with Prometheus and Grafana
มุมมอง 440ปีที่แล้ว
In this video we are going to learn how to implement Kubernetes monitoring with tools like Prometheus and Grafana. How to create local kind cluster: th-cam.com/video/QBM-aqtS4oU/w-d-xo.html Github Repo: github.com/shabbirsaifee92/multi-node-kind-cluster Prometheus Helm Chart: artifacthub.io/packages/helm/prometheus-community/prometheus Grafana Helm Chart: artifacthub.io/packages/helm/grafana/gr...
Kubernetes Observability: Install Log Aggregation Stack on Kind Cluster
มุมมอง 346ปีที่แล้ว
In this video we are going to understand the basics of log aggregation and deploy Elasticsearch, Filebeat and Kibana on our local Kind Kubernetes cluster. Github Repo: github.com/shabbirsaifee92/multi-node-kind-cluster Artifacthub: artifacthub.io/
Create Local Multi-Node Kubernetes Cluster with Kind
มุมมอง 751ปีที่แล้ว
Download Docker Desktop www.docker.com/products/docker-desktop/ Kind - kind.sigs.k8s.io/ Setup Script - github.com/shabbirsaifee92/multi-node-kind-cluster
It would have been helpful if you explained that you're not actually creating a cert, but merely creating a dummy CRD instance for demonstrative purposes, because although this lays out some aspects of CRDs you somewhat strangely stop short of covering getting actual code to run.
Is quite good actually. Thank you!
Johnson Donald Clark Jose Garcia Thomas
FYI it can be an issue if vault-auth.yaml is deployed in the fakeapp namespace instead of vault-secrets-operator-system. The VaultAuth resource typically needs to be in the same namespace as the Vault Secrets Operator (in this case, likely vault-secrets-operator-system) because the operator expects to find its authentication resources there.
Thank you for sharing this type of content.
NIce, correct speed to follow!
I appreciate your clear and understandable explanations, until now I haven't seen anything like it.
I just spent like 3 days trying to figure this out. Wish I saw this sooner! This is one of the simplest videos explaining this
Greate video! Very clear. Would you suggest to use Vault Secrets Operator other than the Vault CSI Provider ?
Great video, very informative.. can you do a tutorial for kubernetes + vault hosted outside of kubernetes . or guide on the configuration
Too good man
Thank you so much Man! Very clear and very simple for easy understanding. You earned a loyal sub <3
why are vso and the application and vault sts in different namespaces? vault in vault, vso in vault-secrets-operator-system, and the vaultAuth and the application deployment in the fakeapp namespace?? Is there any special reason for this?
@@savagesamurai9196 its just for segregation!
@@cookncode K thanks.
i followed and implemeted it. but when I am trying to consume the dynamic username and password generated by vso. it is giving - FATAL: password authentication failed for user <dynamic username>.
awesome. awesome. it helped me a lot to close my long pending activities related to vault. expecting some sessions on Udemy or another platform.
its a great video. how can i implement dynamic cred for postgres with given ttl
@@shishirroy1516 th-cam.com/video/tski0aNbXk4/w-d-xo.htmlsi=fhqRu2MY6GWjnPC3 Its covered in the next video
@@cookncode thanks. I gone through it and successfully implemented. Now I am trying to use the credential to query the database. I have a micro service which interaction with postgres db. Another thing, is this setup hold good for enterprise vault ( saas )?
@@shishirroy1516 yeah it will work with vault enterprise too. Enterprise version has additional features like performance replication, auto snapshots etc but the common functionality works the same way
There is no persistrnt volume configured in the second helm installation. Also, i think you have also used kubectl get to retrieve the admin password out of the 2nd installation. Just my guess!
5:23
Great video. Thanks.
Great video! Hello from Brazil. Thanks
@@renatosouza1k glad you found it useful!
Being a dev turned k8s engineer, this makes so much more sense. Love the simple explanation and looking forward to more. ❤ you got 1 more subscriber
Btw, this explains the schema definition for crds. Has the part 2 come yet...may be you could explain the operator and crd together by siting prometheus operator example if possible :)
I too transitioned from developer to SRE role 😊 Yes part 2 is the next video I am working on now! Its been long due
really great video man thank you 💪
Easy to understand
Can you suggest here if we Hashicorp vault running in vm in cloud seperate from k8s then in this scenario can we use vso?
@@Kk-rl7nv VSO is specifically for kubernetes workloads. You can have vault deployed anywhere but if you have applications deployed to kubernetes then you can use vso to deliver the secrets
excellent
Great Bro, Could you plesae suggest any goo books for Golang and Kubernetes to do deep dive into this.
Didn't watch till the end but it's definitely valuable content ! Subscribed for next topics !
Really good explanation...
How are you automating things like enabling kv2 and popping in secrets?
Not sure i follow! In the video i am enabling the kvv2 and adding secrets manually! Are you asking how you’d automate that process in a production setup?
@@cookncode Yeah, I was just wondering how you go about enabling kvv2 and secrets automatically. Im using a bash script currently. But theres probably better ways to do it :)
Gotcha! Yeah so for kvv2 which are static secrets there is always the secret 0 problem of how you populate the secrets. You’ll have to either manually add them in ui or from cli or can use scripts or awx playbooks etc.
@@cookncode Came to that conclusion as well. Thx!
Part 2 should be about operators if i may guess? Nice content.
Yes in part 2 we’ll write a very simple operator to understand what operators do
Will there be a part 2 ?
Yes! A bit late but working on it!
When you displayed the ejections active in grafana, it was not clear to me which pod was the failing one. Where do you see which pod it is?
It would be very difficult to put a rule in Istio, depending on the Header or body of the request. Example: body{user:QA,...} , user = QA , then redirects to a specific service version, ex svc beta version ?
Here you deleted kube system and other its require to delete?
I think it needs port forwared before init. Do command: kubectl -n vault port-forward svc/vault 8200
Great content. wonder why you don't have subs in millions. One question, I am finding it difficult to understand the concept of renewal lease. I know that the creds will be renewed at 67% of ttl but when the leased is renewed and username and password is changed to new random username and password in the vault database engine. Will the VSO create new secret type resource "postgres" in kubernetes?
Appreciate the compliment! So when vault will renew the creds, it will create a new username and password in postgres database and return it to the vault agent. The old creds will still be valid for another 27% of the remaining duration. Vso then just updates the kubernetes secret object which contains the encoded credentials and restarts the deployment
@@cookncode its, fantastic knowledge sharing, contents are so easy to follow, I’m a bit confused: could you clarify if old credentials that are still valid with 27% of their duration remaining will automatically be removed from the database like AWS RDS postgres once they expire, or will they remain and need to be removed manually, also suggest 27% means 27% of 24h
@@accountfortesting6321 Vault will take care of it eventually so you don’t have to delete them manually
After following all the steps you shared, I am getting this error in Pod Logs "Fetching vault-demo/mysecret from vault.... {"errors":["1 error occurred: \t* permission denied "]}"........................................Not sure why im getting this error or how can i resolve this error
It seems like the policy is either wrong or maybe you forgot to assign the policy to the kubernetes role! Check both
@@cookncode The policy should be vault policy write mysecret - << EOF path "kv-v2/data/vault-demo/mysecret" { capabilities = ["read"] } EOF so the path to the secret is missing `/data` bit in the path. After I updated the policy, the pod was able to get the secret from KV store. Thanks for this tutorial.
@@shradhakhard thanks! I’ll update the gist 🙂
Awesome video! Can you help me understand something? If we have a deployment named dep1 with three replicas, will updating the credentials happen on all pods simultaneously or one by one when the deployment is updated as per your video sync 10.40, in my understanding as per your video suppose we are setting for 10s to refresh as you said but need to understand will this refreshment will be done in all pods together or 1:1?
Vso will update the kubernetes secrets resource and then it does a rollout restart on the deployment. The way rollout restart works (default) is it will bring up new 1 pod at a time, wait for it to be ready and then delete the old pod. So it will do it 3 times for 3 replicas
Clear explanation 👏🏻
Thanks for the video, if we have multiples micro services then we have to use single operator vso or should deploy seperate for all micro services separately?
You only need to deploy 1 vso per cluster. It will manage secrets for any number of applications deployed to you cluster through the custom resources that you configure.
Thanks for the video 😊 As per the video in case of dynamic secrets whether we will get any downtime if credential will expire for related application and pods will redeploy with new credentials? Do we need to automate any logic to fetch new credentials for the application before expiry or VSO will take care?
1. There wont be "downtime" b/c the VSO does a rollout restart on the deployments. So it will bring up 1 pod at a time, wait for it to be ready ( using the probes) and then bring down a pod at a time. Also, VSO renews the secret lease around 67%, but you can tweak that value if you need to so you don't have to worry about the secret expiration. developer.hashicorp.com/vault/docs/platform/k8s/vso/api-reference#vaultdynamicsecretspec
Hi Informative video. But I have some doubts if you can help to answer clearly if possible: 1 if we use vault outside Kubernetes I.e in another vm or box, enable the kv2 engine, put some key values and inject the secrets from vault to kubernetes then how it’s possible? 2: we are using I think in vault as a statically updating the secrets then utilising the same in kubernetes if yes then how, can you make end to end video in depth how it’s working, I want to appreciate in advance. 3 In sync of your video can you suggest how we can list the other environment variables to utilise and are we writing the environment variables as key value to utilise or we are just temporarily exposing. 4 if possible try to keep video more in depth like as a suggestion for this video if you start like listing the nodes, give some 1 minutes intro on k9, how we can use the same, then after that we will create a seperate vault ns, the deployment vault from helm chart with the latest chart then list the chart value, after deploying the vault release, describe the pod whether it’s using STS for storage or using emtDir as volume and so on…. I know it will create video more lenthy but help to the viewer to added some knowledge in their skills.
1. There are different answers based on what you need here. For instance lets say your vault is deployed to a VM and you apps are on k8s, you can configure kubernetes auth in vault but you;ll have to use clients certs to configure vault to talk to your kubernetes cluster. Or instead of using k8s auth, you can use approle auth. developer.hashicorp.com/vault/docs/auth 2. i am not clear what you are asking here. 3. you can use printenv command on any linux system to check all the environment variables. 4. Appreciate your input! I try to keep videos succint b/c it can get too noisy with unrelated information. I have covered k9s in other videos and how to use it but it would be challenging to cover that in each video. I'll try to make a video perhaps covering some tools like k9s separately maybe.
very well explained!! Crisp and clear
Thank you for the video, but I have a question. In my case, I have a Kubernetes cluster. If I use Vault server in dev mode, the storage is in-memory, so when restarting the VM, the data created will be lost. Can I use Vault server and Vault Secrets Operator (VSO) in this scenario?
Yes! Remember that dev mode is only when you are testing! In production you’ll setup vault in high availability mode! Yes you can use vso as well
Great overview, thanks!
Great video... it's like the External Secret Operator (ESO). in VSO we use the VaultAuth and VaultStaticSecrets CRDs instead of SecretStore and ExternalSecrets CRDs in ESO. The only limitation I know on the ESO is that it support only the KV secret Engine in Vault.
@@shabbirsaifee7497 yes please. good stuff , keep up the good work sir
Thats correct. If you already have vault, i'd use VSO since its a hashicorp solution. But before VSO, ESO was another generic approach. Let me know if you'd like to see a similar video for VaultDynamicSecrets with databases and other dynamic engines in vault.
Checkout the dynamic credentials for databases video as well on the channel!
very nice. Can you do OIDC vault auth
How would you ideally from here utilize helm for all of the yamls... i see your github has all of the config etc hard coded and not in GO etc..
on non local cluster I'd prefer using tools like argocd to deploy helm charts. Some of the hardcoded things like port numbers etc is to make kind cluster work (since kind runs nodes as containers).
Information ℹ️
good
the best k8s tutorial ever... 😍🤩
Wow! I'm truly impressed by the amazing transformation you've undergone in your presentation and confidence since your earlier videos. Your growth and progress are truly inspiring! It's incredible to see how you've developed into a confident and engaging speaker. The content as always is helpful to all the developers like me who are new to k8s world. Keep up the good work!!!
Thanks brother!! I switched from a developer to an SRE role so I try to make videos that are easy to understand from a dev perspective! Let me know what else you’d like to see more of!