Become a Creator today!Start creating today - Share your story with the world!
Start for free
00:00:00
00:00:01
Container and Kubernetes Storage 101 image

Container and Kubernetes Storage 101

S1 E2 ยท Kubernetes Bytes
Avatar
1k Plays3 years ago

In this episode of Kubernetes Bytes, the hosts explore the topic of Container and Kubernetes Storage 101. This podcast focuses on a beginner/101 level view of why containers need storage, how volumes were originally used by docker, how orchestration systems like Kubernetes needed to orchestrate volumes and what basic building blocks are used in Kubernetes to manage persistent storage. This episode is a great way to familiarize listeners with a little bit of container and volume history as well as how persistent storage is used in Kubernetes today.

Show Links:

K8s Storage 101 Resources

Recommended
Transcript

Introduction and Host Greetings

00:00:03
Speaker
You are listening to Kubernetes Bites, a podcast bringing you the latest from the world of cloud native data management. My name is Ryan Walner and I'm joined by Bob and Shaw coming to you from Boston, Massachusetts. We'll be sharing our thoughts on recent cloud native news and talking to industry experts about their experiences and challenges managing the wealth of data in today's cloud native ecosystem.
00:00:26
Speaker
Good morning, a good evening, and good afternoon wherever you are. We're coming to you here from Boston, Massachusetts. And today is August 18th. Hope everyone is doing well and staying safe.

Weekend Activities Recap

00:00:38
Speaker
And let's dive into it. So Bavin, what do we want to do first? We want to dive into what's new in cloud native storage news, right? Why don't you kick it off?
00:00:48
Speaker
I don't know. Do you want to talk about what we did, what we have been up to? I guess. I guess we can do that. I guess. If you think that's so important, no. Yeah, please. I guess, you know, go ahead and we can go into what we've been up to. Perfect. So I was just looking for a chance to brag. Like I went to Acadia National Park this weekend, did some camping, a two-nighter thing, and then saw like
00:01:13
Speaker
planned a couple of hikes. Unfortunately, one of them were closed because of falcon nesting season, apparently. So I had to switch things in real time and then choose a different hike. That ended up being a fun hike too. But yeah, that was my weekend, like camping in Acadia and then doing a few hikes and then just hanging out at the only beach they have there.
00:01:31
Speaker
Nice. Falcon nesting season. I mean, everybody knows about that, Bob. You really should have known coming into that, that you wouldn't be able to use those trails.

CNCF Cloud Native Survey and Red Hat News

00:01:39
Speaker
That sounds great. You beat my weekend. I mean, I celebrated a family member's birthday party and we did some golfing and we saw a lot of family, which in this kind of COVID era, we take for granted and it was great to see everybody. I know. It felt good. It felt good.
00:01:57
Speaker
Okay, now I guess we can jump into what's happening in the Kubernetes ecosystem now that we have handled what's going on with us. Yeah, so one of the things that I wanted to talk about today was just the CNCF cloud native survey is out. If you remember, if you're part of the community, you saw that part one was out during KubeCon Europe. Part two is now open if you fill it out before I think September 10, you might win a few passes to the actual physical event this year, which is in October.
00:02:23
Speaker
Go ahead and follow the link in the show note to find the link to the survey. Yeah, and it's important, you know, because this really helps the whole community kind of understand what CNC projects are being used and how they're using other parts of Kubernetes in terms of what, you know, networking and storage and obviously storage, what we care about. So please go ahead and fill it out if you want to. We'll put it again, like Bob said, in the show notes.
00:02:47
Speaker
Yep, and then like if you look at the last two weeks, one of the major announcements that we saw coming was from Red Hat and how they have partnered with Nutanix to support OpenShift on their native hypervisor called AHV. So if you are a Nutanix customer or an OpenShift customer,
00:03:04
Speaker
The way you used to run things was you deployed OpenShift on virtual machines running on VMware vSphere on Nutanix. But now, because of this new partnership, you can also run it on Nutanix's native hypervisor, which is acropolis-hypervisor.ahv. And you can run your OpenShift clusters on Nutanix and just giving you another way to modernize your infrastructure or modernize your applications in that ecosystem.
00:03:29
Speaker
Yeah, that's true. And OpenShift 4.8 is out, which I think OpenShift Container Storage 4.8 is also out. I think they've matched them up finally in the version numbers now. They come out at the same time, which there's some really great stuff there based on Kubernetes 1.2.1 and OpenShift Container Storage.
00:03:50
Speaker
does a lot of great things and I know there's some great things that are still in tech preview, developer review, around zester recovery and backup. A lot of near and dear topics here that we'll talk about.

Data on Kubernetes and Application Consistency

00:04:03
Speaker
Yeah, Fortnite was a big release like outside storage as well. If you are following the OpenShift release cycle, I was watching the talk on YouTube that they do every release.
00:04:14
Speaker
It was around OpenShift serverless functions is now in tech preview. So again, if you want to adopt serverless on your OpenShift clusters, you can get started with it. A sandbox containers is also available now. So this is where OpenShift will deploy like really lightweight virtual machines for you to run for our workloads or applications that require that higher level of isolation and wants its own set of resources. So OpenShift sandbox containers are available as well. Very cool, very cool.
00:04:44
Speaker
What else? What do we have around the community? Do we have any interesting events happening for the past two weeks? Yeah, so the Data on Kubernetes community, if you're not familiar, we'll also put a link to that community in the show notes, but they do, I think it's weekly or more than weekly. I mean, they have a ton of events and talks going on every week.
00:05:06
Speaker
And Bhava and I try to keep up with them. One of the ones this week that really piqued our interest was around CubeDB, which is really a solution, a project from Apps Code, I believe, that's open source, that really targets the databases as a service on top of Kubernetes. And then really, what I love about this project is that it recognizes that running applications in production takes more than just creating a staple set and making it run on Kubernetes.
00:05:35
Speaker
It takes monitoring and metrics and updates and schema changes and it really takes this to a database focus, something that, again, is we like to look at and sort of, you know,
00:05:50
Speaker
from our perspective on our day jobs. And so I know you actually went to this meetup. I couldn't make it. But what did you get from it? Yeah. So it was a really cool presentation. I think it was by the founder, CEO, who used to work at Google in the early days and now has started to come up with this CubeDB offering. He spent a fair amount of time discussing the challenges associated with running these databases and data services on communities and things that might not be
00:06:19
Speaker
The first thing that comes to your mind when you're thinking about deploying stateful applications, how do you handle those and then how do you deploy a solution that can handle things like monitoring and metrics collection and maybe even backup and disaster recovery and then do it across different data services. It was a really cool presentation.
00:06:39
Speaker
Yeah, I think one thing that we often see is that, you know, organizations run more than one database, right? So having a consistent way to do this across many different databases. I know, I think you mentioned MongoDB and Postgres being one of the Tuesdays showed or first supported. But yeah, definitely, if you're interested in that space, keep an eye on those sort of solutions, you know, keep DB really cool project, we'll put a link to both the meetup, which I think you'll be able to watch recording and just get a greater
00:07:08
Speaker
Introduction to the dok community last one I think I wanted to touch on was there was a great article in the CNCF blog about application consistency and the reason I really liked this one is because it really talked about you know, how how hard managing a Application is on Kubernetes and you know, we say that in a very simple way. It's like it's an application and
00:07:32
Speaker
But in Kubernetes, that means there's config maps, there's secrets, there's pods, there's stable sets, there's persistent volumes. Yeah, this goes on. This goes on. You literally go. It definitely adds some complexity. But in the storage space, we often talk about having a consistent snapshot or a consistent view or backup of
00:07:55
Speaker
an application and so this article does a really great job of kind of understanding all these pieces and then you know which are which are generally ephemeral you can make copies of them as metadata are sort of disparate from the actual data in the persistence volumes and then how do you then take a consistent view of that all that all that metadata
00:08:18
Speaker
and the various volumes, and what if those volumes exist on different back-end storage systems, right? If you have two CSI plugins or something like that. So really cool article I'll link to, I think a really good topic for those interested in listening to this podcast. Perfect. Like one of the things, again, one last thing, part of another community, the cloud native data management community,
00:08:40
Speaker
They have a co-located event at KubeCon this year in the US. So again, if you're using cloud native data management or stateful apps, you can submit for sessions. Your CFP is open. So I will again have a link in the show notes where you can find the CFP.

Persistent Storage in Kubernetes

00:08:57
Speaker
Yeah, and we'll probably dive into the main topic soon, but we have a few other things that I think we'll put in the show notes around CSI proxy on Windows, which is a really cool technology. Istio 111 is GA, and you had a really great article about VCs and Series A funding for... Who was that you were talking about?
00:09:18
Speaker
Nirmata, they got like a $4 million pre-series A funding. So again, VCs are putting a lot of money into Kubernetes startups. So all of us understand the challenges associated with it. And using Kubernetes is like using a watch. As long as it runs fine, nobody cares, and people feel that it's the best thing ever. But then if it breaks, you need an expert to fix it. So that's the point I think the venture capital firms have realized. And now they're putting more money into Kubernetes startups to help enterprises.
00:09:47
Speaker
Yeah, this market certainly isn't going anywhere. So really exciting stuff. Great for us. Great for us. Great for many people out there. All right, so let's dive into this topic, which is Kubernetes Storage 101. I think this topic is going to be really great for a lot of people who are familiar with Kubernetes, familiar with containers, but really try to understand why Kubernetes may need applications, may need storage, and how does it work, right?
00:10:16
Speaker
Yeah. Containers are supposed to be ephemeral in nature. It won't help me if I'm compiling a to-do list every day. And at the end of the day, I'm just throwing away that list. I need to purchase that data. I need to make sure that I maintain my to-do list. Or else, I won't be productive enough. So yeah, we need persistent storage for containers. That's exactly why I want to throw away the to-do list. Yeah, no, it's a great... I mean, that really boils down to the question of why do applications need persistent storage, Babin?
00:10:46
Speaker
So again, containers, we all know ephemeral in nature, but then if you are modernizing your applications, if you're modernizing your infrastructure, you need to bring in all your applications. You can't just have stateless applications running on Kubernetes. You need to think about all of your different applications that need to persist data. So if you are thinking about databases or if you're talking about any other stateful applications, messaging queues,
00:11:09
Speaker
You need a layer of persistent storage that will help you maintain the data across the container lifecycle. So I can have my pod go down or my container die off and Kubernetes will bring the pod back online. But then what about data? You need that layer of persistent to make sure that your application data doesn't go away every time a pod restart happens.
00:11:29
Speaker
Yeah, and this kind of brings up the whole difference between like what is a stateful container and what is a stateless container, right? So I think the way I'd like to talk about this is, you know, stateless is really when you think of nothing is being written to disk. So in many applications, there's, you know, say a path on the server where there's some sort of file or log where
00:11:50
Speaker
Data is kept there, and then even if that process stops or fails, that file system, how old is that data still there? It's a very similar idea in containers where a container can have a file system outside of the layers of a container.
00:12:07
Speaker
We won't get into sort of what makes up a container. We're going to assume a little bit for a time sake that you understand sort of the layers of container, but know that there's a file system in the container that's ephemeral and it goes away with it. Whenever a container starts or stops, all anything you put in there is gone. And then there's a way for containers to ingest sort of a file system from outside the container.
00:12:28
Speaker
that will keep that data and so think of a stateless containers like a web application that's just the front end it just kind of serves request and sends it off somewhere else it can be stopped and started as many times as you want and you're going to lose any valuable information right and this is what makes container.
00:12:49
Speaker
And like, okay, so let's talk about where it all started, right? Like Docker brought containers to the mainstream. How did Docker containers handle persistent storage? Yeah, so Docker in the early days, you know, again, took this sort of DevOps tool, which made a application sort of, you know, Linux agnostic, and you could run it sort of anywhere with a runtime, which was Docker.
00:13:16
Speaker
runtime at the time. And applications generally were stateless at the very beginning. And then there was a need for Docker to allow for volumes or data to exist outside the container. And so that's where the term Docker volumes came from.
00:13:32
Speaker
And really, this was to fill the exact need of the data that someone cared about or the application cared about needed to outlive the actual container. And so the way that this generally worked in the beginning was there was Docker volumes, which were part of the Docker tool chain and Docker
00:13:55
Speaker
Kept them and then there was a way to map in a host path and and that's sort of a host path. Volume is what it was called and really that's taking something like you know var lib whatever or you know mount slash my thing and making it available from the host in the container and this is really the container sharing sort of the
00:14:15
Speaker
the mount namespace with the host. This allows you to use and store data on the host. This got by for a while in the sense that you could put data on the host, which meant you could mount a nice SCSI volume or something to the host and then share that mount path. But there was really no coordination, right? There was no- How do you scale it up? Exactly. How do you automate this process?
00:14:42
Speaker
And that's where Docker introduced Docker plugins. And that was sort of a way for external either vendors or projects to write a plugin that did everything from scanning and attaching and mounting volume on the host and making it available to the container. And that was just a single Docker host, right? Yep.
00:15:06
Speaker
And so that whole problem took a while and people figured out, oh, well now I can run a stateful thing. But then it really came into like orchestrators came out. Yep. And if you remember the early days, we didn't have Kubernetes at the clear winner. We had Nomad, we had Kubernetes, we had Docker Swarm. So there were multiple options. We had Cloud Foundry where people can run containers.
00:15:33
Speaker
So we needed to decide or come up with a way on how we can provide storage for all of our containers running on these different orchestration systems, right? Yeah, and I think the question there is like, how does the plugin architecture play into, you know, the way that an orchestrator like Docker Swarm or Kubernetes works with containers?
00:15:57
Speaker
Yeah, so I still remember like when Kubernetes had all of those entry storage plugins, like we had one for AWS, Google, I think VMware had one, Portworx had one. So everybody had an entry plugin and it was getting really complicated because from a storage vendor's perspective, you had to commit code to the open source upstream Kubernetes code base. You had to make sure that it's very well tested. But you also were at the risk where if
00:16:25
Speaker
some other piece of Kubernetes or some other module fails, it can impact you. And it was really tedious to maintain the whole thing, both for the Kubernetes ecosystem and the storage vendors. Yeah. And like you said, part of that is just how hard it is to maintain it. I worked for a company called ClusterHQ, which had a Flocker project. And really, it was sort of the entry plugins for Docker before Kubernetes really kind of existed and came around.
00:16:52
Speaker
And the biggest problem was we had a lot of vendors provide plugins, and we wrote some. And really, it was a great tool, but then the reality was it's so hard to maintain all that. And then you have a single entity, whether it be Kubernetes or a company like that, trying to maintain and coordinate all these things. So how did we fix this? How did Kubernetes go around administering or allowing us to administer volumes at scale?
00:17:20
Speaker
Yeah, so I don't think we came to the correct answer at once. I think we had something called as a flex volume, which did move things from entry to out of tree. But then it still needed dependencies from executables being available on the host perspective.
00:17:40
Speaker
If I want to run a specific storage provider's plugin, I needed to make sure that I have the binaries installed, not just on the worker nodes, but also on the master nodes in some cases. And if you're using a managed Kubernetes service in the cloud, that's something that you didn't even have access to. So deploying and using flex volume-based storage plugins became really difficult, and that's what led us to CSI.

Container Storage Interface and Storage Management

00:18:04
Speaker
What's CSI, Bhavan?
00:18:05
Speaker
CSI is an open source. It stands for container storage interface. It's that one single standard and protocols that all vendors can comply to and offer a set of feature sets that works with Kubernetes, but then it keeps all the storage providers code outside of Kubernetes. So as long as you comply to the standard, as long as you test it with the version, anybody can like from a user perspective, I can consume any storage
00:18:32
Speaker
But by just switching the CSI plugin that I'm using in my Kubernetes cluster. Yeah. And to be clear, CSI effectively creates the standard around how to attach volumes, how to mount volumes, how to create snapshots, how to move and reattach volumes. And so these
00:18:53
Speaker
Standard set of practices that nearly every single storage vendor data management system that works with communities needs is really a massive undertaking of many many different developers from many different vendors and open source communities coming together and sort of agreeing on the best way for
00:19:11
Speaker
this to occur in the community. The CSI standard does a great job at moving and keeping that community ticking along. But at the same time, it's limited in a way in which we
00:19:27
Speaker
you can't do anything more than what the csi defines if you only adhere to csi and then sometimes that's a struggle and we'll talk about advanced use cases in a bit and that's where it's a gap between csi today not that it won't ever get there and later but i think before we ever get there.
00:19:45
Speaker
Flex volume, CSI, or entry, they all allowed you to use the same core objects in Kubernetes to define and use storage. I think we absolutely need to cover those. Let's talk about storage classes because that's basically a great starting point for storage in Kubernetes.
00:20:05
Speaker
Yeah, storage classes are the construct, like the Kubernetes construct that allow operators and administrators to define how storage will be consumed. So you can have different storage backends. You can create a storage class per that storage backend.
00:20:20
Speaker
and even multiple storage classes. But storage class basically helps you define a few things. They help you define the provisional, which is obviously important. The type of storage, whether you want to offer block storage, so read, write once, or you want to offer file storage, read, write many, that can be defined at the storage class level. You provide additional details around the name, the metadata, if you want to constrict it to a specific cluster, move it around clusters. So all of that functionality is provided by storage classes.
00:20:49
Speaker
Yeah, and it's core, right? It's really an administrative tool, right? Whoever's administering that storage cluster or storage component of that Kubernetes cluster is going to provide storage classes in most cases because it's a cluster-wide sort of resource that defines really generally three things, right? Or even a couple of things you could boil it down to is who's provisioning the storage and what are all the parameters associated with that with this specific storage class? So what am I getting, right? Is what you were kind of talking to.
00:21:18
Speaker
So, you know, then once you have a storage class, so as a user of Kubernetes, right? How do I get storage from that storage class? And that's where persistent claims or persistent volume claims comes into the picture, right? If I'm a developer or if I'm a user, I don't know anything about the storage backend. I just need, say, 10 gigs of storage to get started with my application. I can create that persistent volume claim object in Kubernetes,
00:21:45
Speaker
and map it to a storage class. And if I have dynamic provisioning enabled, the storage class will basically spin up or deploy a persistent volume on the storage packet and then map it to my persistent volume claim. And it's that easy. Like all of this like storage class definition needs to be done once with no manual overhead after on. So like I can ask
00:22:06
Speaker
hundreds of volumes for my applications. If I'm pointing it to the correct storage class, I will have a persistent volume that's being provisioned for me. And there's no manual intervention needed in terms of deploying individual persistent volume and then mapping it to my persistent volume claim in my Kubernetes cluster.
00:22:23
Speaker
Yeah, that's a really good point, right? You know, Bobbin used persistent volume as a term, and then there's persistent volume claim, which can actually be pretty confusing. But at the same token, I think the way I like to think about is, is the claim is, is more of a request by a user that I need this type of storage, you're actually not guaranteed to get it right in the sense that if you put a claim out there, necessarily, there's, you know, that claim has to be bound to an available volume.
00:22:51
Speaker
Today, like Bob had mentioned, dynamic provisioning pretty much makes this possibility a little more or less likely that you won't get a bound volume. But there was a day in Kubernetes where a claim had to pick from an already provisioned pool of PVs, which was persistent volume. So there's just really that association. Think of it. Again, I think of it. PVC is the request, and the PV kind of represents the real thing that holds the data.
00:23:18
Speaker
The beauty of the architecture is, as a developer, I don't care about the PV. I know I have to define a persistent volume claim as part of my application. I have to request for that volume, but then I don't have to worry about how it's being actually provisioned. I just specify if I want to block volume or file volume, the size, if I need additional things, I can just specify it in the claim and then mount that claim as a volume mount to my pod and make it part of my application.
00:23:45
Speaker
Yeah. Like you said, in the application, you just reference essentially that persistent volume claim in your volumes declaration. Something full circle here, I think, which is interesting is that all those things we talked about early in this episode around Docker volumes and host paths and things like that are still available within Kubernetes. That lineage of providing
00:24:11
Speaker
a persistent place to record data is still available. You can configure host paths in Kubernetes, and there's often great usages for that, right? But persistent volume claims for the purposes of sort of where we're focusing is sort of the way to consume and manage stateful pods in Kubernetes.

Advanced Storage Use Cases

00:24:33
Speaker
Yeah, definitely. We all know if history doesn't repeat it, definitely times. So you will see.
00:24:39
Speaker
your similarities to how things used to be and how things are today in Kubernetes as well. Yeah, and Kubernetes introduces all sorts of like something we didn't even put in here in our notes is introduces all sorts of different types of volumes, right? There's volumes where you can create a source from like a GitHub repo, it'll just like pull in that code or something like that into a location in a sort of ephemeral PVC. There's really great use cases around how to use volumes in general.
00:25:09
Speaker
outside of dynamically creating persistent volume claims and volumes from data management systems or CSI plugins.
00:25:19
Speaker
So okay, so this is a great opportunity to dive into what are some of the advanced use cases when it comes to storage now that we have an understanding that, you know, there's a pluggable architecture for containers that made its way into Kubernetes and Kubernetes provides, you know, had provide entry plugins, but now the standard is CSI. So now we have
00:25:41
Speaker
CSI and a plugin that can manage many applications and provide persistent volume claims to them. But what are some of those use cases that maybe CSI doesn't cover yet or that you really need to think about running storage or stable containers in production?
00:25:56
Speaker
Yes, definitely. From an advanced use cases perspective, my mind directly goes to data protection and disaster recovery. You need a way, even if you're deploying apps using containers and using stateful apps, you need a way to protect your applications. You need a way to back it up. You need a way to restore it. If you are actually bringing or running these applications in enterprise environments in your production clusters, you need a disaster recovery strategy.
00:26:22
Speaker
Synchronous a synchronous dr again things just don't go away because you have modernized your application like you needed a dr plan for your virtual machines but not for containers that's not true if you're thinking about a community solution a storage solution that works with communities you need to think about these additional advanced use cases as well.
00:26:39
Speaker
Yeah, it's a great point. It goes back to a little bit of the news article we talked about in terms of application consistency. There's so many pieces to an application in Kubernetes, including the persistent volume and persistent volume claims, which also are just metadata objects in Kubernetes. A persistent volume claim is defined in YAML, but you still have to actually move the data.
00:27:04
Speaker
And so that whole idea of, can I just take my existing backup solution and apply it to Kubernetes? Can I do that? Not really. There are certain things that you need to keep in mind because a traditional backup solution that maybe is talking to your vCenter server or your Netanix Prism central interface is going and getting an inventory of all the virtual machines that you are running on top of your infrastructure.
00:27:32
Speaker
but they don't really talk to the Kubernetes API server. You need a solution that can talk to the Kubernetes API server, identify the namespaces, identify all these metadata objects, the different Kubernetes objects, back up the persistent volumes and volume claims, and actually move the data. So you definitely need to look at a solution that helps you protect your applications that's running on Kubernetes.
00:27:56
Speaker
Yeah, it's a great point. I mean, and there's so many other things to think about in terms of, you know, how you need to snapshot it, which CSI does actually support snapshotting. But there's also, you know, how do you configure classes of service or the right type of performance? Or how do you move volumes in a way that's in a migration and not necessarily just a backup and restore. But I think those are topics for another day in the podcast, I think. Yeah, that's

Recap and Next Episode Teaser

00:28:21
Speaker
too much for intro. That's too much for intro. So I think let's recap
00:28:24
Speaker
what really we talked about when it comes to Kubernetes Storage 101. We started with why do containers need storage? And that's because the application code runs inside the container and is portable across many different environments, which is a beautiful thing about application images and Docker images. But the reality is those applications still produce data and often need that data to outlive the container itself, whether that container is run and restarted on the same host or a different host. That data needs to live.
00:28:54
Speaker
and kind of be managed and have data services around with it. We covered sort of a host path and some other different types of volumes that Docker originally came out with and then that Kubernetes.
00:29:09
Speaker
Yeah, sorry. The types of storage plugins that Kubernetes had, so entry, flex volume, CSI. Definitely we should be aware of how things have evolved, but then if you are starting a green field deployment, definitely choose CSI as that's the solution that will be maintained and features will be added to it. Flex volume will be around for a while, but there's no new development going on in that domain right now.
00:29:37
Speaker
Is it not deprecated yet? No, I was just looking for this podcast episode. Good thing you did, because I would have thought it was. It's close then, I feel like. Yeah, it is. Yeah, so really, it went from a single container to orchestrating many applications. And those many applications need many pieces of storage, which are persistent volume claims and persistent volumes, which is really the core component when it comes to managing data.
00:30:04
Speaker
for your Kubernetes applications, right? Yeah. And advanced use cases, backup, restore, and all those things. Really, the point being that we brought those up is because when you take a Kubernetes stored 101 view of the world,
00:30:19
Speaker
you naturally move in that direction eventually by the time you start using these things. And so how do you provide those services? And they all relate back to how do you really provide those types of services to the objects like PVCs and PVs and the data within them.
00:30:38
Speaker
Perfect. I think that's three key takeaways right there. We're all set to land this ship. Land the ship. All right. I don't know if land the ship works, but yeah, I don't know. Well, anyway, thank you for listening to this episode of Kubernetes Bites. We're available on Twitter now, I believe. Yeah, we have a Twitter handle and everything.
00:31:02
Speaker
So please tweet us on there and rate the podcast on Apple Podcasts or wherever you can rate it. Really take that opportunity to provide us some feedback. It really helps us out. And if you're listening to this, share it with your friends and colleagues at your next virtual happy hour and help us get more and more people involved and help us expand the audience for this podcast.
00:31:26
Speaker
Yeah, and a little plug for the next episode, we're going to be talking about cloud native storage versus traditional storage. Just as a teaser, it's a whole different world of storage vendors and projects out there that claim as cloud native storage versus your traditional sort of storage. And I'll leave it at that and leave the rest for the next episode. Nice. That's a great cliff angle.
00:31:56
Speaker
All right. And with that, take care, everybody. Stay safe. Thank you for listening to the Kubernetes Bites podcast.