 So, just lost about half my slides so, sorry guys, there's a, so I'm here to, so this is a workshop, right? And I'm looking forward to having everyone take a stab at building an OpenShift cluster, an OKD cluster on, on the arm instances and I want to talk about the failures and I want to talk about what we see as being the, the next steps in building a better arm support. The, the classic idea here was that we would, we would be able to spin up three node clusters for each, for everyone in the room. So an arm, I mean I, I think everybody's wholly familiar with arm and the arm architecture but they're not familiar with the, with the, with the AWS environment and so I wanted to introduce you to both the trials and tribulations of trying to run OpenShift on arm and to do that in the context of something that you can destroy and bring back up in, in really no time at all. The second, second part of the, so we'll do that first and then the second part of this will be walking through what I consider to be the, the scaling model for, I mean in my mind the canonical scaling model for, for the, the physical nodes and how we can attach those physical nodes in, in a scaling group that allows you to provision a series of nodes. So, so there are a number of instances, instance types that were created based on a single hardware profile right and each one of these takes up a certain amount of the, of the hardware for an instance normally right and we, we just carved this up into smaller and larger instances and one of the things I think everyone is familiar with virtual machines in many ways but one of the things that, that we were looking at at Amazon when we made the decision to use, to use an arm architecture were smaller workloads, single threaded applications and burstable workloads and those are not necessarily as well known on the, from the perspective of, of OpenShift deployments because we tend to see OpenShift scaled up but never down. So what I want to challenge you to do today is to think about how you want, how you would scale down the, an OpenShift cluster. The point today I think is to, is to start with opening a console, looking, looking at the Amazon console and, and having some credentials, some, so I'm going to pass out credentials that you can use to log into an account and then we have several regions we can, we can play with. So I have a simple cloud formation template that will let you spin up a VPC environment and deploy machine images of Fedora 29 that you can use to, as your, your base OS or your base operating system deployment and then the, you can use the OpenShift Ansible with a host file that will walk through the creation of, in, in short order. So who does want to participate in building a, okay, fantastic. So, let me steal that pen. So if you want to participate, come on up and let me give you some credentials. Here, just, just come around on, around my shoulder and I'll, I'll show you. So I've got a CZ workshop, 0000102, right. If, and I'll put it on one of my, on a new slide, the, and then the password is the username dot exclamation point. So somebody can be 00. Okay. Everybody's got it. Okay. So just, yeah, just 01. Yeah, 01, 02, 03, 04. Sure. 06. Anybody else? I'm just going to add another, just going to open powers point. So I lost a couple of slides here. Everybody, I'm sure everybody can appreciate how that feels. Is there a, is, yeah, it's on the bottom. Okay. So this will get you to the console, the management console. This, so with the management console, you can log in. Oh, yeah. So much better with a Z. All right. So log in here and then I have in S3, there's a, there's an S3 bucket that, that has the, the CloudFormation template you can use. The username is CZ capital W workshop. So CZ workshop and your number. And then the password is your username and a period and exclamation point. Oh yeah, plenty. Yeah. I think, I think we just got through six. Is that right? So it's CZ workshop, 07. And then the password is the same with a period and exclamation point. Okay. So that is the path to the template file. And that should be public. So we're, we're actually getting credentials together and logging in so that everyone can create a small cluster for themselves. So the username is CZ workshop with a capital W, 08. And the password is the same.exclamation point. I don't have any, I mean, fix that. Yeah, I'll fix that here. Okay. Give that just a minute to propagate. Open the file. That's a public file. It's definitely public. I think I'm a victim of eventual consistency. Yeah, yeah. What's that? We, we asked the question. Yes. Yeah, on the sketch. Oh, go ahead and create one for yourself. So, yeah, so just go ahead and, and in your credential and just create an SSH, a PEM file for your, for your own use. Just log in over here. I don't make it easier. That's okay. Yeah, I'm gonna, I'm just gonna log in here so I can, so everybody can follow along. That looks like something changed. I'm getting what I expect. Okay. If, if you don't know how to create your own keys, looks like someone has already done it. You can create a key pair or I can give you one either way. But this is a simple way to do it. You'll, you'll download it to your laptop and that will give you both the public and the private key together. Right. And then you can just, it leverage it as a PEM file. It's a PEM file. So you have to change the permissions on it so that it's readable only by the, by your user, your local user. Anybody need credentials that came in later? So the, the credentials are CZ Workshop 09 for you. And then the password is the same. So there are four, there are four regions we can use. There is the US East 1 which is Virginia in the console. So if you, if you pull down here, there are four regions that have the arm, the arm instances in them. There's North Virginia, Ohio, Oregon and Dublin. So obviously Dublin is closer, but not, but you may get rate, we'll get rate limited on the number of instances we can start in anyone given account. So if you run into an insufficient capacity error, just change to a different, a different region. That is some solid formatting. What's that? Deftal again. Looks like, there we go. Okay. So just to show you what, just to say what this is doing, we are, we are creating a key pair, well, I'm sorry, we're selecting a key pair from, from a, from the list of all the key pairs that are there. We're associating either, in this case either CentOS 7 or a Fedora image that's with our map for, for instance creation. It starts off by creating a VPC and then populating the VPC with all the important bits. So a subnet, a routing table, a gateway to get you to where you need to be and some default configuration to ensure that there is a public IP address so that you can communicate with the instances for the next step. The, each one, so this creates three nodes. Three nodes are associated with the, with the, with an OpenShift cluster in this case. And that OpenShift cluster is created with a worker or two, and, or two workers in one master. The reason we use, so in this case we're using the, the X, the, the four, you'll see in the, the A1 four X large, which is the largest instance size that you could use to, to push this because running a master on an ARM64 is bleeding slow, right? So, I mean, you have one thread per core. It's, there's not a whole lot of work to be done there. This, then we're adding, we're adding drives so that you can, you can leverage a larger space, larger storage space for, for your containers and opening up the ports that are required for communicating for the, standing up the cluster. The, once the cluster is configured that this cluster can be, can be used to, with the OpenShift Ansible. So, leveraging OpenShift Ansible, we have a host, I have a host file that we'll look at here. Oh no, I don't have the host file up there. So, yeah, once, so once the hosts are up, the first thing to do is to enable them for, for the, for the Docker configuration and Python 3 Docker implementation is broken on the, on the ARM64. So, there is a, there is a need to, to, to, to enable the revert back to Python 2. And then, there, once the storage setup is, is there and everything is ready here, I can take the host information and I'm going to upload that now. Take the host file and substitute the, the, the names that you have for the EC2 DNS names that you have for the instances that you are created through the CloudFormation template. Take those CloudFormation template, or the, the instance names, plug those into the Ansible host file and leverage those to build, build your cluster. So, inherently that's not scalable though. The best way to do this is, and is not a way to play with, play with the, the ARM64 instances. But the best way to do this is to create auto scaling groups and create and leverage the scalar scripts. So, in the OpenShift quick start, so that, that we join in with currently, maintain with Red Hat, there are, there is a scalar.py script that can be leveraged to create an auto scaling group for each, for the worker nodes. And then, scaling events can take place to ensure that the credentials are removed, right? So, all the, all the information is removed for a specific node before it is turned off. So, basically, this applied to, so using the scalar.py and the auto scaling groups with the ARM architecture creates a tremendously burstable and scale out architecture. So, what we're looking for, what I'm looking for is for you to walk away with an understanding that there is, there are two components here that I think are very important to the next generation of OpenShift, especially in environments where we have on-demand, a lot of on-demand infrastructure. And that is that we can leverage these smaller instance types that are about 45% less cost in our, in the architectures. And we can do that through the use of life cycle hooks to neatly scale them up and out of the clusters. So, I want you to take a few minutes and look at, it's an easy thing to find through Google, just the AWS QuickStart for OpenShift. And take a look at the scalar.py file. And in that file, you'll find the, find the more, most of the, the guts of the work that has been done to create an auto scaling model that doesn't require, doesn't require you to actively scale down and scale up the nodes on the cluster. So, I'm going to, I'm going to just answer questions for as much time as we have left. Does anybody have a question about running OpenShift on ARM? The RPM installation requirement is, is something that, that kind of made me tear my hair out. So, this is for someone, I think for someone who hasn't, who hasn't, who hasn't got a whole lot of experience installing or, or operating a, an OpenShift cluster, the complications around it are severe. And most of the people who are doing it on the 32-bit architecture or Raspberry Pies, those, those are, those are, those are magic configurations. I mean, the requirements around Go were, were up until very recently. It was almost impossible to get, to get it to compile. And the ARM64 doesn't, doesn't have the same problem. That was, was one of the things that was super exciting to me about using this as a place to deploy the OpenShift Ansible. And, and the amount of storage that you can associate, associate with it is fairly large. The, the speed with which you can associate ARM64 on ARM is, is ARM64 with a cluster is pretty, is, is, it is mind blowing, right, to, to spin up a larger number of the instances and to have those register with the cluster. The scaling component of this is a result of having pre and post life cycle hooks and the life cycle hooks, the pre life, the pre scaling events are there to remove the nodes from the cluster. So, everything has to take effect before the, before the node scales down. I have to migrate all of your images or your containers. Everything has to go remove the credentials, all of that. And then after the, after that, the scale down can occur. The same thing happens in reverse though with the, with a scaling, a scale up event. Scale, a scale up event is heavy on the execution in the post life cycle event. So, after the node has been created, the post event takes over and registers that node with the, with the OpenShift cluster. Well, thanks for taking some time and, and looking at how these work and, and, and seeing it in the console. It seems like we ran into a couple of problems that, that are, it stopped you. I'll, I'll look into that and I'll keep this, I'll keep the account open for you for the rest of the day so that you can explore.