Azure Arc enabled Kubernetes with GitOps | Azure Friday

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Hey friends, you know, Azure Arc simplifies governance and management by delivering a consistent multi-cloud and on-premises management platform. Lior is here to show me how it enables you to do cool things like apply GitOps configurations on Arc enabled Kubernetes clusters wherever they may be from Azure. I'm going to learn how, today on Azure Friday. Hey friends, I'm Scott hanselman. It's Azure Friday. I'm here to learn all about Azure Arc and specifically how you can manage your Kubernetes with GitOps. I'm here with Lior. How are you? I'm good, I'm good. Happy Friday the 13th to you. Indeed, this is going to be lucky. It's going to make all of our demos work brilliantly. That's when things go really well, on Friday the 13th. Right, so tell me about Azure Arc. Why are people so excited about it? Well, if you think about it, what's what was really missing? I think in the hybrid story is the fact that there was no real story around stretching a control plane, right? And if we have Azure Resource Manager which is our control plane, or you know if you made the operating system of Azure what we're doing with, that is we're stretching at outside the boundaries of Azure and with Azure Arc we are able specifically with our cable Kubernetes, we're able to stretch the control plane and actually get access to Kubernetes clusters that out. That are diploid outside of Azure, and by doing so we are able to do some cool things, which is what we're going to show today. Part of it is good apps, you know, policy monitoring, so really it's about reaching outside of Azure and projecting resources as first class citizens inside Azure. That's really interesting. That term projecting resources right? 'cause I've had folks on to talk about the Azure Stack Edge, which is a physical machine, but when you go into the Azure portal it shows up there, so it is Azure. So these resources that you're going to be showing us. Don't live in Azure, they're not running on Azure hardware, but they're in Azure because they're projected into that space. Right, and it's really about reaching out to platforms that until now we didn't have any access to that, because if you think about Azure stack, it's you know it's an Azure product. It's controlled by us. All the APIs is something that we are governing, but now the challenge is how do you actually approach these different APIs on different platforms, different infrastructure and actually being able to do something about that? So that's really what's cool about that. Very cool. And you brought me a demo, of course. Yeah, yeah, so today. What we're going to show is how we are using Git OPS, which is a very great approach to governing your applications and cluster configuration. I'll talk about that and how do you use that against clusters? Kubernetes clusters that are diploid outside of Azure, so if you think about it right, you have multiple clusters spread across the board, right? They can. They can be in different countries, different continent, right? But you want to have one place that you can manage those, but it's not really about managing just the cluster. It's also about the applications, right? Because this is. You know, again today what's driving the business, So what we're going to, we're going to show three clusters that are diploid outside of Azure, and then we're going to do a real time update on an application and web application, and that is deployed on all three clusters, and we're going to see that real time. So to start the demo you can see here in my Azure portal I have triarc enabled clusters, right? So these are represented as Kubernetes Azure Arc, and those clusters are compared from AG cluster. Raspberry Pi Cluster an if VMware cluster diploid with rancher catria. So you can see already the spaghetti of platforms in infrastructure that we're going to touch, right? So the first cluster is the Arg key one and to show you that this is really a demo about resources that are outside of Adderall, zoom in it a bit right? You can see that this is an Arg key demo it's deployed on on story on Google platform. And this one is the Raspberry Pi cluster diploid with ranch OK Treos and I know that you are a big geek like me when it comes to hardware so I have this right here and this is actually the cluster. It's disconnected one but I have another one diploid in my garage, which is what we're going to demo again. So if you can see that this is kind of the prototype for that, so I hope you can see that that's great. That's a beautiful case. So that is a little piece of Azure right there. You've actually taken 6 Raspberry Pis, installed Kubernetes on them, put them in a case and now you have a tiny cloud. Yeah, yeah, exactly exactly. And this is what we're going to be using a second here. So to show you that this is actually a Raspberry Pi cluster because we are, you know, when we're talking about Azure, are one of the biggest use cases. The edge, right and low power devices. So to show you that this is actually a cluster that that is deployed on Raspberry Pi, I'm going to open here my terminal here and just do a quick you cuddle, get nodes and you can see that this is a six node cluster, right? Sorry 7 old cluster including the control plane. An to take it one step further, I'm going to SSH to it. An I'm going to run this uname command. Show that this is actually an ARM CPU cluster, right? So that is a Raspberry Pi cluster, so will minimize that and the third cluster is Kate Rias again, Rancher cluster that is deployed on top of Ymir. So again a different platform on premises platform, right that has a single virtual machine that has Kubernetes cluster, a single node Kubernetes cluster that is deployed on top of that, any file zoom into that to that virtual machine, right? You'll be able to see that the 170, two, sixteen, 1061 IP. Which will come later on in this demo, so I do also later make sorry I was just going to say just to make sure that folks who are listening they are maybe familiar with Kubernetes that they've heard of as being K and then the number 8 S even saying K 3S, which is a lighter weight. Smaller Kubernetes for devices like this print, right, right? And a lot of you know a lot of these IoT and edge scenarios are required. Maybe a lower footprint. Kubernetes distributions. An rancher did a great job on. Creating one, so that's what we'll be using. You know, in this demo. OK, so I'll go back to Azure here and we talked about the tops right? And how is that being translated in the world of Azure Arc enabled Kubernetes? So I'll click on one of the clusters, and this is actually something that you will see on all clusters. Or just pick the G1 and you can see here under configuration. I have a couple of configurations and those are the tops configuration that we are making approachable and easy to deploy as part of our cable clusters, right so? Once you have these cluster on boarded and projected as an arc resource, you can deploy tops configuration now. Once in off the back right that you notice is that there are a couple of configuration your couple of operator scope scopes that we're deploying. So to explain, you know for the viewers that don't know what the tops is all about. So in a natural guitars is really a process or methodology to use Git repository's as your source of truth for a desired state configuration. For your application or cluster configuration, right? So if you think about the situation when you are deploying, you know hundreds of Kubernetes clusters and then you are making a change to your ingress controller. For example, you want that change to be applied on all these clusters, but how do you do that in a fleet management manner? That's that's the challenge and what Azure Arc does. It's basically make that approachable. So what we have here is we have a couple of configurations you can see here. Cluster configuration and namespace configuration. Let's talk about it for one second, cluster configuration really talks about how do you govern the cluster configuration literally. So let's say you have service meshes or or security applications or ingress controllers, right? Like we have in this cluster. And how do you make changes horizontal changes across the board on all clusters? So this is where you're going to use the cluster scope, and the namespace is really where the application kicks in, right? So you're deploying applications against Kubernetes namespaces. And This is why we have the the operator scope for a namespace. Now I'll zoom into, you know, to one of the configurations and let's talk about it before we actually going to make the change right and see how that changes being done real time. What we're doing with Azure Arc enabled communities in Git OPS. We're actually leveraging another open source project which called flux coming from we work San Fluxes and Kubernetes operator that responsible for creating this handshake between your cluster. And the Git repository that you are using for your applications right? And the flux also has another operator, which is the fluxed Helm operator so you know Helm is kind of the defector standards for package management for Kubernetes applications, and we're leveraging that as well. So what we're doing is we're listening with the Flex operator. We're listening to a Git repository, and then we're going to make a change to that Git repository and see what's that all about. If you look at the at the operator parameters here, one thing to notice is the path right? And you can see here releases and prod, so I'll go here to my to my demo application. And first of all let's let's see kind of the repository. This is a repository, we call it a low arc demo application, right? It's a simple node JS web application that is deployed on all the clusters. The interesting part about the web application is if I'll go here 2 releases. We'll be able to see the engine EXE and the prod releases, and if you remember from the previous screen I showed you that there is. Leases and then prod. So what we're doing with the flex operator in Azure Arc enabled, Kubernetes is basically handshaking with Helm Helm release CRD that basically act as a proxy to the actual YAML files and held package right that is responsible for deploying the actual application. Right? So it's really about simplifying that process that all we need to do is to talk to the helm release. So here in that helmet really as you can see it's a it's a straightforward. File that has the release name, the repository that we are at right now replica counts and the message and the message that we're seeing. So what we're going to do is we're going to make a change on that. I'll minimize the screen here and to show the viewers on how that changes actually translated in real time. So what is it that we're seeing here on the top of the screen, you'll see the web application that we just showed diploid on all three clusters, right? Remember the Raspberry Pi deployed with rancher khatris. We have a G key cluster in the middle and we also have the rancher khatry S diploid on a single virtual machine. If you are single virtual machine right on the bottom, what we have is we have the terminal that actually looking at those clusters and specifically what we're going to do is. We're going to listen to the prod namespace and the prod namespaces where the the web application that we're seeing is actually deployed, right? So let's go ahead and listen to that to that prod namespace. On all tree clusters. And you can see that here we have the prod Helm operator which is the one that I mentioned before. This is the operator that responsible for actually listening to the Git repository an asking the git repository. Hey, are you seeing any changes? Are you seeing any changes and the moment that he will see that there's actually a change, it will go ahead and do a rolling update for the application that is deployed on the Kubernetes cluster, right? So right now we have this application deployed on all three clusterin we have. A single replica, which is basically no replicas in the world of Kubernetes, right? So let's go ahead and make a change and see how does that fit into the rolling update and the and the kind of auto update process and the entire Git OPS flow. One thing you notice is that the screen is flickering and there is a reason why is that. What I did is I have an extension here that basically does a refresh every 2 seconds for each and everyone of these browsers because that way you will be able to see the change. Coming in real time, so let's go ahead and do that. I'll go back to the. Oark repository and what we're going to do here. We're going to change the message, and we're going to change the number of replicas and see what's going on, right? So the first thing is, I'm going to do, I'm going to change the number of replicas to tree, right? And here I'm going to change the message to. Hello Azure. Friday and now I'm going to commit the change. Now, obviously in a production environment you're going to have. It may be a more thorough process on how those changes are being made, but once we want to show really is we want to show the guy tops flow, right? So I'm going to commit those changes, right? He ran quickly, minimize the window and let's see what's happening. You can already see on the on the bottom that pods are starting to spin up right and in the second year you're going to see the application update at real time on the top right. So what you're saying is we're seeing the flux operator actually doing its thing, listening to the Git repository. Seeing that there is a change, and now you can see the application is starting to change. Now, the reason that you are seeing the message bouncing between the new one and the old one, because if you remember, we also changed the number of replicas so the engine EXE the load balancer that is deployed on the cluster on the cluster. Is also actually doing its thing right? It's bouncing and load balancing between the new pods that now gets deployed, right? So this is what's happening and you can see that the viewer one already updated. We can see the G1 already updated and also the Raspberry Pi so you can see three different platforms, three different types of infrastructure and the same application got updated in real time. And the last thing to notice is that you can see here that the pods name are actually changing right because? Remember from zero replicas or one replica, we change it to three replicas, right? So if I'll kind of make make the screen here a bit cleaner, you can see now that we have three replicas of this application, and this is what actually going to be on all three clusters. So what we did is basically kind of show a guy top slow end to end the top slow on three different platforms using Azure Arc enabled Kubernetes and this is really the demo, the last. You know the last piece of that is, you know, we always get in. Ask how to do this kind of demos. How to do this kind of configurations and what we did is we create an open source project humans back which called the Azure argue Jumpstart and I'll switch back to my full screen browser. Here an into the jumpstart repository. So the jump start repository is really about taking all the arc scenarios that we can think of when it comes to Azure Arc enabled servers. Azure Arc enabled Kubernetes SQL Server data Services right, Azure Arc as many pillars and more to come. But what we wanted to do is we want to make that very approachable. We wanted to make sure that you have a good experience, kinda zero to hero experience that you can start actually try out Azure Arc, but. The real challenge with this is because Azure Arc Touch is by definition everything that is outside of Azure and projected into Azure. We wanted to provide a way for, you know, for our customers for people that really don't know a lot about other platforms outside of Azure, but really wants to start taking advantage of Azure Arc. What we did is we created those jump start scenarios and today we already have 50 plus scenarios and those jumpstart scenarios are here in this repository. We take you by the hand and tell you. A bit about Azure arc. How you can use how you can use it. What is it that you supposed to do with that right? But the real meat around the bone is these scenarios that you can see here, right? So you can see we are actually covering all the major cloud providers and all the major infrastructure providers and providing them with an automated way to deploy arc environments. Start doing the demo. Start doing PEO CS, right start? Actually getting their hands dirty when it comes to. When it comes to Azure arc right? And the demo that I just showed you right? If a score here scroll here to Azure Arc enabled Kubernetes you can see here for example this is what I used to deploy the cluster that I just showed you an here. We also have day two scenarios and use cases right? So we're not just showing you how to do the bootstrap of the environment we're actually taking you by the hand and showing you what is it that you can do and how you can get that automated so you can quickly spin up the environment and do that. Over and over again, right? So here is, for example, the the Git OPS demo that I just did. It's here part of the you know part of the part of the repository takes you by the hand with screenshot with code samples with all the automation that is needed in order for you to actually get going. So that's the jumpstart repository and we have more to come. Fantastic, that is a really impressive demo like that when we sometimes I think even the word demo isn't big enough for demos like that because that's all real. You know what I mean? Like you could have filmed all that, but you've got a real Raspberry Pi cluster you've got. I mean, when was the last time we had Google Cloud on Azure Friday, you know? I mean that was extraordinary and this is the real magic, you know, this is really the real magic when it comes to Azure Arc enabled servers. Kubernetes, you know data services is. Stretching, you know, and really taking the notion of hybrid cloud to the next level. This is really the jello in for agile for hybrid cloud because it really touches the software layer and not just the infrastructure layer. It's really jelling those together fantastic. I am learning all about Azure Arc enabled Kubernetes with Kid ups today on Azure Friday. Hey, thanks for watching this episode of Azure Friday. Now I need you to like it. Comment on it, tell your friends, retweet it. Watch more Azure Friday.
Info
Channel: Microsoft Azure
Views: 6,309
Rating: undefined out of 5
Keywords: azure friday, scott hanselman, lior kamrat, azure arc, kubernetes, k8s, k3s, gitops, github repo, github repository, multicloud, multi-cloud, arc connected kubernetes cluster, hybrid cloud, azure kubernetes service, aks, gitops configuration, cluster-level configuration, namespace-level configuration, flux operator, helm operator, raspberry pi, azure resource manager, arm, control plane, azure management, on premises, edge, governance, role-based access control, kubernetes gatekeeper
Id: 4fT47TKprFQ
Channel Id: undefined
Length: 19min 0sec (1140 seconds)
Published: Fri Dec 04 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.