 All right everybody, welcome back to yet another OpenShift Commons briefing. This time we're going to be introducing advanced cluster management for Kubernetes. It's been a topic that's been requested a couple of times so I'm really happy to have Brian Tennis and Kamesh Sampath with us to walk us through what that actually is and hopefully give us a really great demo as they are want to do often. So I'm going to let Brian and Kamesh introduce themselves and take it away. We'll have live Q&A at the end. You can ask the question in Twitch or Facebook or in Blue Jeans or YouTube Live, wherever you are, and we will aggregate those and ask them back to Brian and Kamesh to answer them. So without further ado, I'm going to unmute them all and let them introduce themselves. Brian Kamesh. Hey, I am Brian Tennis. I'm a developer advocate. Here at Red Hat, I focus on OpenShift and yeah, I'm excited to talk about ACM a little bit. And yeah, I guess Kamesh, do you want to introduce yourself? Then I'll talk a little bit about what ACM is and we'll get into a demo. Okay, thanks Brian. Thanks everyone. I think probably this is my first OpenShift Commons briefing that I'm handling. So I'm kind of a worker of India as part of Red Hat, a developer advocacy team. I actively evangelize on Kubernetes OpenShift serverless and service mesh technologies. Being a Java developer for lifelong, maybe this year, exactly last week, I just crossed my 20 years into the IT industry. So kind of doing development from day one until now. That's pretty quick introduction about myself. Another common thing I usually get as I speak so fast, but I try to speak slow in case if you see me speaking fast, just stop me there. Probably I just like to speak slow as well. That's pretty much it, Brian, over to you. Yeah, no, no, no, no speed, Russ. I think we're, I think we're good. I think some of the stuff is really awesome, you know, how we can manage and spin up and do a lot of stuff with multiple clusters. Because the world of Kubernetes and OpenShift is getting more and more complex now. You start thinking about it. So there's a need to ACM and let's figure out what this is. So number one, first point that I do want to make is if you aren't familiar, make sure you check out this site. So this is our main landing page. Talks about what ACM is. And there's the ability to go and get the tech preview so that you could try this out yourself. So number one, make sure that you check this out. That way, you know, you could, you could try it out. Current status of what Advanced Cluster Management for Kubernetes is, is we're currently in tech preview with this. And, you know, you guys could, you guys could try it out if you think that it's interesting. So number one. So what is ACM? So why, why do you need it? The number one thing, or there's three main points for Advanced Cluster Management. Why do we need that? One is there are increasing need to have multiple Kubernetes or multiple OpenShift clusters available. Some people might use this for development. Some people might use a cluster for, you know, different, you know, products or, you know, publications. We want to go and have one particular business unit that might, you know, have specific requirements versus another one. And there are different opinions, you know, even within Red Hat of, should I have one large cluster that has all of our things? Or should we spread this out and have, you know, particular needs met for each cluster, for each, you know, group that might be using some of this stuff? So having the ability to, number one, manage the complete life cycle of an OpenShift cluster is one of the main pillars of what Advanced Cluster Management is. We have the ability to spin up clusters. We have the ability to manage their update cycle, check to see if there, you know, need an update, things like that. We have the ability to connect to existing clusters, right? And we'll showcase some of that stuff in the demo. On top of all of those things, when you have multiple clusters, or, you know, multiple components out there, right, you have to have a way to be able to manage policy. Make sure that, you know, we're able to have the governance, the risk assessment, compliance, these things within the cluster. We need to make sure that each cluster is meeting those specific requirements is what I mean. And ACM allows us to do some of that. And then the third aspect is when you have multiple clusters, you get some benefits there. You know, you can target a deployment to multiple locations to have your own complete hybrid cloud. You could make this on, you know, any cloud provider, on-premise, all these things, right? And there's benefits to that. You know, you have the ability to deploy your application to multiple geographic regions to be able to have some sort of, you know, DR assessment in place, right? What happens when something doesn't work? You have the ability to, you know, maybe possibly deploy this app in multiple places and you could, you know, manage that appropriately. So we'll showcase, you know, talking about how to deploy some of this stuff there. Kamesh is awesome developer advocate. Here's some details that we have some of this. I have a slide, I'll add it to the deck so whenever we send that out as well. One of the things that Kamesh was mostly, or recently, interest or working on is the K-native cookbook. If you're interested in serverless approaches, you don't want to deal with OpenShift YAML or Kubernetes YAML, but you still want to deploy your application on those types of environments. You should be looking at serverless, you should be looking at K-native and the book is free to download. So check out that link if you haven't seen it. So what some of this looks like. So the first pillar of this would be the unified multiple cluster management, right? And like I mentioned, it gives us the ability to create an update and get rid of Kubernetes clusters. And we could tie the advanced cluster management, the main hub into our own multiple cloud environments. So what I mean by that is we could go and specify an AWS credential, a GCP credential on Azure credential and there's more to come probably, but currently we do those things. And once you've created the connection to those cloud providers, we could go and spin up in a Kubernetes OpenShift cluster that easily. We could search and find any resource that we have that is running on those particular clusters across our entire domain, which is pretty awesome, right? So whenever you have the complexity of multiple clusters, where did I deploy this thing? Where does it go? We need to make sure that we have the ability to easily find that and ACM does give us that ability. And that's pretty neat, right? Once you have deployments that are that complex across these multiple clusters, you need to be able to find things quickly and ACM does that for us. One of the other things is we have the ability to quickly troubleshoot some of the issues across the domain of clusters, right? And we'll see some of that stuff in the demo. Importantly, like I mentioned, policy-based governance risk and compliance is a big part of this, right? We don't wanna have to wait for a security scheme to tell us, hey, something's wrong or whatnot. We wanna be able to get alerted quickly, right? So ACM allows us to essentially set up some of these policies for security applications and infrastructure. So we could do that and we could visualize that this cluster or this set of resources is meeting the requirements that we have, right? So number one, right? And we have the visibility into this. So we could see some of the screenshots of how this kind of looks like to be able to validate and make sure that compliance is there, right? We wanna make sure that these clusters are in compliance when we have many of them because it is harder to manage. But ACM hopefully takes away some of that complexity and makes it easier with some of that. And finally, the third aspect is really the application and how that's deployed. It's nice to have some of the infrastructure tools that allow us to manage multiple clusters, spin them up, do that stuff and make sure there are things that are on there in compliance. But really what it comes down to is how do I deploy my app and how do I do it at scale now that I'm able to have multiple clusters? How do I manage all of that stuff appropriately? And ACM helps with some of that too and we're gonna show that in the demo. So you could easily scale some of these deployments in a simple unified view. And you could see we've got an application with many different pieces and components here. You could deploy applications from multiple sources. Just like you could do a lot of this stuff with Kubernetes and Ubuntu by default, we're able to do this on multiple clusters so that we could have a unified vision across some of this stuff. And again, like always being able to see and understand what's going on is very important, especially when you have the complexity of multiple clusters. So ACM gives us a quick visualization across our clusters so that we could see how the relationship of deployed applications actually goes through the chain. And I know that I've seen a lot of this stuff. One of the problems is some of this stuff with talking about how a service mesh works, right? We wanna be able to manage how those things go across, right? ACM gives us some of these views, gives us the ability to see some of that stuff. So anyways, with that, let me pass it over to Kamesh and we'll get going with the demo so you could see how some of this stuff actually looks in real life. So before I jump into the demo, like I just wanna share a few links and then probably the problem which Ryan was saying earlier to see why we need this stuff, by why we need ACM. So right now I'm just going to show you multiple different console, at least for my case, I just have three clusters right now running. One, if you see this one, this is the one which is running on GCP, which I spend up in the morning. And then I have one more cluster which is running on Azure. I think I just spend up sometime back and then I have a third cluster, which I run on AWS. I think I have three clusters totally. In fact, now adding to ACM, which is going to be four clusters. Just imagine there's a small demo which I'm gonna do for 10, 15 minutes. But if you imagine the scenario, so we have three clusters to show this demo and multiple other stuff. So this will be a typical scenario when you start deploying your application enterprise. Your clusters keeps growing and as you keep your clusters keep growing, so you also have the problem of having multiple tabs, multiple things open up, multiple management things and it kind of becomes a nightmare once upon a time where we have to manage multiple Kubernetes clusters. So that's the real reason what Brian was saying earlier, like we got this ACM to basically manage your multiple Kubernetes clusters from one single place. So when I get into ACM, I can start to see my clusters across, I can import my clusters, we'll see one example and we can also spin clusters on the fly from ACM itself. Just before going there, so what I want to show you is that you can find these demos, I put the demo links on the chat but still I'm sharing this once more. So what I'm gonna show you today, so they are available right here on this GitHub repository. That's the demo ACM manifest. It's going to deploy a very simple application. I'll share the application as well. So this is application GitHub URL where you can go look at the application as well. And these are the two things which is going to show you today. So nothing big about this application. The only thing is that we're going to deploy the same application as multiple clouds, but what basically is going to do is like we're going to use ACM to do this deployment. And end of the day on the verge of deployment, ACM is also going to take care that to tag this particular adding an enrollment variable to each of these deployments saying that it belongs to AWS or GCP or Azure. Okay, that's all three clouds that you're going to see today. So if you are interested in getting started with open cluster management, deploying your own cluster. So this is the GitHub repository as you can go there for ACM. GitHub.com open cluster management. And when you are there, so you should see this little one, this deploy folder that gets you deploy the application from scratch. If you are interested in the leading edge bills of open cluster management, you can do it from here. And it gives you all instructions, basically how to get started with ACM on your local cluster, right? Open chip cluster, which you have. In case if you're interested to go pretty quick of it, you can also do it from the operators console. If you go to the operator hub, I'm just showing one example where I've installed this. You can just say ACM, advanced. Let me type this one, AD. Okay, if you see this one, that is an advanced cluster management operator, which is also available. You can just click install from here to get it installed on your cluster as well. So but I did, I did that earlier. So this is another way by which you can install. And then it goes to our tech preview repositories to pull your stuff. The earlier one which I showed you is more like you are leading edge bills. So many chances that they can break, but this one is little bit quite stable as a tech preview one, which you can also use there. Right? This is how we can get. This is, yeah, like installing on any open shift cluster that's updated and you could get ACM on your own open shift cluster to be able to get this management, right? By just installing this operator and then following the how to install instruction, right? Exactly, exactly. So all it requires is like, so once you install this operator, right? Basically, let me show if I get this one on my install operators. Let me go to my, so this is namespaces effect. This is not a global installing. So you have to choose a namespace where you want to install because it's not global by default. So I just have that install on advanced cluster management namespace. So this are the two operators that get installed. Once you get it installed, you see a bunch of APIs that's available. One very first thing that you need required for this to work is that you need to go and click on this multi-cluster app. So that's going to show you the multi-cluster app operator. You can just create and then create one. For example, if you create this, this is going to give you, this is pretty much as needed. So you need to specify a query secret for now. So which is, which you can log into query and then register yourself to get a secret. So which allows you to pull this one. So you can use the secret to pull the operators. I mean, you made this at its required end of the day. But this is the only thing that is required for you to create. Don't mind about the spending. It's already installed, but there is a fix that's going on to have this show a proper status. So this is what is required for you to get started with the thing. And once it's done, you will see that on the namespace, approximately we have, not approximately, precisely you'll have 35 pods running. So this is a way like by which you can verify that, okay, how am I ACM up and running for me? So this one way to do, see this. Another way is that once you do this, when you go to the routes side of things on the networking staff, so you should see the multi-cloud console which should be there. You can click on this console link which should basically get you to this place what you'll see right now. So that's pretty very quick intro like how you get started with installing ACM on your clusters. So with that, what we do is like, you just let go and see what other things you can do, right? So when you click on this bread thing here, you'll see that bunch of things. You'll have an observe environment, topology and all these things. If you go to overview, these are something which we bought from the cluster that you already have. So one thing which you showed right now from Brian or showing sometime earlier, that this is going to give you an overview. So I have one cluster on Azure and one cluster on Amazon already imported. And there are two clusters which we'll also import one more GCP cluster in a second. That's to show how we can import the clusters. You can also go and add a provider connection so that you can create this stuff as well. Okay, so this is the overview page. To manage the clusters, you have to go to your managed clusters here. If you click to this, you'll get to the clusters what I have installed. If you see this, I have a couple of clusters. One, this AWS one is what I created just before this particular session because approximately it takes 20 to 30 minutes for this cluster to be created on the fly. So I thought like we could do it earlier so that I can know like how to do this. So one of the things is that you can just do add cluster which basically clicks create cluster. So this should take you to this particular screen that I can take. Okay, what's the cluster name I need to use? What's the domain name I can give? All the typical open chip installation parameters, right? And then choose one of those cloud providers, right? For example, when I choose Google here, it'll ask you a bunch of other stuff, right? Few other parameters that you typically do when you create stuff, okay? So with this, with the first part in the base domain and all of that stuff. So in each respective AWS, GCP, Azure, we still would have to go and manually set up the DNS like domain or the DNS zone in those areas and fill that out appropriately, right? This isn't handling that. That's great. This doesn't do that. I think we need to have those. We need to have those one. Thanks, Brian, for getting that out. So we need to have those base domains and other stuff created including if you go to the official open chip docs, you should see that what are the basic things that you need to have on each of those clouds to have these things set up. So those basic things, prerequisites I call as are required before you come here, right? This basically creates a cluster once you have all those basic setup done. So we really want to bring like, so coming back to this one, as a scenario, like you have assuming that you have the base domain and everything set up, to come here, you can choose the possibly, the possible open chip installation that you can do 4.3, 4.18, 4.4, et cetera. And then once you go here, so you just see the connection, right? So you'll be wondering what this connection is basically. So the connection is basically is a set of things that you also use with the open chip installer to kind of create a cluster, right? Let me go and explain this further. So if you go to the Provider Connections tab, you can add a connection basically. So this says, okay, I'll go and add a connection. And then let me go and choose Google here. So this says what should be your provider, right? Now we allow one of the three public cloud providers, Google, Amazon, and Azure for now on ACM. And then you can give your custom name and then it's going to create a secret basically, so which you want to store in any of the namespace, right? Probably can have, I have something like myGCP, for example, which is already created here. So that my, all my things related to Google Cloud gets into this particular namespace, right? Any contact maps or secrets or whatever it have, all right? And apart from that, so it also asks you for a few other information like what should be the project, the Google project, GCP project that you need to use. And then you will get a JSON basically, the service icon JSON that you need to put here. And if you go to try.openchip.com, then you should get the pull secret as well, so that you need to pull secret to pull the images and possibly the SSH keys which you need to have so that you can, in case if you want to SSH with those machines, you can be using those keys as well. So these are the some parameters which is asked for. Once you give this, you can use the same parameter, can be reused whenever you are spinning in your clusters, right? So if anybody is familiar, if anybody is familiar with the OpenShift-install command on how to install OpenShift on any of these cloud providers, this is the exact same set of inputs that you have to give for each specific cloud, right? With AWS, you're gonna have to give a access ID and a secret, right? So that stuff still needs to be provided, but you've just provided in here, and then you could use this to easily spin off stuff, right? Exactly. Another thing I like to say here is that the point to mention is these are again, are all custom resources that gets created behind the scene. So in case if you are an organization where you have the CI CD in place, then you can completely do a GitOps from this, even spinning up your own clusters could be GitOps as well. And that's also possible, but that's too advanced for this particular session. Maybe we can see it in a future session where we can do a complete GitOps using pipelines and other stuff to get your folks turned up from this as well. Okay, that's a different thing. I'm just saying that, sorry for that. ACM exposes an API that we could tie it to. I mean, I'm not saying that we're doing it now, but it does, that's cool. Yeah, I think that's does. I think everything is CI ID here. So everything that gets created here, everything is a CI ID that we can create and then push it into a GitHub repository and then use them as part of GitOps flow. So this is how I added these two things, probably demo ACM, I mean AWS, demo GCP, these are from Amazon and Azure Clouds. So once you have this, this not only that you have to create a new cluster, I can also pull in my existing cluster into this particular stack. For example, so I have created one cluster as I said earlier using this connection and this Azure cluster, I did an import another day. And then now let's do an import again on the fly. Let's say I want to import another cluster. Let's give me the cluster name as I give back a GCP and then I also use another namespace where you want that to be created. And once you click generate command, that's going to give you a complete secret, right? It's kind of big encoded secret plus command, et cetera. I'm just going to copy this up and then let me go to my command line and then this is my GCP cluster. You can see on my screen that I'm right now on GCP CLI. I'm just going to do this open shift command and copy paste this one, this big ML for you and then say yes. And then this is going to create me a bunch of stuff on my GCP cluster. And then it's going to import my cluster into my thing, right? You see this, there's a custom resource definition getting created, multi-cloud and then creates a bunch of other objects on the fly and then you service and all extensions and every stuff. And now if I go back to my console, if you go to my clusters list, I should see something like this, my backend GCP spending import because there is something has to be deployed in the particular cluster. Let's give some time for it and then it also adds a bunch of other labels here. So you'll also have these labels imported as well. So in this way, what you can do is like you can create or you can import your existing ownership clusters. Two questions. So does this only work with open shift or can we tie this to a other Kubernetes distribution? As of today, this works only with vanilla Kubernetes as or from this console or whatever it's sold because once you click on act cluster for that matter, so let's say let's do it again. You see that I don't get anything right here, but soon you should have my vanilla Kubernetes also coming up here, right? So I think I've seen people like on the ACM list in other places where they can have, I've seen people who are also importing their local vanilla cube clusters, right? Like a mini cube or a kind cluster kind of stuff into this. They're doing experimenting with those things as well, which means that also gives you an option that it can get red hat. I mean, vanilla Kubernetes is also inside, but right now it's only open shift. So it can do only open shift right now. And to clarify that a little bit further, someone asked, can you use this with 3.11? And I think this is a 4.0 and up. Yes, that's true. I think as of now like, I don't think so it's supported in a four. I mean three, it's only supported in four still. And one more. So we get them all in while we've broken your train of thought. Can we use it on open shift dedicated? I think we can use, I think we can use a open shift bad metal as well, but in this demo I'm showing it on cloud because that's easiest one to demo. If you watch our summit demo, probably I will place a link at the end of the session. So we actually imported a bad metal cluster inside ACM. And then we also spun up application on the bad metal cluster as well. That's also possible. Okay, and there was another question. I'm just gonna ask all the questions in the chat right now. Yeah, sure, please go ahead. I think I take some time for this to import. We can take questions now. That's what I figured. So it looks like it needs a Quay secret. Is Quay included as part of ACM? No, I think you can use your Quay account. Any generic Quay account, I use my own account right here. And then you can just create a secret there on there from there. And then from the Quay account, you can create a secret from there. Let me show that to you how this done. This is my Quay account. I'm just going to get into my Quay account. If you go to your account settings right here. So it's again a free thing. You can just go and create your own account here. So if you go here and then you can just do this generated encrypted software. Once you do this particular stuff, what happens like it gives you multiple options like your Docker login command, you're keeping it a secret. There's multiple other things that get showed for you. I just need to pull out your secret down and then follow the instructions that's there in the deployment for you, right? Either this and then if you're using an operator you don't need, and then you can just use to create the secret inside inside your name space and then specify that in a Quay, right? So what I was meaning is that once you create a thing, let me go back to the install operators, that once cluster management, you need to create this CID. So once you create this CID, so it asks you for this image pool secret name. So what you can do is like, once you go, once you're in Quay and got your secret downloaded, it's an YAML that gets downloaded. It can just do a Q-Cut to create, to create the YAML secret on the name space where you want to deploy ACM. Once you have done that, then specify that secret name here so that they may just create a pool for you. Okay, all right. And then... I think it's, yeah. And then Manesh is asking, who manages the credentials and billing from AWS, GCE or Azure? Is there a component? So this user uses this, yeah, so go ahead and apply it. Yeah, those would be your credentials for your AWS accounts. So depending on how your workplace or however you have that set up, you're just using their credentials for your own account. This is not a build or managed or whatever by Red Hat. You just add that provider connection with the particular access fees to be able to get into those cloud providers. So it's completely managed on your own account. Okay. And from Twitch, and Manesh says thank you for that answer. Brian, that did it, perfect. From Twitch, we have a question. If the installation fails, like not enough CPUs or RAM, can you resume a started installation later once you got the quotas for the instance or is it? Yeah, I think it does not resume as of today. So one of the good thing about when you create a cluster from via ACM is that in case if it fails, I add that which is multiple times during this COVID situation is that I would not have enough instances of GCP in India clusters. So whenever I spin these apps, so I usually get a failure because the instance are not available. So what ACM does it like it's rolls back this particular stuff. And you say like it rolled back completely. Like it's like your database transaction coming, right? Either it's completely done or it's rolled back completely. So there is no point of assumptions anywhere. I think you have to adjust your quota back and then trigger again the create cluster thing that has to be done. And someone on YouTube, Dolph is asking is ACM supported on completely disconnected environments? Is that possible? I think that's a good question. I don't have the answer for that right now. Maybe I can check and get back. I don't think so far now. I'm thinking it might work as long as they can talk to each other. Like there's probably a dependency that those things need to communicate with each other and with this main hub that we're looking on but and quay, right? There is a dependency on quay right now, right? So anyways, yeah, I guess who knows. Maybe I'm wrong thinking. Maybe not now. I should answer to be on a safer side. Maybe not now. Maybe we could have that soon. That as we do for OpenShift like for a disconnected install you should have it soon later as well. So see as one of the things you can think this way right since it's going to import data metal I can have ACM deployed within your intron as well. It just needs an OpenShift cluster to deploy. But since we are in a tech preview mode we have all the images right there in our quay repository. So either you import them locally and point it to something, do some act behind the scenes but not on the outside, right? Maybe like it can still do but lots of hacking required. And that's all. I have one more question. So this ACM you installed the operator this is what you're showing right now green. That's an OpenShift cluster as well is this not in the list of things that you're showing on your screen right now, right? This is just like a management cluster. Exactly. That's your management cluster. I can still deploy application to the local cluster but since it's a management cluster I keep them out of the applications because I don't see if something wrong happens I'm easy to go and change this particular stuff. I can import it to any of the new ACM I'm going to deploy applications then that's going to act really dependency on this cluster again. So we should all want a technique at the end of the day, right? So just to show that like we see this node the Google node has also been imported right now which means my Google cluster. So let me go and show you something here. If you see here, so this is an Azure cluster I'm on right now. Let me go on to the thing, the backend GCP if you remember this is a project we specified when importing the cluster. So when I click on this there's a little bit more details I'm getting in. So you'll see a bunch of parts and deployments getting created and all the application gets deployed here. Depending on what you try to say where you want to deploy the applications, right? So let me go and find this out burn it back in GCP. So it takes some time for it to get the cluster imported here. So let me see that it's there in Azure. I see a bunch of parts maybe they have changed it now. So it says that that's how it connects your parent cluster management cluster and application maybe I'll try to find it out and post it back. So you can find a bunch of parts getting created running there these kinds of communicate to the backend, right? So let's, without further base of time I think we're running 20 minutes more. I think I'll just quickly show you to deploy an application or two things. As I told you earlier, so all the scripts are available in the GitHub repository in the public one. So you can just use that one. So what I'm going to do right now is more to deploy a bunch of applications. I think I'm going to deploy that on the, I mean the management cluster, but it's going to spread out into multiple cluster. Let's take an example. I want to deploy on Azure and AWS for that example, right? So, so what it basically, one of the good things is like at the end of the day, it's going to show you like this. It's going to be a simple, hello world kind of a demo, but the topology end of the day it's going to look like this, right? I have a backend AWS, I have a backend Azure and I have a front end application another day. So, but it's going to distribute the application. All that happens, let me go to the code. So again, it's, it's related a bunch of CRDs again, right? I think I'm overflowing with CRDs right now. So for example, so the basic three basic things that is required to get started with this is basically a namespace where you want to deploy this application. This namespace is going to be created in all the clusters where we are going to deploy the application. So every, every cluster, for example, let's say AWS, Azure and Google, everything is going to have this particular thing created for it, all right? And then there's a channel which we need to say. So what basically channels, right? So it's going to adopt a Github methodology behind the scenes, which means that I need to go pick up stuff from GitHub and then use those YAMLs which will be your customization or Kubernetes manifest or any kind of manifest that you have. It's going to pick them up from GitHub. I think that's the easiest channel I have. There are multiple other channels. I don't remember them top of my head if you go to the open cluster management repo, you have listed all the other possible channels which you have, but for the demo sake, we'll be using GitHub. I can go to GitHub and then use this GitHub developer demos repository, which is just the application inside that. So, and then it says that, okay, this is what I'm going to use as my channel for my GitHub. So what I mean to say right now, when I'm going to deploy my application, I'm going to define few things like your channel, your applications, the grouping of this particular stuff and all of the stuff. It's going to go on, use this channel to download those manifest and apply those manifest and respective, what do you call your clouds, right? So when you go do this, the application is basically it's nothing but it says, okay, it's a group. I kind of imagine like a logical group of all the deployed applications. You can group this application together. I call this a hybrid cloud. That's going to be the demo which I'm showing right now. And then I can specify a bunch of components. I'll show you these component kinds as well in a second. So this is going to be a subscription model. That's going to be which all the component that we're going to have the subscription done. So what I'm going to say is go on deploy these only in all the, I mean your clusters which has this particular label as cloud. And then the cloud is going to say either Amazon, Azure or Google, okay? This kind of typical select type thing which happens within Kubernetes for the services. It's going to go to do the same thing here. For example, if you go here onto our console, you see this AWS as a cloud Amazon. This has also has a cloud Azure and this also has a cloud Google, right? I have, I'm not deployed two other things in this. So just to show you that when I apply these rules it's going to go only to AWS and Azure and not to Google, right? Still I have Google, I can bring in Google as well. So this is going to be a label which is going to be used here. So that's what this says. Okay, go on select these things, apply these subscriptions only on those clusters which has this particular key, a label with any of these values, right? I think there are other expression also as possible but this ECS one there, okay? This is the first three things which we need to create. I need to create a namespace. I need to create a channel and I need to create an application, all right? So let's go do this. I'm just going to follow the instruction from the demo just to follow this one right here. So I'm just going to say copy this one. Let me go and see that I am right now. Okay, let's go see here. CD, I'll go to my repository here on my local. Which context, I guess, or which cluster are you applying this to? You apply this on the management cluster or on one of the ones that are? Yeah, that's a super question, Brian. I think if you see here I'm on my management cluster right now. That's where I'm going to do this application right here. So this is going to be applied on management cluster. That's what I need to do. It could be, not necessarily that has to be in Pacific project, but it could be anywhere you want, right? So I'm just going to go here and then say, copy this, where is my thing here? We'll see apply. So let me go to hybrid demo thing. I think I have a bunch of things, the same thing what I'm showing on my VS code. I'm just saying that create this apply, create the namespace, create the GitHub channel and create the application. That's what I'm going to say. It's not going to basically do anything right now because I don't have subscriptions yet to be created, right? My subscription has to be created. This is going to create these ones here. So all these ones, if you go to the console and if I go to the manage applications, you should see this thing, application thing starting up right now, but it will not have any clusters imported. You see this hybrid cloud application if you saw just now created, but it's not managing any cluster as of now, right? This is an empty topology right now because I've not created other things that's required, right? So what is other thing is required? So we said that, okay, I need to be on the cloud. I need an application, but how do I select which are all the things that I need to place? Which are the clusters that I need to place, okay? So those are the two other CRDs that is required. For example, so let's go and say I have, I use customize here. So if you see here, what I'm going to do is like, so it's going to have a subscription. Basically, if you remember, let me put this one in Babylon here so that I can explain these two things in Babylon. So let's take what is there in the application. In application, if you remember, I said that I need the subscription here, right? The component kinds, which is going to be used here. There's a subscription that's exactly what is here. And then what subscription basically tells you is that, okay, so it goes and tells, go and find out all the things just labels, cloud all because it's a basic one. I'm just going to say that GitHub path is front end and ACM, where this front end ACMS, right? You'll be wondering where this is. Like this is going to go to my GitHub repository, that is from my channel, so which is here. And from my channel, I'm going to say, okay, go and pick this stuff up from this particular repository which is going to have here, right? From this, go to this channel and which path I'm going to say, I can just even say the GitHub branch, which I wanted to say here, go and pull this from GitHub branch, okay? So let me go and show that to you as well in a second. This is going to be hybrid cloud. This application is going to deploy. And then I'm on a branch ACM here. That's exactly what I say there, right? In my application subscription. So that's what I say here. And then I define a placement tool, okay? Where you want to place this on, okay? This is an example of a front end. So I say go and do the front end. Let's open a backend cluster here. So that's a more thing which I'm going to deploy right now. So in the placement tool, I say, this is going to go into all the environment. That's going to be having environment called as dev, the label. And then it's going to say like a tier backend, in any cloud for that matter, right? It's going to give you bunch of clusters right now in the array of clusters, all right? And then it's all one need go and deploy only on cluster, which are ready, right? If it's not ready, then it's not going to deploy this stuff for you, all right? So these are the two things that is required. I say subscription, which says that it size your placement rules and your subscription goes into your application, right? The application says that it uses your particular subscription to deploy your application. All right? So I'll take a quick pause here to see if you have a question. Otherwise I can take the questions once I do a first deployment, try to trigger a first deployment and we'll start taking the questions as well. So how do I deploy this? I'm going back to my thing. I'll go to the backend here. So deploying a backend. So let me go to my CLI and then I say CD backend, all right? I hope I have customization install, OC apply. I just say OC apply here and then say AWS, right? It's going to do an AWS application. I hope this works, all right? Let's wait for some time for this to be created. So I'm on a, okay? What happened to this? Backend subscription, failed to find an object, open cluster management view, boom, boom. And subscription says hybrid demo backend subscription. I think I missed something here. I created these three things. I did demo, okay. The project, what was the project I created? Hybrid demo, let me go and find this out from here. Yeah, get ops, hybrid demo. Yeah, that's the one. Let me go here. I think I've missed something. Okay, there are too many things to do here. So probably OC gets subscriptions. Let me try the command again. OC apply. Customize, so it's not able to find the patch. You have to apply the first thing that you ran inside this namespace? Or no, that should already be created, right? Yeah, I think it's more to do with the customized command, I think, right here. So if you see this, okay, let me try a different one. That's your, get the same one, right? So, apps.openclustermanagement, subscription, I don't know what's going on here. Yeah, let's see, what's in? Yeah, I think I created the application, I created this one, and I created this pretty much I have to do. Namespace, channel and application. Once I do this, I just need to go and do this overlays, right? Customize thing, let me see if I missed, if I need to have blue, because I'm on a new machine, so probably I'm not sure that I did install customize. Let me quickly install that as well to see if that helps me to come here, right? That's what happens when you get into new machine. Probably, this happens, I can probably take any questions, right? Because I had a lot of problems with this machine shifted back and forth, and then finally I bought my new machine, and then maybe I would have missed this one. That should be the case, I think I'm done right now, let me see if I can do it on Azure. Okay, a little bit there. Okay, let's see, somebody mentioned application subscription and subscription CR name doesn't match. Okay, let's go here. So the application, let me go here. Do you get a love it when the YouTube channel feed you hints about your live demo? Yeah, yeah, I think this is a typical developer demo, like it doesn't work anything on the first time. Let's see, like, so what was that thing? Like, let me see that's an application, and it says app start over cluster management, that's going to be the group, and over cluster management is pretty much here, there as well, and then this is going to be the one here, right? So, this is good here, so I can over list, I think I have that right, apps cluster management thing, and here also it's apps cluster management view for the placement, and the subscription also on apps cluster management.io. It says about different things, right? Failed to apply the patch. Failed to apply or find an object with apps open cluster management.io view one subscription. Let me go here, open days, AWS. Yeah, that should be your subscription demo that's in there, right? Yeah. Yeah, I think it's pretty much the same, it's exactly the same except that the backend path changes. So that's all it required another day. So we had a question in the chat that I see missing the part on the multi cluster setup earlier, was there a demo showing how to set up that authorization setup? How do you initialize the cluster for everybody? So yeah, number one, you have a open shift cluster that is your main configuration cluster that you install the advanced cluster management for Kubernetes operator on deploy a CR just as stated in the install details there. And then when you're applying that CR to be able to get ACM installed, you need to make sure you have a quay secret. So you're gonna have to go and do that to provide some of the pool secrets so that you could get those images. Number one, once you do that, you then could use ACM to attach to either AWS, GCP or Azure, at least right now, and you could create a cluster using ACM. What we did was we already had a cluster provided and we generated a command to basically add this into our ACM. So you just go specify some details there and you add some of that stuff, just copy and paste that into your OC command or COOP CTL command and you'll be able to get that. I think it's giving me a different error now. Probably the apps need to apply a patch. Anyways, so I think I might be missing something. I'm not sure what's there or the one got updated right now. I think I'm not sure we are at the top of the hour. Maybe the instructions are here. Probably if I find something, I'll update the instructions right here. So if you have the clusters or I'll do a recording of this again and then post it back to DM so that you can post it out. But if you end of the day, like it's what it basically does it like it goes, finds this out and goes to this one and then finds starts applying these overlays which is here, right, AWS or GCP anything. So it's smart enough to find if there's a customization file at the root of those repositories in GitHub, we'll pick those files and start applying those files on the respective clusters where you get this application up and running as well. So I'm sorry about that. Like the demo didn't work for some reason. I'm still trying to figure out a thing. Maybe my new machine, I would have missed something to install or something. Maybe I'll try to find it out and then post it on the GitHub repository so that you could find out the reason why it didn't work as well. I think, yeah, that's for it. So that just gives us an excuse to invite you back again. And maybe if you run the demo again when it's working and record it, we can put it in the link with this talk as well. So maybe we can do it that way. But I also would love to have you back, Kamesh, to talk about K-Native and to really dive deep into that again sometime soon. So I think we've managed to answer everybody's questions that came in from all the different chat areas. And I'm just gonna look quickly here again. Brian, if you have any final words or a final slide on how to get ahold of you, you wanna throw that up. You're welcome to, or I can just add that resources link at the end of the video. If you haven't got anything prepped, so I'm fine with that too. And there were a lot of links that they shared with us here in the chat. So I'm gonna try and grab all of those and include those in the YouTube edited version of this. Yeah, so there you go. I think this is probably the best takeaway side. If you are interested in trying Advanced Clustering Manager for Kubernetes, feel free to try it out, hit this link and you'll be able to get the tech preview. But we basically showed some of the beginning steps of how you get this going, right? You gotta create that or install that operator on your cluster, the management cluster and then tie it to existing clusters that you have or create the connection for the main AWS, GCP or Azure cloud providers, tie that stuff together. You need to have credentials for those clouds to be able to tie that in and get some of the automation where you could pin up a cluster via ACM. But once you provide that stuff, you'll be able to spin clusters up using ACM and they are connected and you could get some of this stuff. We'll make sure that we get a demo so you guys can see this, at least applications and things on multi clusters like that. But yeah, main takeaway is try it out here and yeah, if you have any feedback or questions or whatnot, I know we had the question about disconnected installs. We'll make sure that we take that back to the EM team of this and see, I'm sure that's on their list of things but if we get more people asking about certain stuff they could prioritize appropriately. But anyways. There's a lot of things to cover. There's one last set of questions Dolf is asking coming in from YouTube and if you have time, I'll read them out. Can you integrate your own automation to run pre-year post ACM deployment like Ansible both for clusters, application deployments, preferably running automations from, he keeps saying ASM, I think he means ACM and not calling ACM API outside of the automation platform. Is that a future talk or is that something you can answer in a few minutes? So I think probably that requires more explanation and probably we can, I think we could potentially put it as a future talk because I'm not sure Ansible but definitely we can. I was trying something with pipelines, a tecton pipelines with this so that your cluster gets pinned up automatically using the same principle what we applied right now but instead of you running the commands it will be run by your pipeline. So you can figure a pipeline to deploy a GCP cluster and Azure cluster or AWS cluster or any kind of stuff. That I had principally working but still not complete. Maybe we could have another talk on that like once I have that up and running as well. Okay, that would be great. And there has been in the chat a running thread and I just wanna follow up and Ryan Jarvan and I and I've been hearing this too as well about using ACM for without Kubernetes for just managing CoreOS and using Ignition. So I think there is something there with the IoT edge kind of use case for ACM. We were just in the OKD working group the other day we were having a conversation about OKD is about to come out in GA and running on Fedora CoreOS and is there a way we can do this for the edge use case? And so I think there's another topic there that we'll try and tease out as well. And cause there's a lot of folks and if people are interested in that on July 13th I believe and the same time slot we're gonna have the Fedora CoreOS community leads Dusty Mabe, Brian Ben Reared, Colin Walters and two of the OKD engineering leads Christian Glombeck and Vadim Rutkowski are all gonna be chatting about Fedora CoreOS, Fedora for IoT and we'll touch a little bit on using OKD as well with that. So there's a lot here and Kamesh really again I'm gonna make you talk about K-native cause I think you could do it Rocket and I'd love to, I'll have to get the book now and read it cause I didn't realize it was out there so great news. And I will take all of the links here and we'll post this video up shortly. So Brian and Kamesh, thank you Kamesh I have no idea what time it is in your world right now. Is it eight hours later than now? It's half past 10 now. Okay. The night. Yeah so go back and go to sleep and thank you cause we've probably got you wired in thinking about things now so but pause the demo and we'll talk to you all again very very soon. So thank you again Brian and for everybody with your great questions out there.