 give a welcome to Masayuki. Thank you. So Masayuki Igawa, he is a senior software engineer for SUSE and he works on Kubernetes and that will be what his talk is about today. Thank you. So I will talk about Kubernetes the hard way. I'm actually working, I'm not working on Kubernetes itself but I'm working for OpenStack things but so you know as you know Kubernetes is a very popular and famous technology recently so I'm very interested in this technology. So I'm on the FreeNode, GitHub, Twitter and LinkedIn etc. So you can contact me if you want and I also uploaded this slide to the GitHub here and also I will also upload to the post-Asia site later. Okay let's get started and the agenda is like this. So who I am? So I was in the traditional IT company in Japan a long time and moved to HPE and now SUSE and my job is a SUSE OpenStack Cloud QE team and the job is a senior software engineer and the upstream and the downstream developer. I'm mainly focused on the QA side, quality assurance side and I also some project in OpenStack core reviewer. It seems like it's similar to maintainer or cometer or like that and I also I am also one of the authors of this book, Red Book. It's an OpenStack Cloud integration. It's written in Japanese and also Infra-CI guide as a reviewer and my hobby is bike, building a cloud, OpenStack Cloud and a diet. These are my weight graph so far so good. So today's goal is understand the what is the Kubernetes the hard way and the other is I'd like you to motivate to try OpenStack no sorry Kubernetes the hard way by yourself. So first when you make a Kubernetes cluster with MiniKube or Kube Adam, Rancher or GKE, AKE, EKS maybe you feel looks like a magic because it's very easy to build a Kubernetes cluster and but you also feel what's going on inside because it's like a magic. So if you want to know that it's components and the architecture and if it sometimes happened error or warning or some failure you maybe need to debug it and also you also need want to build a Kubernetes cluster by yourself and as I already said you feel it's too easy so maybe you need you want to be you want more harder way to build a Kubernetes maybe and maybe you want to understand the Kubernetes self deeply. So if you interesting that like that things there is a Kubernetes the hard way yeah this is not my yeah different person yeah he is very famous and the popular person in Kubernetes yeah there is Kubernetes the hard way in a GitHub repo okay so what is a Kubernetes the hard way it's a bootstrap Kubernetes the hard way in a hard way on basically Google Cloud platform GCP so it's a tutorial for Kubernetes to build a Kubernetes infrastructure and there's no script automated script it's only command line and some setting up files and also it it's open source and also it's cons the document consists of 14 chapters and with that Kubernetes the hard way we can build like these components and the versions the Kubernetes 1.12 but the current latest version is 1.13 so it's not the latest but yeah but that's good and the container the runtime and the divisor CNI container networking and then to see the core DNS yeah the version is like this not so old so it's good and the the outline is like this the 14 chapter as I said earlier the first three prerequisites and the install clients and the provision compute and the network and the setting up where is that maybe security groups like that and the setting up TRS certificates yeah like this and the bootstrap in some components and you have provisioning the pods network or like that and the number 13 there is a smoke test we can test it and the last thing is very important otherwise you need to pay a lot of money to Google Cloud forever so the what is the Kubernetes the hard way so this is the first chapter prerequisites it says the almost 0.22 cents per hour and that means a 5.39 $5.39 cents per day yeah it's not so expensive yeah to run it it's very easy and you need the G Cloud command yeah so I already said that it works on the Google Cloud platform but as I I also already already said I'm an open-stack guy so I wanted to run it on the open-stack cloud so I could run it I yeah I was be able to I can I can do that and I will talk about later about it and the the on the Google Cloud the N1 standard one instance is required six instances required so that means three controllers and the three workers and also we need one load balancer so load balancer is connected to the controller nodes like this yeah the architecture of the Kubernetes hard way yeah after the other running the document we can get like this Kubernetes cluster so actually it's really easy to run the it's a run the document it only takes it took two to two hours and a half not that much and the cost is less than one dollar it's very easy and I saw it say the hard way but it was not so hard because we just need to follow the instruction yeah that's it and there were also some warnings but I don't care about that yeah actually it's really easy but I could not understand itself because it's it's too easy to run that so I wanted to implement on the more harder way so that is a open-stack cloud so the first three I I have old open stack cloud in my room that is a three one-year servers but this is yeah old but the performance itself is good but it's very noisy and it consume a lot of electricity it means a costy to run on the maintain the cluster open-stack cluster so I I decided to make a new open-stack cluster so that is a slug this mini is very small that size is like like this very small it's like a internet the size is similar to internet the CPU is very low and memory is a bit smaller and the hard disk and the SSD is very it's bit smaller than the old one and the software is like this I install the open-suzer 15 version 15 and I also install the open-stack rocky version the components are like no burglar cinder kiston neutron and I follow the open-stack install guide yeah there's no there are some issues actually but not so critical yeah and the cost is a almost 300 dollars per node and I need to for notes compute two compute and one controller and the plus one stretch so I build that I build the open-stack cloud first so but there are some problem and the challenges the one program is initial and the maintain cost regret yeah it's costy so yeah as I said before yeah it's the 300 dollars it means the 12,000 dollars total totally so it's not so cheap and also open-stack is also hard for me and the the controller nodes was unstable with the SSD yeah I think that my SSD quality isn't good so I have to change it SSD to new one but the similar failure and the similar failure occurred at the time so I have to change it the disk to the hard disk so the currently it's stable now but I'm not sure the main reason for the unstable and also I took a lot of hours to rebuild because of the hard disk failure so I made an automated script with the answer book playbook yeah it's also a very good exercise for me actually to learn the answer ball and sorry and there are some difference between the dcp and the open stack when I build a Kubernetes cluster under the open stack so so there's a difference between the dcp and the open stack so basically the command it's user command sailor command is different dcp is for gcloud command and the open stack is open stack command so for example booting booting instances in the dcp is like this gcloud computer instances create instance name and the machine type setting and etc etc but the open stack server create open stack in the open stack open stack server create flavor something and instance name so like this like this happens in the configure network and the security groups and yeah these are different command is needed and also I need a hostname resolution in my open stack cloud yeah I should set up something like DNS or at the host yeah but that's it not so difficult to resolve that and I also need a load balancer in an open stack cloud because there is no load balancer originally so I use the engine X VM for load balancer because Octavia is a bit harder for me to install than the setup but yeah imaginary maybe you you want to use Octavia for load balancer yeah that's it that's difference between the dcp and the open stack for the Kubernetes the hard way yes and conclusion so I could run run the Kubernetes the hard way itself but it's really easy to run itself so but I want to understand the Kubernetes more so I set up the my open stack cluster and I try and try and add something to understand itself so one outcome is a bus script to run the itself to run the Kubernetes the hard way on the whole of the thing so this bus script itself is not so useful yeah useful it just run the bus script yeah after that we can get the Kubernetes cluster itself but yeah it doesn't make sense so it is just for me to understand the Kubernetes so I think to to make like this bus script or Ansible Prevok to help you understand the yeah Kubernetes itself and also the Kubernetes the hard way is for just learning not for production so you don't you must not use it in the production environment because there is no HVHA thing sort of persistent volume etc and it's also open source we can read and write yeah of course the Kubernetes hard way itself is open source and also the Kubernetes also open source so you can we can participate the community and the developing and there are some books already and also our Kubernetes.io website is useful should be useful to understand the Kubernetes yeah that's it it's a bit hard earlier thank you very much any questions any questions in the audience so you said that Kubernetes the hard way wasn't actually that hard and you just followed the tutorial yeah one thing I noticed is that it looked like it was using pre-compiled binaries did you consider building static binaries for all the Kubernetes components from source because that's pretty difficult because yeah yeah you are right yeah that's yeah that should be more difficult way harder way so if you want yeah I will try that if I have a time thank you I mean coming back to his point was that maybe the Kubernetes hard way means that getting to know the underlying architecture and how it works from each component yeah I mean the whole hard way as in the hard way because usually people use QBADM and we don't really know how it creates everything because we use the QBADM related thing so I use this on I use the Kelsey I tower one on an AWS cloud but then I did it manually yeah as you said it might take a couple of hours more but then at least what I really liked about it was that you get to know each component you know what it how it behaves and what it exactly does so yeah I mean compared to QBADM I would say yeah this was much better thanks yeah sorry I probably don't hear the whole of the things but that you you your comments we I should do something more don't this or sorry yeah thanks he was giving some feedback I think on Kubernetes yeah yeah ecosystem any further questions from the audience asked about one slide you said it is not for production means yeah so it can be used on production yeah this yeah this the Kubernetes hardware itself is not for production environment I mean we need to consider a lot of things yeah for example HA or persistent volume to run the production environment so you can use this for production environment but you also have to consider a lot of things like these things and yeah you can customize it okay it is used it is actually used for automatic deployment only right automated deployment yeah you can do it with the like I did but script or yeah answerable playbooks or like that you can do it I think there's more time for questions for these on the single board computers Singapore computers I actually don't know what I'm not sure maybe has anyone tried communities on any small devices no sorry on individual small devices what okay last one we've heard there's there's Raspberry Pi clusters using a Kubernetes questions from the audience no okay let's thank Master Yuki thank you very much