 Hello fine citizens of the internet. This is Grant Shipley your friendly OpenShift team member and We've had some pretty great announcements over the last couple days The first one is that the OpenShift container platform version 3.4 has been released as well as OpenShift Origin 1.4 has been tagged and is ready for everyone to try it out now We have a lot of different ways for you to try it out OC cluster up the all-in-one image the CDK lots of different things, but I had some time today and I thought that it would be cool to just show everyone from start to finish how to actually install OpenShift Origin on a From start to finish even starting to install the OS so this video might get a little long You probably want to fast forward through some of it But I am just going to start and look at this kids. I'm going to be using VM where today I'm not even using Virtual box and guess what else I'm using? I'm using the Windows operating system. Look at that Pretty fancy stuff today So I'm going to start by clicking on new virtual machine and I'm doing this in real time And so I may you know farts around a little bit while I'm trying to Figure this stuff out. So I'm going to do custom advanced Workstation 12 installer disk I'm going to go to my Let's just browse Look at that. See what I mean. So that's an around VM where love you Hit escape and it destroyed everything. So I'm just going to browse to my desktop here and I have a sent OS 7 minimal install that I just downloaded It's like 400 meg something like that. I'm gonna click on next. She can they call this Open shift Origin 1.4 now in this video, I'm going to set this up with DNS and everything So we should be able to hit it with a web browser at the end of this demo here All right, so let's click on next number of processors. Let's give this sucker to processors and two cores Let's see. I'm going to give this thing 32 gigs of RAM now my machine actually has 64 because I am fancy like that and That's just the way I roll. So I'm going to give this 32 gigs of RAM Come on VM where you can do it. All right And I'm going to use bridge networking because I want this thing to get an actual IP address on my local network Select IO controller types. No idea what that is. I'm just gonna go with the recommendation here Scuzzy sounds good. All right, create a new virtual disk Sure, let's create a new virtual disk. Let's give this thing 80 gigs allocate disk base now Let's see splitting disk makes it easier to move but may reduce performance. Nope. I want a single single disk and Let's throw this on my big fat drive here my eDrive if I can find it and We'll just call this OpenShift Origin save that click on next. I Don't think we need to customize the hardware. Let's just click on finish there So I am running this on a fairly recent build here that I got I am using the Intel Core i7 6700k I got 64 gigs of RAM on this box I have two SSDs and then I have a larger Hybrid drive SSD Hybrid that's two terabytes and that's where I'm storing the virtual machine and I did set it to 80 gig Just cuz you know I have two terabytes worth space. So why not? So VMware is allocating this entire disk right now I May cut this part out for you just a little bit To save you from skipping having to skip all the way forward. I thought the disk would be Created much faster, but oh well such as life All right, I'm back. I did pause it because good gracious this thing took forever literally like ten minutes Okay, so it's done now. So VM. Where what are you doing VM? Where you're starting it? Okay, so let's let's go to install sentos 7 here and Press the enter key to begin the installation process. All right. I can do that. I Think I can do that. Let's make this a little bit bigger here. There's something's going on There we go. Okay Man Why are you keep messing with my terminal VM? Where just leave it the same size All right, so this is booting up the Famous sentos installer anaconda should get a nice graphical user interface Look at that fancy. I speak English and I speak United States English. So I'm gonna click continue there And let's see date and time keyboard Installation source all this is popping in now installation destination That's using that 80 gig volume looks good. Let me go to network and host name now This is one of my pet peeves here is the network's not on by default. So I'm gonna click that Make sure it's on look at that speed One gig a bit. Whoo. Yes, and I do have gigabit internet. Here's the IP address 0.93 localhost.localdomain all good. Let's just go ahead and begin this installation. Let's set us a root password here Who that's weak? That's okay. Let's just click done and click done again. Let's create a user account Shipply and live you at G. Shipply by default Fancy give myself a password make myself an admin got done and done again All right, so this thing's installing it's It's like 200 packages out of 300. So we're gonna let this finish now. This is the sent os minimal Distribution right so it doesn't have x it doesn't have Any extra packages that I don't care about because I just want to run a container platform for my own personal use And I want to run origin. So I don't need All this other stuff that gets installed. I Just want to run Docker base containers and let open ship manage them via Kubernetes So look the install is done. It's performing the post installation setup tasks So we'll let that finish and what's nice about The open VM tools is that once this thing reboots. I should have a Pretty nice Interface at that point But I'm probably just gonna open up my terminal and SSH into it instead of talking to it via the VMWare console here So let's Still finishing these post installation tasks So let's give it just a minute to finish up here All right, it's installing the boot. Oh a bunch of stuff happened there that went by too fast It's generating the net RAM file system. All right So let's Hopefully this finishes here pretty quickly and so after this installs I'm gonna walk through step-by-step on what I do. So that's installs done. So let me reboot this mug here and We should have a minimal OS installed Let me make this bigger here again So it should be coming up Come on VMware. You can do it. There we go the familiar start bars at the bottom Starting wait for Plymouth blue. Okay, so here we go. We got a sent us box So let's log into this thing There we go, I'm logged in let's check my IP address in it is 192 168 dot zero dot nine three So what I'm gonna do is I'm gonna I don't like using the VMware console So I'm just gonna open up my windows terminal prompt here, and I'm gonna SSH into it Of course already forgot what it was it is I can look through the transparency here 93 okay And I'm gonna authenticate with the root password here. I am up time. Look at that less than one minute. Okay, so Bear minimal sent OS install. I'm gonna start mucking around with stuff The first thing I'm gonna do is yum install and I'm gonna install the equal release here Get my new repo in there and The dash why if you're not familiar with the yum just doesn't it's gonna Go ahead and do it without prompting me if I want to okay, so now we want to install a few other packages is Docker Sounds good. We want to use the version that ships with sent us W get We probably need get and we also Ansible because we're gonna be using the ansible based installer and It's gonna pull all of these packages down It's checking for the fastest mirror. Look at that There it goes. It's often downloading 69 packages pretty fancy pretty fast It's installing them all Pearl do you see that? I won't pearl who uses pearl nobody uses pearl Just kidding. Sorry all you pearl guys All right, so this will give us Docker WDW get get an ansible and We're just gonna check our Docker version So let's do Docker version Oh Okay, I'm running one ten three. All right, perfect now I Need to install a couple other libraries here And let me make this font just a touch bigger for you here, and I'll clear this Young install dash why and I'm going to install Python dash Cryptography I Can spell Cryptography right and then I'm also going to install pie open SSL dot x 86 underscore 64 and Hopefully I typed all that in right Okay, so now I have those encryption libraries The first thing we want to do is Actually get the ansible installer, and so we have get so I'm just going to get clone HTTPS Com slash open shift slash Open shift dash ansible to enter there So now I have the ansible installer and now I clone my own repo here I get clone HTTPS Get calm slash G shively install sent OS Get and I'll explain what this pulls down Okay, so I have I clone to repose the ansible installer as well as my personal install sent OS We look in the install sent OS the only thing this is is my inventory file This is what ansible uses to determine What to install so let's just take a look at my inventory file My ansible SSH user is root my deployment type is origin. I want to do the open Shift origin release, and I want to do the brand new one dot for release with the image tag of one 4.0 my public hostname. I'm going to set to console dot tech dope dot IO and my Subdomain for my deployments is going to be apps console dot tech dope IO and I am not going to deploy metrics. Okay, and so there's my masters That's literally all that's in here. So I'm going to have one master and And or sorry one virtual machine that's going to have the master and the nodes or the Kubernetes master and man Okay, so that's all we need to do there The next thing I need to do because ansible is going to try to SSH To the master In case I wasn't doing this on the same box. I hope that makes sense But since that console dot tech dope dot IO Can't resolve yet. I'm just gonna edit my Etsy host file And I am going to add one twenty seven zero zero one And call this console dot tech dope dot IO So now if we ping console dot tech dope dot IO We should get some responses. Okay, that's good. The next thing I want to do is generate a SSH case Let me clear my screen again here. I'm just gonna type in SSH if I can type today keyed GN dash t RSA I'm just gonna save it in the normal spot with no passwords Now I want to copy this ID SSH copy ID Through console dot tech dope dot IO Yep, okay, so all that this is gonna do is copy that public key So that I can SSH into this machine from this machine without requiring a password. So let me show you what I mean by SSH route at Console dot tech dope dot IO it logs me right in so ansible needs that because If you are running this install from your local machine, but you actually wanted to install on a sent us box That's perhaps in Amazon EC2 or Google compute. You just need to be able to SSH into that machine Okay, believe it or not. That's all we need to do We can run the installer so I'm gonna go back to my home directory and let's run the installer installer to do that I'm just gonna say ansible That's playbook pass in my inventory file, which I cloned From my get repo that I showed you and then I want to run the Open-shift ansible playbooks BYO Come fig.yaml and this is gonna install. Let me hit enter here and if we have any errors. We'll work from together So let's get this kicked off and it's starting to do a lot of stuff But this is going to Install the open-shift origin one dot four dot o tag if you wanted to install a specific version Just change that inventory file That we talked about and I would suggest just cloning mine and using that as a base to Create your own and now the ansible installer the playbook is going off and it's configuring this base minimal installation and Then after this finishes assuming we don't get any errors, and if we do we'll work through them together here We'll then set up DNS so that this will actually be publicly addressable on the internet And we will create a user so that we can actually log into the system So I am Not going to pause this. I'm just going to Leave this running so you can actually see how long this actually takes from start to finish in real-time It's creating some SSL certs and things are going really quickly. I'm pretty impressed with this installer and congratulations to the entire Community for getting this ansible playbook created. I use it quite frequently and it works pretty well I think we're getting pretty close to Being done here. It's getting ready to start up the master It's loading some templates in And it is doing a lot of stuff. That's pretty cool Open v-switch Nice and it's adding the NFS storage plug-in dependencies if you want to do some persistent volumes Cluster FS look at that This thing is going to be awesome when it gets done I'm gonna have NFS. I'm gonna have a cluster. Seth are you kidding me? Heck. Yeah, we're getting it all here. I love it all right, it's Starting up the node here. We got the master done Get the node now keep in mind both of those are gonna be running on this same virtual machine with the 32 gigs ram That I allocated to it It's like it's just cleaning things up here at the end Copying client binaries out of CLI to the host. That's good. That'll give us those C tools Right on the start as well as the artifact of this install Now after this what we're gonna do is add an account and then we're gonna set up DNS and I'll show you how I set up my zone file and all of that stuff so that DNS actually works All right, look at that. It's done. No errors boom boom boom. Okay So what should we do next actually? Let's Let's Let's add a user. Okay, so I am using HTTP basic off and I believe if we go into Etsy origin master This is where the HT password is Okay, so what I want to do is I want to add a user so I'm gonna type in the HT password dash B Etsy Origin was it and then master HT password, and I'm gonna call this G. Shipley and I'm gonna use my OpenShift as my password So now I should be able to log into this thing. So let's type OC log in username is G. Shipley password is Boom, look at that. Awesome. We now have OpenShift 1.4 installed, but we're not done Let's actually Get our IP address again and get our DNS working So our IP address Let's let's do it this way. Oh Gosh, we set up too many Docker virtual interfaces. It's 192.93. Okay, so I'm gonna open up Firefox here, and I am just going to find out my IP address My IP address and we'll just click one of these links here, and of course that's a spam one. Oh, great Let's Let's try this one my IP address is 996922199 and I am yep. This is right I am on ATT Uverse in North Carolina. Okay, so I'm gonna go to my domain register and I use Gandhi For that Gandhi.net But I'll show you my zone file. Let me log in here. Oh gosh, I don't remember my username password So what I'm gonna do is I'm gonna pause just a second and Figure that out Okay, I figured out my username and password. It's not a normal username. It's like GS 771 it's a bunch of numbers that they assign. Okay, so I have one domain here tech dope.io okay, so I'm gonna click on this and Actually, I should have probably clicked on zones. I'm just trying to show you my my zone file Let's see So you this one Okay, so here's my zone file So I have three a records and then a C name wildcard record Okay, this is just Gandhi by default ignore that So I have consoles set up as an a record to my IP address That this thing gave me okay I then set app stop console as a record to that and then for the Applications as I deploy them to actually be a publicly available. I need a wildcard DNS So I have a star a C name record that points to app.console apps.console.techdope.io points to my public IP address I hope that makes sense. Okay, that's how I set up my my zone file now. I want to show you What to do on your router? Okay, so this is my Home router here. Oops not 161. It's got one Unable to connect why There we go. So let me log into my home router here And I am using a ASUS router. So this is gonna be different depending on your router but you basically want to do like a port forwarding type situation So if I go to WAN on mine, I have a virtual server port forwarding tab and I have console.techdope.io All of these ports go into 139 But that is not my IP address So I would just I need to change that to my internal IP address which we determined was Where is it again, man, I'll lose it on this stuff. Let's just grab this thing It's a dot 93, okay So let me go back into this and I'm just gonna call this console.techdope.io And we need to do port 8443 and we want to send that 192.168.0 Dot and of course I forgot it again. It's 93 and Local port is a 443. So I'm gonna add that and it's gonna say you can't because it's already in the list Let me remove that one and then add it and I'm just gonna do this for the other ones as well And I want to do 443 and I'm gonna use the same IP address 192.168.0.93 We want to do 443 and I'm gonna remove what I had in there and then add it and We'll just do HTTP port 80 same 192.168.0.93 Port 80 remove the one I have in there and then add it so I'm gonna click on apply This is gonna reset my router. All right, so Now if we go back I should have Everything up and running I've created an account. I set up my DNS zone file. I Did a port forwarding on my internal router. So here's the big reveal. Let's hope this works Let's go to HTTPS console.techdope.io for 8443 Connection's not secure. We expected that because it's a self-signed search. Let me confirm that Lovely G ship lead password open shift Look at that ladies and gentlemen from start to finish in under 30 minutes a full open shift Origin 1.4 latest and greatest. I'm so excited. Look at this. Boom. Let's deploy something Oh, this is awesome. All right, so my first project Let's just take a look at some of the things in 1.4. Ooh Look at this. We now have groupings based on runtime. I like it. I like it a lot Let's deploy an image from Docker hub first. Let's do our famous Kubernetes Yep, let's deploy this sucker So that's downloading the Kubernetes guestbook app from Docker hub and it's deploying it. Look at that. It's done Done. Let me create a route Now look I have a public URL for the guestbook application That works on the internet. Look at that. You can start coding in real time now Let's let's deploy something else because this is just too good Let's actually go back to our projects and look at our new project overview screen. Let me add another one second project Click on create and let's do a PHP app this time. Oh, look at this This is fancy. Like it's nice and organized. What version 7.0? Yes, sir Ray, I do want to do 7.0 PHP app. Let me get a I got any repos in here To ship me let me find a PHP repository here Sure, let's try this one Let's build this bug. Let's watch it view log. What's it doing? Is it downloading? Don't need to refresh expand log. Oh, look at that Expanded the log. That's new. So it's installing source. It's doing the source to image is pushing those layers I like the I Like it. I like it a lot Let's go back to our overview here So look at this and we now have a new project organization So you can filter Look at this little icon here. We can now do membership management. Hey, I'm sorry But I do get pretty excited about this stuff. So here's our second project our PHP app. It's up and running Grand is pretty lame. Yep. I am. All right So lots of new stuff in 1.4. I'm excited about the project overview page the permissions system so you can actually work with your Colleagues on specific projects. I'm also excited about the secrets management so if I wanted to create a secret for like a Private git repository I can do that lots of great things, but you know, that's out of scope of this video I probably recorded another one pretty soon But there it is ladies and gentlemen that is OpenShift origin 1.4 start to finish from scratch going from nothing to installing an OS to getting the Project and solve and then all the way out to deploying Something from the Docker hub as well as deploying Something from my GitHub repo using the OpenShift source to image project. I hope you guys enjoyed it Let me know if you having questions about OpenShift you can catch us on IRC. We're on free node in the pound open shift channel Hop in there and ask us some questions and let us know what you think. Thanks everybody. See ya