#132 December 16, 2020

Akri, with Kate Goldenring

Hosts: Craig Box, Adam Glick

Akri is a recent open source project launched by Microsoft to manage edge devices. Kate Goldenring is a software engineer in Microsoft’s Edge OS team and an Akri maintainer. She joins our final show of 2020 to talk about how to use Kubernetes to manage devices that can’t run Kubernetes.

Do you have something cool to share? Some questions? Let us know:

Chatter of the week

News of the week

CRAIG BOX: Hi, and welcome to the Kubernetes Podcast from Google. I'm Craig Box.

ADAM GLICK: And I'm Adam Glick.


CRAIG BOX: This will be our last episode for 2020, so we have a little holiday break coming up. Do you have any recommendations for how one could spend one's time on one's holiday break?

ADAM GLICK: Oh, my. What could people do? I've been enjoying a little kind of side scroller eight-bit-esque game called "Reventure." For anyone who's played "Don't Touch Anything," it's a little bit like that, where it's not so much how you get to the end of the game. Getting to the end of the game is really easy.

It's more of, there are over 100 endings, each of them essentially associated with a death that you have. So it's more about trying to find all the different ways that you can fail to finish the game in order to try and explore all the creative ideas they've come up with. And it's just a fun little time-waster that you can poke around at. And I've been just enjoying the creativity of the people that created it and all the ideas and different deaths that they put in.

CRAIG BOX: So it's a choose your own adventure book?

ADAM GLICK: To a certain extent. It's in that genre. How about you? Any fun goings-on for the holidays?

CRAIG BOX: Well, there is a number of different reasons for holidays around the world. And one that I've been enjoying keeping up with this week is the ongoing Dave Grohl and Greg Kurstin recordings up on YouTube. Greg Kurstin is the producer of the latest Foo Fighters albums. And to celebrate the festival of lights, they've been publishing covers of Jewish musicians performing pop songs, with Kurstin on the keyboard and Grohl on the drums.

And five or six days in now, I'd say that I don't recognize that many of them. I think it worries me a little bit that I'm a little out of touch with modern music. But they did a great cover of "Sabotage" by the Beastie Boys. And I got that one.

ADAM GLICK: I'll have to check those out. I've been going through Disney Plus, enjoying "The Mandalorian," of course.

CRAIG BOX: This is the way.

ADAM GLICK: If you're looking for more Disney holiday enjoyment, there is a video link in the show notes called "Puppy for Hanukkah," which is a Disney-created video about a rap song and puppies for Hanukkah. So for those of you who are celebrating that particular festival of lights which is going on now, Happy Hanukkah to you all.

CRAIG BOX: It's a great story behind that video. I read a little bit about it. It's Daveed Diggs, who is one of the stars of the original "Hamilton" on Broadway, who wanted there to be representation for Black Jewish kids. And I have to say, it's up there, but it's unlikely to be thrown the Adam Sandler "Hanukkah Song" as my favorite piece of Hanukkah music.

ADAM GLICK: Ah, yes, indeed, a famous one, for sure.

CRAIG BOX: "Drink your gin and tonic-a, and celebrate the Hanukkah."

ADAM GLICK: So I hope everyone has a chance to enjoy whatever they choose to celebrate for the rest of this year and have a great new year. After this show, we'll be back on January 12.

CRAIG BOX: Have a great new year. And until then, let's get to the news.


ADAM GLICK: Congratulations to the team at eBPF monitoring startup Pixie Labs. Just eight episodes after we mentioned that Pixie came out of stealth, New Relic has announced that they have entered into an agreement to buy them. The acquisition will result in several changes, the first being that Pixie Core will be open sourced and submitted to the CNCF sandbox early in 2021.

There will be two commercial versions of Pixie-- one, a continuation of their current product that will add integration into New Relic, and the second, an Enterprise Edition. The Enterprise version will be targeted at organizations that want to run Pixie entirely within their own on-premises clusters for compliance, performance, and privacy needs. New Relic called out the similarities of the two companies' focus on developers, as well as the technology that Pixie Labs created being cloud native, able to run in customers' clusters or as a service, the use of eBPF, and the ability to script AI for log analytics as factors in the acquisition. Terms of the deal were not disclosed.

CRAIG BOX: Last week, the Kubernetes community was worried that Kubernetes was going to deprecate Docker. Mirantis, who acquired Docker Enterprises barely a year ago, may have gotten some ideas. Because this week, they, quote, "realigned their portfolio," and retired the Docker brand in favor of their own. Docker Enterprise becomes Mirantis Kubernetes Engine, reintroducing a name that was used before their acquisition. That product had been renamed Docker Enterprise Container Cloud, and has now become Mirantis Container Cloud. Docker Engine Enterprise is now Mirantis Container Runtime, and Docker Trusted Registry is now Mirantis Secure Registry.

On top of the new names, Mirantis announced the general availability of Mirantis OpenStack for Kubernetes, bridging the two historical product areas. Learn more about the history of Mirantis in Episode 110 with CEO Adrian Ionel.

ADAM GLICK: Miska Kaipiainen of Mirantis has announced the release of the Kubernetes IDE Lens version 4.0. The key new feature of this release is the Extensions API, which will give developers the ability to extend the functionality of the IDE to meet their specific needs. The Lens team is looking to the community to help build the library of extensions and has launched a new community blog. An improved logging interface is also included, getting rid of the modal dialogues that would previously pop up.

CRAIG BOX: A security issue potentially impacting all versions of Kubernetes was reported last week by Etienne Champetier of Anevia.

Kubernetes services have a little-known feature where instead of defining a service type such as NodePort, you can specify a list of external IPs. If you have permission to create a Service in a cluster, you can capture all the traffic from the cluster to that IP address. This is of particular concern in multi-tenant clusters, where you could man-in-the-middle any public Internet service.

A fix is in the design phase, but as it will be a breaking change to legitimate users, mitigation is recommended instead. An admission webhook container has been published to prevent services having externalIPs set, or you can use Open Policy Agent policies. If you want to check if your cluster has been exploited, you can look at various audit logs which are discussed in the security advisory.

ADAM GLICK: The Kubernetes blog has started its usual deep dives into the features of the latest release. This week comes the discussion of the Volume Snapshot feature, which reached GA in the 1.20 release. The feature allows you to make a copy of a volume and also run a validation check on that volume. The output goes to CSI-compliant storage. And the feature has already been embraced by multiple backup and recovery projects and vendors.

CRAIG BOX: Weaveworks, the London-based Kubernetes tool startup that focuses on GitOps, has announced a $36 million funding round with a mix of venture capital and telecommunications companies. A first-time investor is AWS, which makes sense, given Weave maintains the official EKS command line tooling. From a start building that Weavenet plug in back in 2014, Weaveworks now builds open source tools, like Flux and Flagger, and a commercial Weave Kubernetes platform. Congratulations to Alexis and the team.

ADAM GLICK: Also taking funding this week, Trilio. The cloud-native backup and disaster recovery startup announced a $15 million financing round. Not to be confused with the communications company, Trillo stated that they plan to use the money to continue to fund their operations, as well as to grow their product development, sales, and marketing teams to take advantage of the worldwide market for cloud-native data protection tools.

CRAIG BOX: Google Cloud has announced an expansion to Anthos for Telecom, adding 200 partner applications that can run at the edge from over 30 launch partners. A blog post lists the vendors and industries where the telco partnership can help with edge and 5G solutions in areas like manufacturing, media and entertainment, and retail.

ADAM GLICK: Circle CI has announced server 3.0, a self-hosted version of their service that can run on premises or within cloud Kubernetes environments, like GKE or EKS. The release comes alongside a partnership with ARM and an agreement to support ARM 64 architectures, as we start to see ARM servers showing up in cloud services. The team also released an e-book report on the 2020 State of Software Delivery, offering benchmarks for CI/CD products, and notably, available without providing your contact information.

CRAIG BOX: This week's Microsoft AKS release includes support for custom node configuration and preview, allowing you to tweak a group of node settings. Private clusters can now integrate with an enterprise DNS service, rather than a private Azure DNS zone. And "bring your own control plane managed identity" is now GA.

ADAM GLICK: Apache Flink 1.12 has been released, and with it, the ability to run with high availability in Kubernetes as an alternative to using Zookeeper. On top of a number of other new features, the datastream API in PyFlink expands its usage to more complex scenarios that require fine-grained control over state and time. And it's now possible to deploy PyFlink jobs natively on Kubernetes.

CRAIG BOX: Finally, Michaels Brown and Hausenblas from AWS have announced the addition of cross-region replication to Amazon's Elastic Container Registry service. The update means that customers no longer have to replicate containers into different registries in order to support deployments in different regions.

ADAM GLICK: And that's the news.


ADAM GLICK: Kate Goldenring is a software engineer at Microsoft in the Edge OS Team. She's a maintainer of Akri, an open source project for building a more connected edge with Kubernetes. At Microsoft, she specializes in security, the internet of things, and Kubernetes projects. Welcome to the show, Kate.

KATE GOLDENRING: Really happy to be here. Thanks.

ADAM GLICK: What first inspired you to get into technology?

KATE GOLDENRING: I never thought I would land here. I've always been really into the environment. In high school, I was given the superlative Most Likely To Save the Earth. So people are a little surprised when I say that I work in tech.

ADAM GLICK: Those are high expectations for you there.

KATE GOLDENRING: Yes, definitely. I can't say I've met them. Maybe one day.

ADAM GLICK: Not yet. You've got time.

KATE GOLDENRING: I do. I do have time. So it was a roundabout path here.

Then when I went to university, I thought that I was going to major in environmental science. I found that there was a lot of breadth there. You dabbled in every science, but never really had this depth. And I craved knowing something really deeply. Then I took a step back and thought, OK, what could persuade people to be environmentally friendly? And I thought econ.


ADAM GLICK: The first thing people think of.

KATE GOLDENRING: People can be a little money-focused. So if we can find a way to emphasize economic benefits to environmentalism, sure, that's great. And then on a whim, I took Introduction to Computer Science.

I found it incredibly engaging and also very hard. Fortunately, the professor, Kris Jordan, is a huge advocate for women in STEM. And he saw I was doing well in the class, reached out, and asked me about my passions.

He ended up convincing me that I could do whatever I wanted with CS. And I went straight to the admin office and double-majored. That was my roundabout way. And then ever since, I've loved tech. And here I am.

ADAM GLICK: That's fantastic. So you got a dual degree. I assume that was econ and computer science?

KATE GOLDENRING: Yes, exactly.

ADAM GLICK: What did you envision as the job that you would take graduating with two fairly technical science-focused degrees and a love of the environment?

KATE GOLDENRING: I wanted to build up my toolkit of economics as an understanding, a foundation, have computer science as this tool to leverage that understanding, and then environmentalism as this passion. And I thought, OK, with that, I can probably get to where I want to go. But I didn't have an exact job that I wanted.

And I ended up just going down the path of what intellectually stimulated me. I found myself working on edge computing, which has exciting environmental benefits. So I'm really excited to be where I am and really excited to see where I keep going.

ADAM GLICK: When you say the environmental benefits, talk a little bit about what some of those can be.

KATE GOLDENRING: One of the cool things about edge computing is that you can process data closer to where it originates. Right now, with IoT, you can have these devices sending all their information up to the cloud immediately. Or you could install some kind of edge server, maybe an edge cluster and a Kubernetes setting, and process all that data right where it originates. And then you can just send up the final aggregated data to the cloud.

So there's a lot less back and forth, less latency. And some people like the fact that it has less cost. I like the fact that there is less environmental cost.

ADAM GLICK: I've heard the term "edge" thrown around. And a lot of people refer to it different ways. How would you define edge?

Is it just the new term for IoT? Is it more of a hub-and-spoke model? Is it all of these things? Is there something more than that?

KATE GOLDENRING: So edge can be multiple things. People can think of it as a fog, like, an intermediary to the cloud. It's just a middleman for getting things to the cloud. Or they can think of it as the place where you do everything you need right where you are.

I do think IoT can get jumbled in with edge. People think of all the IoT devices. Yes, they live on the edge, meaning they don't live in the cloud, necessarily. But when I think of the edge, I also think of the actual servers and compute that's running there.

ADAM GLICK: When you talk about edge and IoT, I think a lot of people think of the IoT devices that many of us might have-- cameras, connected thermostats, all sorts of things, things you've built with Raspberry Pi boards. Is that what you're referring to? Or are you referring more to industrial control systems, monitoring systems, what people find in their Teslas?

KATE GOLDENRING: With Akri, its goal is to discover these IoT devices and expose them to a Kubernetes cluster as resources. And the reason why this is so powerful is, a lot of these devices, like the ones you mentioned, whether in industrial settings, whether an IP camera, a USB camera, a thermostat-- all of those are too small to run Kubernetes themselves. So it becomes a question of, how can we bring them into a cluster?

And that's what Akri aims to do. So whether that is an industrial setting, or whether you're doing a home project with the Raspberry Pi and some IP cameras, Akri will go discover those devices for you, and advertise them to the cluster, and then automatically deploy any workload you specify to those devices. And that workload will have all the information it needs to connect to that specific device.

ADAM GLICK: Did you get passionate about this technology while you were in school and then move into it? Or is it something that you have gotten into as you've moved into your current role?

KATE GOLDENRING: Definitely something I've grown to love. When I first started working on the Akri project, it started with an "About Kubernetes" book. I was actually there, flipping through, learning about all the Kubernetes components. I was using Raspberry Pis for the first time.

It was a lot of "learn as you go," which made it so exciting. Because I also learned how powerful it was when I went. Sometimes people's passion about a project can wane. For me, it's just continually gotten more exciting as I come to a greater understanding of how far this project can go.

ADAM GLICK: Is the same true with your experience with open source? Were you an open source advocate before? Or was this project your first chance to really get involved in the community and be a part of that?

KATE GOLDENRING: It's hard to not be an open source advocate, in the sense that, part of being a software engineer, you have to use so much open source technology. So no matter what, you're grateful for all the people who have put their good work out there. I had never contributed to a project. I had only really benefited from the work of others. So this has been a really nice opportunity to give back and also engage more directly with community members, be on Slack with people I've never met face to face before, and have those conversations, and then also get the chance to comment on people's pull requests and issues and help people along using this tech that I'm really excited about.

ADAM GLICK: You currently work at Microsoft. You also did an internship there while you were in school. Did they hire you to work directly on open source?

KATE GOLDENRING: No. So it was a roundabout path to my current team as well. I started actually at Microsoft as a program manager. I thought I would like more of the visionary role.

I'm definitely a communicator at heart. I like to bring people together, see how people ideate. I thought I would land well there.

But I found that I was craving more technical depth there. I was working with security researchers. And all the time, I was so curious about what they were doing. And I wanted that satisfaction of doing it myself too.

The next year, I came back as a software engineer. I switched over to my team on the edge Operating System team within Azure. Because they were working on security work. That sounded super exciting.

And so I was in that space for a bit. And then we all transitioned over to Kubernetes, realizing it's a really great technology to enable running workloads on the edge. That brought me round about here, to where I landed working with open source.

ADAM GLICK: Back in October, you announced the Akri project. You are the author of the blog post that I read as we saw about this and thought, wow, that sounds really interesting. You've mentioned it a couple of times. We've kind of talked around it. Explain what Akri is. What does it do?

KATE GOLDENRING: At its core, what Akri does is, it goes and discovers devices that are around a cluster. They can be around a cluster, like maybe an IP camera connected to the network that the cluster is on. It can be attached to a cluster, like a peripheral, like a USB camera, or actually embedded in the nodes themselves, like TPNs, TEEs, GPs, et cetera.

And so what Akri does is, it goes and discovers that with a protocol that you specified in our custom resource. It's called our Akri Configuration. So you specify what protocol you want to use to find that device-- so say ONVIF for an IP camera. And then Akri will go and discover it.

Once it's discovered it, our device plug-in component will advertise it to the cluster as a resource. And then our custom controller will go ahead and schedule workloads that you've specified to those specific devices. And those workloads, which we call brokers, will do all the work. They know how to connect to the devices. And they will utilize those devices and do whatever you want to do with them.

ADAM GLICK: I noticed there was some new terminology that's been introduced as part of using this. Can you explain what a leaf is?

KATE GOLDENRING: We weren't sure how to define what Akri can discover, because it is so broad. IoT devices is one way to say it, but the key thing here is that Akri is powerful because it discovers those IoT devices that cannot run Kubernetes themselves. There are some IoT devices that are larger and have the compute to run Kubernetes. But we're talking about MCU-class devices. And we're also talking about those embedded hardware resources as well.

So we went along with leaf. And there is this analogy where that device can be a part of the cluster. It can be a part of its tree root. Or it can be around the tree on the ground. Or it can be a stem of the tree itself.

So we went with leaf. Whatever works for you to understand it-- I think IoT is generally more consumable-- IoT devices. That's how we came around with this new term.

ADAM GLICK: I feel the environmental background creeping into the naming here. You mentioned MCU-class devices. Can you give me an example of what those might be and what MCU is?

KATE GOLDENRING: That's a "Micro Controller Unit" class, so any kind of controllers, maybe in the industrial setting, a controller there. Some sensors could also be MCU-class devices.

ADAM GLICK: You mentioned before that this could be something that people, the hobbyists, build on top of Raspberry Pis or other consumer-based technology. Or it could be more of industrial-based technology that people use this for. Can you talk about some of the use cases and some of the organizations that you're talking to about this technology and how they might use it?

KATE GOLDENRING: Yeah. So the use case is really anyone who wants to utilize some devices in their cluster. Right now, the cool thing about Akri is, we built it to be so extensible. So basically, anyone can bring in a protocol or a discovery handler into Akri. And currently, we support two, which is ONVIF and udev.

So a use case you could think of right now that utilizes these two protocols is, say you're a farmer and have this smart farm. And you have a bunch of sensors in there that monitor the temperature of the soil, the moisture of the soil. And then you have some IP cameras that maybe are monitoring your livestock.

Say you want to expand your farm. So you plug in a bunch of new sensors and IP cameras. Instead of, as an operator, having to redeploy more pods, maybe reconfigure your application. Instead, Akri will automatically discover those new devices. And it will automatically deploy workloads.

And then if your farm unfortunately shrinks down in the winter, Akri will automatically remove those workloads. And you don't have to do anything. It's really this interface, which is why we also think of AKRI as an acronym, A Kubernetes Resource Interface.


KATE GOLDENRING: Because we really wanted to abstract away the work that has to be done. To cycle back to your question of other use cases, it's really anything you could bring a protocol in for. Currently, we're working on an OPC UA discovery handler.

So that works well for industrial settings. We've seen a request from the community for things like zeroconf, simple IP pinging. There is really endless use cases. And we're really excited to see what the community brings along.

ADAM GLICK: How does it become aware of the other devices? Does it actually do like a network scan to find the devices? Or do the devices go and register themselves with it? Is it kind of a push or a pull model?

KATE GOLDENRING: The device doesn't have to do anything. There is nothing that needs to be put on the device to do anything. Rather, it's just the job of the discovery handler to discover that device.

In the case of ONVIF, it's just simply searching the network for RTSP URLs for ONVIF cameras. For udev, it's simply searching the Linux file system for the device you've specified with a udev role. And then you could say, with OPC UA, it's just searching for certain OPC UA end-point URLs or contacting a local discovery server for that. It's really on the discovery protocol implementation to do that work.

ADAM GLICK: Could people think of this a little bit like service discovery but for connected devices?

KATE GOLDENRING: Yeah, I think you could think about it that way. I think it's really just about making it easier to discover and utilize. And in this case, that's a device.

ADAM GLICK: So when someone thinks about how they'd actually use Akri-- you talked about the use cases. What does the architecture look like? What is the design that someone has to do as they think about building this in and connecting the devices that they have into their Kubernetes cluster using Akri?

KATE GOLDENRING: The flow of using Akri would go something like this. We do have Akri as a Helm chart. So you can simply install it with Helm. When you install it, you specify your configuration, which is an Akri custom resource where you define what you want to find.

And in that configuration, you can also specify an image for what you want to be deployed as that broker pod that interfaces with the device. Then once you have installed Akri with that Helm chart, Akri's agent, which runs on all the worker nodes in your cluster, will automatically look for those devices and advertise them in our second custom resource, which is our Akri instance. And then our custom controller will go look at those instances and automatically deploy those broker pods to the nodes that can see those devices. These four Kubernetes components kind of work together to create a scenario where, with Akri, you name it, Akri finds it, you use it. It's supposed to be this really simple abstracted experience.

ADAM GLICK: Is there an operator that comes with it, or one that's planned, to give that command line experience for it?

KATE GOLDENRING: Not beyond that you can use Helm to automatically install it. When you do that, you're basically applying your configuration, which is just standard YAML. But no other command line tools beyond that.

ADAM GLICK: What's the deployment stack that you typically think of for this? If someone wants to go do this, should they be installing this on top of a full Kubernetes distro that they might have? Is it something more like, you're looking at some of the thinner versions, like A3S or Kias.

KATE GOLDENRING: We are Kubernetes-native. So Akri can run on anything that's Kubernetes. Currently, we have end-to-end tests to make sure that any code that's pushed into master works on vanilla Kubernetes, K3s, and microcades. So really, whatever you have, we want Akri to be an addition on top of that.

ADAM GLICK: The name "Akri" is fairly unique. And you've already mentioned that it's an acronym which has Kubernetes in it. I was wondering if that was what the "K" stood for. How did you come up with that name?

KATE GOLDENRING: Yeah. Finding our name for Akri was not necessarily the easiest thing. It was a lot of fun brainstorm sessions.

We at first wanted to do something nautical, like our fellow Deis Labs project, Helm. And then we thought, OK, we could do something Greek-related, like Kubernetes itself or Prometheus. And then we really wanted to focus in on the fact that we're trying to empower Kubernetes on the edge. So we went with the name Akri, which means "edge" in Greek.

And then, like I said previously, it stands for A Kubernetes Resource Interface in addition to that. So it's kind of this double-win with the name. We can emphasize edge. We can use that Greek word. And then we can also have a descriptive name for it within that acronym.

ADAM GLICK: How long have you been working on building Akri? How long did it take to get to the point of your actually announcing it?

KATE GOLDENRING: The ideating and the development of it has been over about the past year and a half. We've been really wanting to get it out. It's still very young.

Currently, like I said, we only support two discovery protocols. And so there's a long way to go. We're also looking at New deployment strategies and better extensibility models, so it's easier for people to bring in their own protocols. So we have a long way to go. But it's really exciting to present it to the community, and get this goodness reception, and then also work with them in order to keep building it up.

ADAM GLICK: What version number are you at right now? And what kind of stage is it? Do you consider it alpha, beta? Is it already GA?

KATE GOLDENRING: Definitely alpha. So we're at 0.0.35.


I would not say that this is ready to be depended on yet. That's what's exciting about it, is that we are here to hear how people want to take it. Because it is so young, it has room to mold.

ADAM GLICK: You've built this up from nothing. And it's a great idea. Clearly, there is a lot of headroom to go with this. What were the challenges in creating Akri?

KATE GOLDENRING: First off, it was the fact that we needed to learn Rust. And that was a fun process as well. But things like finding good asynchronous crates with Rust-- in particular, a good async gRPC crate to work with the device plug-in API was a little hard.

One of the specific struggles we had was with the device plug-in API, in particular-- it has support for allocate. So when you have a pod that requests a resource, basically, the cubelet on a node will call allocate on your device plug-in asking for that resource. It will schedule that pod because it got that resource.

The problem is, the device plug-in API does not support a deallocate function. If a pod were to die or go down, there is no way for our device plug-in to know that happened. So we have this resource that's still being taken.

We had to do a workaround where we query the container runtime with crictl in order to see what pods are actually utilizing our resources and make sure we have that state properly understood. So we would love a deallocate added. And there is some work in the community to get that done. We're not the only ones who are interested in it. But that's been one struggle.

ADAM GLICK: It sounds a little bit like memory management in non-garbage-collected language. Like, you've got to remember to clean up the resources that aren't being used anymore. You're not the first group that we've talked to who we have decided to start building on Rust. What made you decide to use Rust as the language for this?

KATE GOLDENRING: We were really interested in the fact that Rust is a systems language and has a low footprint. Since we are talking about edge environments, we wanted the binaries to be as small as possible. And so that's really where we were thinking about Rust. And then also our fellow Deis Labs project Krustlet was using Rust. And they had had a fair bit of success with it. And so we wanted to go along with that as well.

Also, Rust is one of the most-loved languages by the developer community. And we wanted to love it too. It's been a really fun time.

ADAM GLICK: I can't wait to see what the logo will be for that.

KATE GOLDENRING: Yeah, me too.


ADAM GLICK: Knowing what you know now, what advice would you give to other developers who are thinking about creating a new open source project?

KATE GOLDENRING: The key is figuring out what is your use case. And are you desired? Are you filling a need-- which is something that we felt like we were with Akri.

And then making sure that, when you present it to the community, you're doing it in a way that it's really easy for people to get feedback. The way we've done that is, we have a whole proposal section of our documentation where we put our proposals. And we really want people to comment on them and tell us what they think. And a lot of those proposals have enumerated options that we want people to give some ideas and feedback on what they think.

Then, of course, having a Slack is really important. So we're in Kubernetes Slack under the Akri channel. That's just a great place where you can engage with the community directly and make sure that you're on track with what everyone sees that they want the direction of the project to go.

ADAM GLICK: You mentioned the Slack. I assume there is a website and a GitHub. If people just search for Akri, does that show up? Or is there someplace you'd like them to go for people who both want to get involved in the project as well as people who want to learn more about the project?

KATE GOLDENRING: I would recommend checking out our Akri channel on the Kubernetes Slack. That's where you can ask us any questions you have. And we can direct you to any specific places. But beyond that, definitely, our GitHub. So it's GitHub.com/deislabs/akri.

All of our documentation is there. And you can go through all of that. We've tried to make it extensive. Feel free to put in a pull request if we have any typos. We've had some of those. I, too late in the game, installed a VS code extension for spell-checking. And some people noticed that.

ADAM GLICK: [LAUGHS] One of the things I did notice when I was looking through the GitHub is that this is released under the MIT license. Were you involved in the choice of license for this project?

KATE GOLDENRING: Choosing a license, we just looked at Krustlet, another Deis Labs project, and looked at what they were doing, and saw that they were using the MIT license. And so we did the same. I can't say that there was more thought beyond that, except for the fact that we can always pivot and change, if needed. There wasn't a ton beyond that.

ADAM GLICK: Are there any plans to donate Akri to a foundation?

KATE GOLDENRING: We definitely think that Akri is destined for community governance in some sort of foundation. Akri is super young, so we don't exactly know where it will land yet, but it's something that we definitely want to give back to the community.

ADAM GLICK: What foundations would you think of as places where this might sit? I know there are some that are focused around IoT pieces. There is obviously the CNCF focused around the cloud-native pieces. There may also be other ones as well. How do you think about where this fits? Or is that something you're still figuring out?

KATE GOLDENRING: It's definitely something we're still figuring out, in particular, because we've just gotten started. We want to know where people see this as the most powerful. We want to know where people see that this fits in best. But it's still a conversation that we're having, and hopefully one we can help with the community.

ADAM GLICK: What's the feedback that you're getting from, both people that have seen the announcement and engaged, as well as organizations that you're connecting with?

KATE GOLDENRING: It's been really positive. People are excited about this. And it's making us realize that we have fulfilled a need. I think part of it is just that the Kubernetes community is so active. People are so excited about it.

It's built to be open source. A lot of the tools that use it are also open source. And so people are giving that immediate feedback. And then anything that can empower the technology itself gets people excited. So we're hoping that this will just make people use Kubernetes more, in particular, on the edge, because they can utilize those devices so easily.

ADAM GLICK: So what's next for Akri?

KATE GOLDENRING: In particular, we want to keep building it out. Like I said, we currently only support two discovery protocols, ONVIF and udev. We want to support many more.

And we're currently working on OPC UA for industrial settings. But the more protocols we can support, the more devices we can discover. And we hope that people will also contribute some protocols.

And beyond that, we're also working on some new deployment strategies for when we schedule these workloads, how many devices do they interact with, also some other protocols on extensibility models. Because we want it to be easier for people to add protocols to Akri. There is a lot of work to be done. There is a lot of work to be done with the community. We want to hear where people see Akri should go next. It's a really exciting time.

ADAM GLICK: Finally, after creating an open source interface, I've been reading that you're now advocating for the creation of a new protocol called the MOOSE protocol. Can you share with the MOOSE protocol is and what foundation you think it belongs in?

KATE GOLDENRING: Yes, so I think you're referring to a bit of an encounter I had in the woods where I stumbled upon seven moose, and was fully surrounded by them, and realized that I had no information or background on what to do in this setting. So I would like to donate a bit of information to the National Park Service about how to handle moose encounters. Because they really emphasize bear encounters. But I definitely was a little flustered when I saw a bunch of moose in the woods.

ADAM GLICK: Given that you're here today, clearly everything turned out well in that situation, which is great to hear.

KATE GOLDENRING: Yes, I survived.

ADAM GLICK: Thanks for joining us on the show today, Kate. It was great to have you.

KATE GOLDENRING: Thank you, Adam. This has been great.

ADAM GLICK: You can find Kate Goldenring on Twitter @kategoldenring.


CRAIG BOX: Thanks for listening. As always, if you've enjoyed the show, please help us spread the word and tell a friend. If you have time over the holidays, why not catch up on the back catalog? If you have any feedback for us, you can find us on Twitter, @KubernetesPod, or reach us by email at kubernetespodcast@google.com.

ADAM GLICK: You can also check out our website at kubernetespodcast.com, where you can find transcripts and show notes, as well as links to subscribe. Until next year, take care.

CRAIG BOX: See you next time.