 Okay, well, let's start now. Hello, everyone. Welcome to join my talk today. Okay, next I'm Fisher Xu from QBH community. Okay, today we were talking about extending cloud native boundaries and how to break cloud native workloads to adjoin OS with QBH. Yeah. Well, first, this is a brief introduction of myself. Now I'm a technical studio company member of the QBH community. And also I'm a software engineer from High Cloud. And you can find me at the GitHub. Okay, first, this is the background I want to introduce. Yeah. Run the cloud native workloads to the adjoin OS maybe a new topic, new idea for many people. You maybe ask me why you want to run the cloud native workloads to the adjoin OS. Yeah, why not run them all the Linux distributions directly like the open to central OS. Yeah. This is a background I want to introduce today. Yeah. You can see the devices based on the adjoin OS, I want to use the US business domain such as the set up box and the advertising screen at the robots at the software device cost. Yeah. And this device is usually reaching the computer resources. Yeah. So users are now exploring how to use this uh, uh, uh, compute, uh, competencies. Yeah. Furthermore, in the context of the HRT scenarios, there's a strong demand for the cloud native technology in mobile smart devices to use their computer resources. So, uh, this is a list of some, uh, ideas users are exploring. Yeah. First is the leveraging the hardware capabilities of the, uh, Android devices at the software resources, such as the GPU and the other, uh, OCR images. Yes. Another one is, uh, applying the cloud age collaborative age computing technology to adjoin devices. Yeah. Furthermore, expanded the applications, various of cloud native age computing is QBH in the mobile domain extending cloud native boundaries. Okay. I think this is a background of the topic. Yeah. In summary, in summary, uh, many users now exploring how to use the, uh, computer resources in the adjoin the, uh, adjoin OS devices and other mobile devices. Okay. Okay. Next, I will introduce the, uh, QBH community. Yeah. Uh, QBH is a project built based on the Kubernetes. Yeah. I, I, uh, we think QBH is not a distributions of the Kubernetes. It's not a Kubernetes distributions. We have done many, uh, enhancements based on the Kubernetes. Yeah. From the architecture, you can see QBH include the three parts, the cloud part, age part, and the devices part. Yeah. Uh, in the closed part, you can see, uh, we are built, built, uh, based on the, uh, Kubernetes master. Yes. The cloud core is the components we, uh, built. Yeah. Uh, you may have questions why we need the cloud core components. Yeah. This is the, uh, about the, uh, age scenarios. Uh, we stick in the age scenarios, the, uh, age node usually located in many different places. Yeah. Uh, such as in the campus, in the vehicle, yeah, other places. So usually the, uh, network between the cloud and age are unstable. So, uh, we, uh, just have done some enhancements between the cloud and age network. Yeah. In the unstable networking. Yeah. This is, uh, why we, uh, built the cloud core components. Yeah. Uh, uh, another part is the age part. The age part included, also included two parts. The left side is the, uh, application agent. It's a lightweight, lightweight, uh, Kubernetes. We have done some cutting of the, uh, based on the Kubernetes. Yeah. The right part is the, uh, IoT devices management part. Yes. We also do some, have done some work, uh, to manage the age devices. Yeah. Okay. Uh, uh, in the age part, uh, uh, as I said, we have done some, uh, lightweight cutting, uh, based on the Kubernetes. So the, uh, age core, uh, the footprint of the age core is about 70 MB. So it can run on many lightweight devices. Yeah. Okay. Uh, I think this is all the, uh, architecture of the QBH. Okay. Uh, next page is some core concept of the QBH. Yeah. The first is the, uh, open ecology. Yeah. Uh, because we are based, we are built based on the Kubernetes. So we are fully combative with the native Kubernetes, uh, API. Yeah. From the, uh, architecture, you can see, uh, users, you can, can use the, uh, Kubernetes API to deploy and manage the application from cloud to the age nodes. Yeah. Users can also use the, uh, Kubernetes API to, uh, manage the IoT devices. Okay. Yeah. Uh, the next is the reliable list watch interface for the age. Uh, this means we also have the, uh, Kubernetes native, uh, interface in the age. Uh, users can also access the Kubernetes API from the age side. Yeah. Yeah. Next one is, uh, about the age devices. Yeah. We have, uh, extensible, uh, framework for the age IoT devices that we can support, uh, like MQTT, uh, Modbus, Bluetooth with OPC UA, uh, other protocols. Yeah. Uh, another one is we support managing massive age devices. Yeah. Because the lightweight weight of the, uh, age cost so it can run in a resource constrained, uh, environments. Yeah. As I described, yeah. Uh, another one is, uh, we have extensible framework for the age device management. So, we can manage, uh, many, uh, devices for many protocols. Yes. Another one is, uh, we can support complex age cloud networking environment. Yeah. As I described, uh, we think, uh, in many scenarios, the, uh, network between the cloud and age are very unstable. Uh, usually disconnect, reconnect. So we have done some, uh, enhancements based on this, uh, networking station. Yeah. Yes. The next one is the application data age autonomy. Yeah. This is another big feature Coolidge, uh, have. Yeah. Uh, I want to introduce the age or what is age autonomy in the Coolidge architecture. Yeah. Uh, in the native Kubernetes, uh, you know, uh, when they are pulled, uh, at the other metadata set to the Coolidge, Coolidge will, uh, save the metadata in the memory. So, uh, now when we, uh, when the edge node, uh, get offline and then restart, then the, at this time, the, uh, Coolidge can't recover the, uh, application, but in Coolidge, we store the metadata in a database in age. So when the age node get offline at the restart, it can load the metadata from the, uh, circulate database and then recover the application so we can ensure the, uh, application run or the edge node. Stability. Yeah. This is the age autonomy features. Yeah. The last one is each cloud integrated resource scheduling and traffic coordination. Yes. Uh, this is means we can, uh, manage the, uh, cloud node edge, uh, edge node. Yeah. We can schedule the, uh, resources from cloud at age. Yeah. Okay. This is the core concept of the Coolidge project. Okay. Next I will, uh, have, uh, uh, introduction of the age architecture. Yeah. This is, uh, uh, over architecture of the age node. Uh, you can see, uh, the above is the closed side. Then, uh, it said the metadata or other, uh, message from the, uh, use the WebSocket protocol. Then send to the age node. The age node, the age hub will receive the, uh, metadata. Then send to the meta server. Meta server will store the metadata in the database. Then send to the age, we call it HD. Yeah. Actually it's, uh, uh, light kubelette, uh, lightweight kubelette. Then it will, uh, run the, uh, container, uh, applications in the age node. Yeah. This is overall architecture, uh, in the age. Yeah. The right side is, uh, how we do, do this in the age hub. Uh, first we fork Kubernetes repo in kubelette.org. Then we do some, uh, lightweight cutting for the kubelette. Then we, uh, replace the kubelette in kubelette with, uh, our own forked repo. Yeah. This is the overall architecture of the age node. Okay. Uh, next page I will introduce. This is the overall, uh, kubelette, uh, platform. Uh, the above is the, uh, industry, kubelette shields. We, uh, how do, uh, many shields for, uh, the different industries, industries, such as the AI, IOT, MEC, uh, with many, uh, sub projects like Sedna, age mesh. Yeah. The middle is, uh, some, uh, core framework of the kubelette project, like the, uh, schedule the system or, uh, uh, right time. Yeah. The, uh, below is the, uh, uh, hardware we supported. Yeah. Today I will introduce the, uh, Android OS is one of the, uh, hardware we can support. Okay. Next I will introduce how we run the kubelette age node or the Android OS. We take this device as an example. Yeah. Okay. Uh, first this is some, uh, technical key points. Uh, we need to know when we run the application of the Android OS. Yeah. Uh, you know the Android OS, it also has a Linux kernel. But, uh, we have to modify the kernel to support containers, uh, similar to Linux OS. Yeah. This is the, um, uh, main triggers when we run the container or the, uh, Android OS. Yeah. Uh, you can see we listed, uh, we need to, uh, modify the, uh, Linux namespace config at the C group config at the networking config at the overlay file system is also, uh, not spotted in the Android Linux kernel. Yeah. Another one is about the, uh, scheduling config in the, uh, Linux kernel. Yeah. Uh, in summary, we need to, um, modify the configuration of the, uh, Linux kernel in Android OS. Yeah. Uh, the second part is the, uh, Android network. Network, we also need to do some modification. Yeah. First, you know, the paranoid network. Uh, this is the default mode of the, uh, Android OS. So we must, uh, disable it. Yeah. Then you can, uh, create the socket or other bridge, uh, network. Yeah. Yeah. The next is, uh, like IP table routing issues also we need to modify. Uh, we need to add some IP table role, routing role. Yeah. Yeah. Uh, another one is the address storage storage. We also need to modify. Yeah. Uh, we, we need to do some, uh, modification to support the overlay FS. Yeah. Uh, the last one is your, I must know, uh, a theory of clone native, such as a joint GPU camera, how to use this devices. You also to know. Okay. Okay. This is the overview of, uh, what we, uh, do the modification in the, uh, Linux kernel, uh, including the, uh, storage, uh, namespace, networking, C group and security. Yeah. Yeah. This is, uh, uh, some C group rules. We need to mount all the hosts. And we, uh, need to add some routing roles in the host and disable the, uh, SD Linux. Yeah. Right side is, um, uh, Linux kernel configuration. We need to, uh, enable it for support the container workloads. Okay. Okay. Uh, next is some, uh, implementation process. Yeah. How, how we, uh, to do it or the Android OS. Yeah. First, we need to download the SDK for the devices. Uh, it includes the, uh, OS at the Linux kernel. Yeah. Then we need to, uh, do some modification based on the Linux kernel. Yeah. Uh, after we do the modification, we can use this, uh, scraped from the mode B project to check. Yeah. The, the, the, the route, the route will show, uh, what, uh, you, you will need to do some other modification if you need it. Yeah. Uh, the next one is we need to modify the, uh, overlay backing file system. Yeah. In these solutions, we mount SSD to, we, uh, to the, uh, Android, uh, devices for, as the root FS of the, uh, uh, uh, right time. Yeah. Next one is the, uh, Android networking. Yeah. We add some, uh, roles for the, uh, hosts like, uh, root role at the role at the IP table roles. Yeah. This is some examples. Yeah. The next one is, uh, we need to download the, uh, static binaries of the Docker or container D and run it to the, uh, host. Yeah. Then, uh, we need to call config the, uh, DIN S3 off. Yeah. DIN S3 off is also linked in the, uh, Android devices. Yeah. The last one, uh, we can, uh, config these last all to start in the devices. Yeah. Uh, this is, uh, a process of holding down. Yeah. This is a demo show of the results. First you can, uh, see we, uh, you stalk run, run a container in the, uh, Android devices. Yeah. And then, uh, we log into the container. Yeah. Okay. The last one, we, uh, I will introduce how we, uh, deploy the kube age to the Android OS after the, uh, container runtime is ready. Yeah. Uh, first we need to, uh, uh, ensure the Android OS can access the, uh, closed side of kube age. Then we, uh, use the kube age releases and the insta, install the age code to the Android OS. Yeah. Uh, for the network issue, we can use the hmesh project in the, uh, kube age community. hmesh is, uh, uh, networking components for, uh, for kube age. It can ensure the, uh, cloud as the networking application communication. Yeah. Yeah. Then we use the kube age static age code or the on server. Yeah. This is all the process, uh, how to run the, uh, age code in the age node. Okay. Next, this is, uh, uh, demo show of the, uh, results of, of, uh, when we, uh, install the kube age or the adjoint OS. Yeah. We get node. You can see the, uh, Android devices is also listed in the cloud. Yeah. Then we deploy some pod to the adjoint devices. You can see, uh, we get pod. This is the applications to run all the adjoint OS. Yeah. Then we, uh, use, uh, log into the, uh, container from the cloud. You can see this is the route. Okay. Okay. Now, uh, we have deployed the kube age to the adjoint OS. We can manage the, uh, adjoint OS devices from the cloud. Okay. Okay. This is, um, summary at the other look in future. Yeah. For more details, you can see the, uh, documents in this report. Yeah. Yeah. In future, we will also deploy, deploy, uh, how to run kube age or the, uh, container right time or the risk five architecture. And, uh, we will also explore practical application is a wide range of, uh, mobile age scenarios. Yes. We will also, uh, explore, uh, how to, uh, run the new technology such as member assembly, uh, to the, uh, age nodes. Okay. Okay. This is all the information I introduced. Thank you. Thank you. Thank you for the presentation here. Right here. Hello. Um, once you have deployed your, uh, container on the Android platform, uh, how do you access to the Android, uh, uh, framework through binder, for example? Uh, how to access the address from cloud? How, how can you access from inside your container? Yeah. How can you access to the Android framework because you have to access to the services running on Android? Yeah. How can you access from your container inside the container to the Android framework? Uh, okay. I think this, uh, it can also use the host, uh, host network mode and they can, uh, access the network from the container in the Android OS devices. Yeah. Okay. Okay. Okay. Thank you. If you have any questions, you can go to the code edge booth to, uh, uh, discuss with me. Okay. Thank you.