Of course! We run everything in our stack on kubernetes. This includes many stateful services: - Kafka (via strimzi) - Postgres (via postgres-operator) - Vault (via vault-operator) - Graylog - Consul - Loki - Mimir Its a joy and I wouldn't have it any other way :)
Man, I wish. I created a whole packer/ansible VM build pipeline with blue/green deployments using terraform/ansible in Bamboo, and it's just in mad need of refactoring. Am learning about Crossplane and thinking of moving the VM management there but am kind of spitballing, not really knowing if my destination is the right one and how to get there. Your videos help me reason about it. I picked up the End-To-End book with K8S and CP, just started going through it.
Thank you or the video. I am just beginning to dive into tbe Kubernetes world and this was the clearest explanation as to what Kubernetes and its components actually do.
Thanks for another great video! I really like the comparison between event driven architectures and K8S here. I agree with you and I'd say that everything for which you can define a "desired state" with data is a good candidate to be managed in K8S.
@DevOpsToolkit, What are your pinpoints, considerations and advices to do "Multi-Staged, Multi-Environments" deployment and shipping, how to do that in K8s Cluster and what are best practices?
That depends on what those environments are. If you split them into permanent (e.g. production) and ephemeral (e.g. PR), I'd say that you'd have a full cluster for the first group and virtual clusters (e.g. vCluster) for the second. More often than not, only production is permanent.
The problem is CTOs or even devs are not educated enough on Kubernetes, they run after these managed services to avoid kubernetes, but even serverless we can have it on k8s with Knative
Kubernetes is good for sending messages to the api that will kick off a chain of events and controllers handling those events. But if that original sender wants to get back some data when calling the kubernetes api, how would that be done? Would the sender also have to start listen to a response event? Or if it is a rest call, would that rest call have to be blocking to get back data? Or is there a polling endpoint or any callback functionality to get data back to the sender?
That's why I said that events are great for anything but querying. The logic is still the same except that the API does not return ACK but it consults it's internal DB (etcd) or a service to get the data it needs and return it back.
Well, as long as that something the sender wants back can be represented as a CRD, I guess the sender could start polling for that CRD, maybe filtering by some label? Similar to how we create deployments and then we check for pods
@@DevOpsToolkit RTB _= Real-time bidding ( RTB) is a subcategory of programmatic media buying. It refers to the practice of buying and selling ads in real time on a per-impression basis in an instant auction. This is usually facilitated by a supply-side platform (SSP) or an ad exchange.
Sorry for not responding earlier. For some reason YT marked the comment as spam and I did not see it until now. You can run RTB in k8s but you might face latency issues. Since every millisecond matters, you might want to avoid Kubernetes networking which ads a bit of overhead (not much, but might be enough for RTB).
Thanks for the video Victor :) I'm also interested in, who should use Kubernetes? It's such a hype and orgs/companies want to use it but it easily get advanced and difficult to maintain the clusters. In my opinion, when you have a larger developer team that is using microservices and that want to adopt to DevOps. Then it can be a good idea. But i see orgs that want to use Kubernetes but then their developers don't even know how to use Git/version control or even lack Linux knowledge. It almost so say to someone without a drivers license to buy a Ferrari :P
I agree with that fully. Kubernetes is a good choice for orgs of certain scale and with capacity to manage kubernetes complexity. For smaller orgs, that's probsbly no need to go there and would be better off using something like Google cloud run or azure container apps. Those service are providing the experience that many org cannot build themselves on top of kubernetes.
I don't have high hopes for Nomad@@ritchie1950 . It might be a great solution but it hasn't been picked up by (almost) any other vendor so it's (almost) fully dependant on HashiCorp's effort. For a type of project like Nomad, success is almost impossible without a wider ecosystem.
@ritchie1950 it depends on how you look at kubernetes. From my perspective, it is only a base that is not very useful by itself. When you add layers on top of it you get something great. Now, there are hundreds, if not thousands, of those layers you can choose so each vendor or project is something different and competes with others. So there is a competition, probably bigger than anything we saw in the past, but that competition is building on top of the base instead of starting from scratch.
Do you use Kubernetes to manage resources other than containers?
Of course! We run everything in our stack on kubernetes. This includes many stateful services:
- Kafka (via strimzi)
- Postgres (via postgres-operator)
- Vault (via vault-operator)
- Graylog
- Consul
- Loki
- Mimir
Its a joy and I wouldn't have it any other way :)
Man, I wish. I created a whole packer/ansible VM build pipeline with blue/green deployments using terraform/ansible in Bamboo, and it's just in mad need of refactoring. Am learning about Crossplane and thinking of moving the VM management there but am kind of spitballing, not really knowing if my destination is the right one and how to get there. Your videos help me reason about it. I picked up the End-To-End book with K8S and CP, just started going through it.
Thank you or the video. I am just beginning to dive into tbe Kubernetes world and this was the clearest explanation as to what Kubernetes and its components actually do.
Thanks for another great video! I really like the comparison between event driven architectures and K8S here. I agree with you and I'd say that everything for which you can define a "desired state" with data is a good candidate to be managed in K8S.
I don't now if it is because I have finally reached the point where I have the problem that it solves, but I 'get it' more than ever now. thanks.,
Kubernetes is not limited to containers but can also manage vms. Learnt from your other video. Kubevirr
Very good explanation, data-driven arquitectures are a good way to create more complex systems
@DevOpsToolkit, What are your pinpoints, considerations and advices to do "Multi-Staged, Multi-Environments" deployment and shipping, how to do that in K8s Cluster and what are best practices?
That depends on what those environments are. If you split them into permanent (e.g. production) and ephemeral (e.g. PR), I'd say that you'd have a full cluster for the first group and virtual clusters (e.g. vCluster) for the second. More often than not, only production is permanent.
@@DevOpsToolkit Hmm, that's very concise answer, but it might deserve a video in your series of DevOps :) , thanks anyways
@yasirkaram true. Adding it to my to-do list... 🙂
@@DevOpsToolkit I think I found what am looking for in one of your playlists ua-cam.com/play/PLyicRj904Z9-1pBsqXJe34dhQdSgnDoNu.html
Thanks Vic 🥰🥰🥰
The problem is CTOs or even devs are not educated enough on Kubernetes, they run after these managed services to avoid kubernetes, but even serverless we can have it on k8s with Knative
very nice!! thanks!
Glad you like it!
Apologies. What are you saying at 0:52 "auto soft brater"? Couldn't quite make it out.
"AWS EC2 instances" and "Atlas operator" are difficult to understand in that vicinity.
Kubernetes is good for sending messages to the api that will kick off a chain of events and controllers handling those events. But if that original sender wants to get back some data when calling the kubernetes api, how would that be done? Would the sender also have to start listen to a response event? Or if it is a rest call, would that rest call have to be blocking to get back data? Or is there a polling endpoint or any callback functionality to get data back to the sender?
That's why I said that events are great for anything but querying. The logic is still the same except that the API does not return ACK but it consults it's internal DB (etcd) or a service to get the data it needs and return it back.
Well, as long as that something the sender wants back can be represented as a CRD, I guess the sender could start polling for that CRD, maybe filtering by some label?
Similar to how we create deployments and then we check for pods
Exactly@@mirceanton . It if's a state of something managed by k8s, it's a query. In that case, it's not events any more, but the API is the same.
Excellent - Every day is a learning day - I wonder if I can run RTB stack on Kubernetes ?
What is RTB stack?
@@DevOpsToolkit RTB _= Real-time bidding ( RTB) is a subcategory of programmatic media buying. It refers to the practice of buying and selling ads in real time on a per-impression basis in an instant auction. This is usually facilitated by a supply-side platform (SSP) or an ad exchange.
Sorry for not responding earlier. For some reason YT marked the comment as spam and I did not see it until now.
You can run RTB in k8s but you might face latency issues. Since every millisecond matters, you might want to avoid Kubernetes networking which ads a bit of overhead (not much, but might be enough for RTB).
@@DevOpsToolkit Thanks a lot - make sense.
Thanks for the video Victor :) I'm also interested in, who should use Kubernetes? It's such a hype and orgs/companies want to use it but it easily get advanced and difficult to maintain the clusters. In my opinion, when you have a larger developer team that is using microservices and that want to adopt to DevOps. Then it can be a good idea. But i see orgs that want to use Kubernetes but then their developers don't even know how to use Git/version control or even lack Linux knowledge. It almost so say to someone without a drivers license to buy a Ferrari :P
I agree with that fully. Kubernetes is a good choice for orgs of certain scale and with capacity to manage kubernetes complexity. For smaller orgs, that's probsbly no need to go there and would be better off using something like Google cloud run or azure container apps. Those service are providing the experience that many org cannot build themselves on top of kubernetes.
@@DevOpsToolkit Thanks for the reply :) we will see what Hashicorp Nomad can bring us in the future!
I don't have high hopes for Nomad@@ritchie1950 . It might be a great solution but it hasn't been picked up by (almost) any other vendor so it's (almost) fully dependant on HashiCorp's effort. For a type of project like Nomad, success is almost impossible without a wider ecosystem.
@@DevOpsToolkit sad to hear that though, feels like there is no contender to k8s then. Thanks again for your work putting up videos :) /Rickard
@ritchie1950 it depends on how you look at kubernetes. From my perspective, it is only a base that is not very useful by itself. When you add layers on top of it you get something great. Now, there are hundreds, if not thousands, of those layers you can choose so each vendor or project is something different and competes with others. So there is a competition, probably bigger than anything we saw in the past, but that competition is building on top of the base instead of starting from scratch.