 All right. Hello. Good afternoon. It's afternoon already that time passes by very quickly at these kind of events Welcome to my session about Loki Loki is a new acronym introduced by the open infra foundation that stands for Linux open stack Kubernetes and infrastructure for those of you who missed the morning keynotes, my name is Titus Kurek. I'm a product manager at County call and My background is product management, obviously, but it's also data center administration including a bunch of data center technology Obviously Linux open stack Kubernetes, but many many other also safe, you know, OVN observability and stuff like that So I'm going to start by showing this meme. I'm pretty sure you've seen it before. It's very popular in the internet I can say two things about this man. So first of all, it's funny Second of all, it kind of very well reflects the mentality of some people who are who are still in the process of the digital migration, so obviously when cloud technologies came in many many years ago organizations embraced them and They were hoping that you know by moving all of their workloads to the cloud They're going to solve all the issues that they've been facing with their infrastructure but they forgot so that you know, but Lifting and shifting workloads from the legacy IT infrastructure to the cloud is not how you do it, right? So they realized very quickly that they need to introduce cloud native concept. So they've started exploring Technologies like Kubernetes and cloud native But they also kind of embraced them and like started, you know, now we have to move to Kubernetes entirely, right? This is not how you do it bad This kind of created a tension between open stack and Kubernetes communities for a while So everyone who was originally involved in open stack development and also from the operator perspective Was kind of looking at Kubernetes like well really do we have to migrate to Kubernetes now? We've just completed a migration to open stack, right? And on the other hand everyone who's got involved in Kubernetes either from the developer or operator perspective Started looking at the open stack at something like well, we're not really going to need open stack It's going to be fully Kubernetes moving on The truth is that the reality lies as always somewhere in the middle So in fact according to the open stack user server results for 2021 70% of organizations report integration activities between open stack and Kubernetes and I'm pretty sure if a similar survey would be run across the Kubernetes crowd the results would be similar obviously unless someone would be using Kubernetes in public clouds that when using on-prem I'm pretty sure 70% of organizations would respond. Yes, we integrated with a their VMware open stack or any other Cloud platform that we were using cloud stack. Maybe maybe So this trend falls very well under this new acronym Loki that stands for Linux open stack Kubernetes as free primary technologies that are needed to implement an open infrastructure Right and if you think about it 20 years ago when Web applications were kind of a top of what people were doing in the IT space There was this acronym called lamp which meant Linux APG MySQL and PHP as you know for technologies needed to implement web applications now It's lucky that means those are really the free technologies that we're going to need to implement an open infrastructure So we need Linux unique open stack you need Kubernetes and that's it so in terms of You know various integration activities between open stack and Kubernetes. I'm going to focus on two use cases So first of all Kubernetes on top of open stack. That's the most common one, right? So obviously open stack was initially designed as a cloud platform It was designed as an open source implementation of AWS easy to service and this is why it's coming with a built-in multi-tenancy capabilities Kubernetes was not designed by that for that So obviously you can get multi-tenancy in Kubernetes by using sort of a hackery that it doesn't come with Integrated multi-tenancy capabilities by running multiple Kubernetes clusters on top of open stack in separate tenants You get multi-tenancy with Kubernetes It also provides better performance first thanks to various Extensions that are available in open stack. So if you think about GPUs for example, there's you know Nvidia VGPU technology that allows virtualization of GPU resources You can attach them to instances running on top of open stack and expose them to containers That would be running on top of Kubernetes that would be running on top of instances on top of open stack, right? It also provides proper load balancing capabilities with open stack Octavia, which is a proper layer-free load balancer and Access to a variety of storage and identity plugins that have been supported in open stack for years, right? So if you think about it, you know, the number of plugins for the open stack sender service is Like it's very huge, right? So a lot of storage providers have contributed a bunch of plugins to open stack for years Those might not be available in Kubernetes yet for any given reason, right? So by using open stack underneath it helps you to access all of those Storage and identity plugins But there's also another use case that a lot of organizations have been exploring for years now It's open stack on Kubernetes that also comes with a number of benefits, right? So first of all better isolation of open stack services By putting open stack services inside of containers and running them, you know on top of Kubernetes Each control plane service is fully isolated Also a number of life cycle management capabilities in Kubernetes is is rich, you know Including all of those rolling upgrades, auto scaling and stuff like that And at the end of the day, it helps to standardize on a single platform across both applications and infrastructure So this is how we do Loki on Ubuntu, right? We leverage the best of breed technologies that are available in the market We use mass metal as a service for bare metal provisioning. It's an open source project That's maintained by Calico We obviously use open stack because there's nothing better in the open source space for infrastructure as a service platform We use Kubernetes because there's no better container orchestration platform And we can either run it on top of open stack or directly on a bare metal And we use juju which is an operator life cycle manager that uses chum operators for the purpose of, you know Streamlined delivery and operations of applications on top of the Loki stack And there are chum operators for a variety of most popular open source applications Including Postgres, Kafka, OSM, Kubeflow, MongoDB and many many many other And when it comes to various flavors of Loki on Ubuntu, we have Loki for production which uses Chumped open stack and chumped Kubernetes distributions They are fully open source as well They allow for composable configurable deployments of Loki on top of Ubuntu They provide life cycle management capabilities and can be deployed at any scale And this kind of a Loki stack is used by a variety of organizations all over the world right now It's used for AML purposes It's used for the purpose of building a local public cloud infrastructure It's used by a variety of research institutions including universities and recently it started being used for high-performance computing use cases as well If you would like to learn more about Loki for production on Ubuntu Visit us at the booth B11. We have a demo there today at 4 p.m We're going to showcase how we deploy chummed open stack and chumped Kubernetes and run Kubeflow on top of it and leverage Various, you know this kind of integration capabilities between open stack and Kubernetes But in the remaining part of this session, I'm going to focus on something else Loki for development so since some of you are developers or DevOps engineers or no size reliability engineers You would be probably wondering how you can actually try all of those technologies together How to get started with Loki on Ubuntu? So I'm going to introduce you to another Distributions of both open stack and Kubernetes Microstack and microcades that provide an opinionated Open stack and Kubernetes capabilities inside of a snap Come with super straightforward installation instructions are a lightweight meaning that you can run them even on your workstations During this event providing a non-resolute experience with both open stack and Kubernetes And on that part, I'm going to move to the demo so I'm going to switch to the terminal window and Log into my instance on AWS where I started setting up my Loki stack But I tested that on my workstation as well. So you should be able to repeat It doesn't need to run on the AWS. So this is where I have micro stack already installed Oops Here we go. So I've got my, you know, open stack in a snap Installed there. That's fully functional open stack it comes with, you know, two installation commands that are really needed to run it and I have a juju client installed over here And as you can see, I've already added open stack The micro stack cloud to my juju client so that I can start Deploying workloads on top of it. I've already bootstrap a controller. It's called Loki controller It runs on the top of the open stack cloud. I Created a model that's again called open stack And I've got One instance deployed there It's called microkates. So using channel operators I deployed a fully functional Kubernetes cluster on top of open stack Which in my case is micro stack, right? So this is how it looks like from the open stack point of view I'm pretty sure this command looks more familiar to some of you Right. So I have two instances running on top of micro stack one is the juju controller and The other one is my microkates instance. So that's my Kubernetes cluster And now I'm going to deploy postgres I'm going to deploy it as an instance on top of micro stack And we can run Juju status command inside of a watch loop to see how it's going. So as you can see it's already started provisioning In the instance, that is going to take a while. It needs to create a virtual machine It needs to place a channel operator over there and start Well, let's see how it goes. It's going to retry No need to worry right now So at the same time in parallel, I'm going to I'm going to log in from a second terminal window and Right, so it's still creating this instance. I'm going to add Kubernetes as another cloud to my juju client right and Deploy metermost here. So I'm going to deploy metermost using channel operators as As a pot running on top of Kubernetes and they'll use a database that's provided by postgres Which is running as an instance on open stack So as you can see it's already started Deploying the metermost unit that very quickly it's going to hand on the waiting status because it needs a database relation like Metermost cannot exist with a database. So it's waiting for the database to be offered by the postgres service so in the next steps I'm going to create security groups that will allow me to access my Postgres instance So I need to create a security group called postgres and then enable a traffic to the postgres port which is five four three two and Finally attach it to the instance itself and to grab the instance ID obviously Okay, so at that time I at that point I should be able to access my postgres instance at the postgres port So in the next step, I'm going to SSH to my Postgres Instance first I need to switch to my open stack model. This is where I have all the virtual machines deployed so SSH to the postgres instance and we can have a look at the postgres configuration files Obviously so though so as you can see there are some settings written there by juju already But this access list is pretty empty because we haven't really connected that to the we haven't integrated that with the metermost application yet So in the next step, I'm going to create an offer So I'm creating an offer to the postgres database interface that will allow me to connect my Metermost application right on top of Kubernetes to my postgres instance running on top of Open stack and to find a floating IP address of my microcades instance and now I can add a relation between metermost and The postgres database interface that runs in a separate model on the open stack cloud Need to connect them via the floating IP address of the microcades instance So it's executing right like you can see the agent is executing meaning that the charm operator is performing a job on both the postgres and metermost side and Having a look at the postgres configuration file. You can see that Access list have already been written by there by the charm operator in a fully automated way and now I can log into my Microcades instance and have a look at how all those things look from the Kubernetes point of view So I'm going to SSH to my microcades instance Yeah, and I can list namespaces As you can see there is a Kubernetes namespace created here, which represents the name of my Jujo model running on top of Kubernetes. I can list Perts as you can see there are three parts created there one is for the application itself and the other two are for the operator So in the next step, I'm going to get like an exact name of the Application And I'll establish a port forward to it so that I would be able to access it from the instance running on aws This is where the whole locus tag runs. So we see kuber Nades So the same That you know in the middle everything has got deployed And it's in the active state Including both the postgres and metermost application Yeah Right, so that's the name of the PUD To set up a port forward So it's running in the background and at that stage, I should be able to access my metermost application Using a web browser running on my aws locket instance Here we go So that's pretty much it in terms of the demo does the locket for development If you would like to test it, I would encourage you to Follow the instructions. We've prepared for you. There's a tutorial That describes, you know, all the steps required to set up locket for development on Ubuntu And if you would like to see a locket for production I would encourage you to come to our booth At four today, we're going to have a demo of charmed open stack With charmed kuber nades running on the top and kubeflow as a sample application So that's pretty much it. Do you have any questions? Does it? We'll solve that Yes I'm sorry. I can barely hear you Sorry I cannot hear you if you come closer, maybe, you know Yes Is it a single deployment or what? It's a single port. Yes Okay, thank you very much for your attention