Kubernetes GitOps with Flux CD

  Рет қаралды 51,842

That DevOps Guy

That DevOps Guy

3 жыл бұрын

Subscribe to show your support! goo.gl/1Ty1Q2 .
Patreon 👉🏽 / marceldempers
Today we're taking a look at a GitOps CD tool for Kubernetes called Flux.
Flux is great for keeping our cluster state in Git and it allows automated synchronization between our our Git repository and our Kubernetes cluster.
Git becomes our source of truth for our environment.
We can use Git for auditing our environment and also use feature branching to test our cluster resources against a test environment.
If you want to support the channel further, become a member 😎
marceldempers.dev/join
Checkout "That DevOps Community" too
marceldempers.dev/community
If you are new to Kubernetes, check out my getting started playlist on Kubernetes below :)
Checkout the source code below and follow along :)
Kubernetes Guide for Beginners:
---------------------------------------------------
• Kubernetes development...
Kubernetes Monitoring Guide:
-----------------------------------------------
• Kubernetes Monitoring ...
Kubernetes Secret Management Guide:
--------------------------------------------------------------
• Kubernetes Secret Mana...
Like and Subscribe for more :)
Source Code
--------------------------------------------------------------
github.com/marcel-dempers/doc...
Follow me on socials!
marceldempers.dev
Twitter | / marceldempers
GitHub | github.com/marcel-dempers
Facebook | thatdevopsguy
LinkedIn | / marceldempers
Instagram | / thatdevopsguy
Music:
Track: Joakim Karud - Fresh Start | is licensed under a Creative Commons Attribution licence (creativecommons.org/licenses/...)
Listen: / fresh-start
Track: Joakim Karud - That Day | is licensed under a Creative Commons Attribution licence (creativecommons.org/licenses/...)
Listen: / that-day
Track: Joakim Karud - Holiday Blues | is licensed under a Creative Commons Attribution licence (creativecommons.org/licenses/...)
Listen: / holiday-blues
Track: Joakim Karud - If I Could I'd... | is licensed under a Creative Commons Attribution licence (creativecommons.org/licenses/...)
Listen: / if-i-could-id
Track: souKo - souKo - Parallel | is licensed under a Creative Commons Attribution licence (creativecommons.org/licenses/...)
Listen: / parallel

Пікірлер: 72
@MarcelDempers
@MarcelDempers 3 жыл бұрын
My Series on CI/CD 👉🏽kzbin.info/aero/PLHq1uqvAteVsSsrnZimHEf7NJ1MlRhQUj
@mingli9563
@mingli9563 3 жыл бұрын
This is the first channel that has a car-review style tech videos. Awesome!!
@SacrificialGoat94
@SacrificialGoat94 3 жыл бұрын
Epic quality. Concise. Informational. Thanks. Keep them coming!
@kunduvikram
@kunduvikram 3 жыл бұрын
Short and explained mostly used features of Flux. Nicely Done!! 👏👏
@devopskey6251
@devopskey6251 Жыл бұрын
You are one of my favorite instructor and every time you deliver new technology with 100%. 😘❤💯👏
@trickytibo
@trickytibo 3 жыл бұрын
A big thank you for your video and your teaching skills. Always so enlightening.
@developer-guy
@developer-guy 3 жыл бұрын
another great video from Marcel , thanks a lot !
@farrukhahmedsid
@farrukhahmedsid 3 жыл бұрын
Nicely explained Flux in short time.. Very much useful. Thanks...
@martinmolinaalvarez9801
@martinmolinaalvarez9801 3 жыл бұрын
Exactly the kind of video I was looking for!
@lukejkw
@lukejkw 3 жыл бұрын
Lekker channel boet. Good to see a saffa making great tech content
@developer-guy
@developer-guy 3 жыл бұрын
nice, it was a great getting started video for flux !
@jasonsinclair2968
@jasonsinclair2968 Жыл бұрын
Good Work! cleary explained at a good pase with no BS
@christianibiri
@christianibiri 2 жыл бұрын
Great video Marcel!
@yasirtariq4616
@yasirtariq4616 2 жыл бұрын
Great demo. I loved it
@TheMrFert
@TheMrFert 3 жыл бұрын
Like the narrator style. Finally different accent rather than majority KZbin IT channels
@Diolev377
@Diolev377 Жыл бұрын
Great video helped me a lot, Thanks.
@couscousburify
@couscousburify Жыл бұрын
Thank you for the video bro !
@MatiFix
@MatiFix 2 жыл бұрын
Thanks ! Great video!! Well explained!
@ridmapabasara2714
@ridmapabasara2714 Жыл бұрын
dude thank you for doing this.
@esoterictech
@esoterictech 3 жыл бұрын
I don't comment on videos often but damn this was good! Thanks a lot for the detailed explanation!
@aietisreekar2425
@aietisreekar2425 2 жыл бұрын
this was an awesome clip
@arpanchakraborty9874
@arpanchakraborty9874 3 жыл бұрын
Fantastic, thanks a lot!!
@avishayg1986
@avishayg1986 2 жыл бұрын
Thank you kind sir!
@fxxxxxxxxxxf
@fxxxxxxxxxxf 3 жыл бұрын
Nice video and a channel! Thanks
@mamun001
@mamun001 Жыл бұрын
Thank you!
@herrownice
@herrownice 3 жыл бұрын
Great Video !!!
@mingli9563
@mingli9563 3 жыл бұрын
Great Job
@gadieichhorn7570
@gadieichhorn7570 2 жыл бұрын
thank you, very nice, how would you manage secrets like DB connections with Flux?
@msoranno
@msoranno 3 жыл бұрын
great video Marcel. Flux is a great tool to help in a very specific situation, but as far as i can see does not fit well in a large scale K8s clusters with large teams working on several components to be deployed. Currently we are using tekton btw.
@forexmeter3900
@forexmeter3900 Жыл бұрын
Very well explained. Since your video is 2 years old, can you do another video and demo the most recent capabilities of Flux? Thank you!
@dylans5233
@dylans5233 3 жыл бұрын
Good job mate! Just wondering if you could cover a flux tutorial for a multi-tenancy cluster? Thanks
@jayeshthamke7860
@jayeshthamke7860 3 жыл бұрын
That's great! Does Flux support pulling images depending on tags like -dev or -release/ -stable ? Thanks
@vengamnaidu9273
@vengamnaidu9273 3 жыл бұрын
hi Marcel , can you make detailed videos on flux working with helm, rancher and other things like add your own key in github and flux. how to maintain different repository source of truth with flux. Heart-full thanks for sharing your knowledge.
@Narco_89
@Narco_89 3 жыл бұрын
Amazing! Very well explained in few minutes! I would see the entire pipeline with flax, like: 1. the dev which push new code on git 2. Travis tests it on another cluster (maybe flax is listening all non-master branches too and deploy on same cluster but another workspace?) 3. a git owner accept the PR 4. flax deploy the changes made only on master Hope this is not just a unnecessary repetition. Thank a lot for this video!
@CienciaFiccionPeru
@CienciaFiccionPeru 2 жыл бұрын
Flux
@oy_oy
@oy_oy 2 жыл бұрын
Thanks for this explanatory video. I have some doubts: - does Flux CD validate your manifests to find missing items? - does it allow to reuse manifests with templates with parameters? - Also, let's say we share a NLB id within Service annotations among hundreds of applications, does it mean we will have to run the pipeline in all of them? With Helm you can update all your Ingresses and objects in your cluster in a single shot and sort previous questions, as well as handling all the objects as a single versioned package
@cschelin
@cschelin 3 жыл бұрын
Currently I'm maintaining my configurations via ansible playbooks. The issue I can see with Flux is with credentials or other similar items that need to be secure. We have connect strings to databases (for example) which has a password. We also have some configurations with SSL certificates including the private key. Right now I have such things in an Ansible Vault and when I need to update that yaml, I run the ansible playbook which creates the necessary yaml to be applied. For a git pull, how would that be addressed using flux?
@NiteshKumar-do4en
@NiteshKumar-do4en 3 жыл бұрын
Yeah I need this flux please Argo CI for more knowledge of workflows
@renus1195
@renus1195 3 жыл бұрын
if possible make a video on HELM OPERATOR AND FLAGGER and about custom resource definition (helmrelease) please
@koodauskanava9096
@koodauskanava9096 2 жыл бұрын
Can you do a video about flux2? Use simple helm release. Thanks!
@singyongjoong56
@singyongjoong56 2 жыл бұрын
Which namespace will the sync-ed workloads be deployed in?
@davidgg8462
@davidgg8462 3 жыл бұрын
very good
@chongerwin
@chongerwin Жыл бұрын
Thanks!
@MarcelDempers
@MarcelDempers Жыл бұрын
Thanks so much for the support 💪🏽🍻
@softwareengineer5764
@softwareengineer5764 3 жыл бұрын
Hi Marcel. You are fantastic teacher. I really request you to make a video for flux V2. Is it possible to follow this video with flux V2 ??
@renus1195
@renus1195 3 жыл бұрын
please make a video on flux helmoperator and flagger component
@chandup
@chandup 3 жыл бұрын
Question, If I want to use flux with ansible or Chef, is it possible for non k8s workloads?
@akshaysood1569
@akshaysood1569 3 жыл бұрын
Awesome
@dqfold5557
@dqfold5557 3 жыл бұрын
Awesome Videos! So much good information in such a short time, it's excellent! I have a beginner question. What does the daily work of a devops look like? I feel like it takes months to learn how to master all these tools (AWS, K8S, FLUX, Jenkins, Argo, Promotheus, Grafana, ...) and once that was done, we quickly set up a cluster, the CD / CI, etc (well, it seems fast for you). But when done, it more or less works on its own. Once we have set up the clusters, CI/CD of the different projects that a company is working on, what is the job of the devops guy?
@MarcelDempers
@MarcelDempers 3 жыл бұрын
Thank you 💪🏽🤓 The idea is that the platform works on its own and does not require constant daily tasks. Kubernetes helps with the tedious tasks, such as setting up load balancing, hooking up logging\monitoring, health checks, auto restarts etc, so a devops engineer can focus on more important tasks. As a DevOps engineer you should strive to automate yourself out of a job. Build systems and platforms that do things for you and others so you can do more important work. There will always be more important things to do. Don't become a gatekeeper for developers. Help developers become self sufficient. Help build tools that empower developers to code, build, test and run applications in production in minutes, rather than days. Give them tools to deploy 100s of deployments per day. You can build tools and services that give developers and team freedom to work fast within boundaries. Give them capability to log, monitor and observe their systems in production with a click of a button. Do all the above with security and best practises in mind. Although these systems will work and function on their own, you will always have things going on and have room for improvement. For example: How do you upgrade your platforms with 0 downtime and 0 disturbance to CI/CD and team operations? How do you keep monitoring and ingress controllers up to date? How do you improve container image security and provide up to date patching? ..the list never ends :)
@dqfold5557
@dqfold5557 3 жыл бұрын
@@MarcelDempers Thank you for taking the time to respond and for this good explanation!
@Santiago-yy3jg
@Santiago-yy3jg Жыл бұрын
are "Automations, locks and annotations" still available with the newest version of Flux? Thanks for your videos.
@ghauri001
@ghauri001 2 жыл бұрын
Marcel what do you like most feature/technology wise? Flux or Argo?
@robertkerr229
@robertkerr229 2 жыл бұрын
Hey boss, on Windows, use Rapid Environment Editor rather than control panel for environment variable editing. Be sure to run as administrator.
@hugomartinez1020
@hugomartinez1020 Жыл бұрын
Hi Marcel, nice video on Flux, great job! Just wondering how I can solve this issue I am having right now: flux pod is crashing, due to this reason: cannot patch resource \"secrets\" in API group \"\" in the namespace \"flux\"" Any hint on this? Just researching to apply it in my current project, please help me as we want to make it more modern :) Thanks in advance!
@K2ThaYo
@K2ThaYo 3 жыл бұрын
Helm charts all the way... You can lint it, dry run and even automatically rollback with the atomic flag
@isaacyuen5409
@isaacyuen5409 3 жыл бұрын
Hi You said we can update the git branch flux is keeping watching into for testing purposes before we merge it back to master. How can that be done with fluxctl? What are the commands? Thank you for your videos. They are very informative!
@MarcelDempers
@MarcelDempers 3 жыл бұрын
Thank you! 💪🏽 The fluxctl install command takes in a branch name for a git repository docs.fluxcd.io/en/1.18.0/references/fluxctl.html#using-fluxctl-install
@aritchakraborty9543
@aritchakraborty9543 Жыл бұрын
Suppose I am having 5 Microservice and in the git-path do I need to mention 5 repo name explicitly??
@gregoryhammond9341
@gregoryhammond9341 2 жыл бұрын
I'll most certainly try this later however I have one concern: Why does the flux auth-key need write permissions to the Repo it's suppose to be pulling from? EDIT: Should have waited till the end. Sorry.
@amine250
@amine250 3 жыл бұрын
I prefer ArgoCD :)
@kojitechs
@kojitechs Жыл бұрын
i love flux
@webmakaka
@webmakaka 3 жыл бұрын
*Молодец!*
@chandup
@chandup 3 жыл бұрын
Hi Nice video. How to contact you? Do you have a slack channel or anything else?
@jerilcj2523
@jerilcj2523 3 жыл бұрын
Is there any option to run bash script in Flux CD? I have got a few *.yaml files and a bash script which has be executed as well.
@MarcelDempers
@MarcelDempers 3 жыл бұрын
You could run a pod, perhaps as a job and have it run once off. The pod can run any arbitrary OS and place your bash in a configmap, mount it to the pod, and execute it at start up using the entrypoint.
@jerilcj2523
@jerilcj2523 3 жыл бұрын
@@MarcelDempers So like you said I created a another pod which is of kind:job and included the script.sh. So now I have two pods 1. mongodb pod 2. job pod which has (script.sh) In the script.sh file, I run "kubectl exec" to the main pod (mongodb pod) to run few commands The script gets executed, but I get the error "cannot create resource "pods/exec in API group" So I created a clusterrole with resources: ["pods/exec"] and bind it to the default service account using ClusterRoleBinding ``` kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: pod-reader rules: - apiGroups: [""] resources: ["pods", "pods/log"] verbs: ["get", "list"] - apiGroups: [""] resources: ["pods/exec"] verbs: ["create"] --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: service-account-role-binding namespace: default subjects: - kind: ServiceAccount name: default namespace: default roleRef: kind: ClusterRole name: pod-reader apiGroup: rbac.authorization.k8s.io --- apiVersion: v1 kind: ServiceAccount metadata: name: default namespace: default In the pod which is of kind:job, I include the service account like shown below restartPolicy: Never serviceAccountName: default but I still get the same error. What am I doing wrong here ?
@jerilcj2523
@jerilcj2523 3 жыл бұрын
Thanks..I got it working..
@sebastiansmuzynski5508
@sebastiansmuzynski5508 2 жыл бұрын
Why does Flux require write permissions to read code?
@vikrammaiya003
@vikrammaiya003 3 ай бұрын
Flux will update the tag of image when new images are pushed to image registry
@mab2278
@mab2278 2 жыл бұрын
Really nice tutorials but please don't play music in the background. I have no idea where comes such a strange idea.
Understanding StatefulSets in Kubernetes
28:44
That DevOps Guy
Рет қаралды 45 М.
Storing Secrets in GIT | GitOps | Kubernetes
27:17
That DevOps Guy
Рет қаралды 16 М.
КИРПИЧ ОБ ГОЛОВУ #shorts
00:24
Паша Осадчий
Рет қаралды 6 МЛН
The magical amulet of the cross! #clown #小丑 #shorts
00:54
好人小丑
Рет қаралды 20 МЛН
Uma Ki Super Power To Dekho 😂
00:15
Uma Bai
Рет қаралды 37 МЛН
Efficient GitOps with GitLab and Flux
16:37
GitLab Unfiltered
Рет қаралды 1,3 М.
Jenkins on Amazon EKS - The easy way
23:33
That DevOps Guy
Рет қаралды 21 М.
САМЫЙ дешевый ПК с OZON на RTX 4070
16:16
Мой Компьютер
Рет қаралды 114 М.
❌УШЛА ЭПОХА!🍏
0:37
Demin's Lounge
Рет қаралды 331 М.
M4 iPad Pro Impressions: Well This is Awkward
12:51
Marques Brownlee
Рет қаралды 6 МЛН