Welcome back to vSphere 8 in the real world. Now we're going to look at content libraries.
So a content library is basically a logical component, a logical object that you can create in vSphere
that allows you to store information, store documents. Documents is probably not the right word.
But objects in this content library and then share them amongst a bunch of different systems, make them easy to access.
The types of things you would store in here, you would store templates in here, you would store, you can store virtual apps, templates.
ISOs are a real common thing that you might put in there. And you can put text files. Why would you put a text file in there?
You might have a text file in there where you've documented certain things, certain maybe configurations or something like that.
You know, instructions when you're going to deploy this particular vApp, here's all the steps you need to take.
And so you have the vApp and you have a text file with instructions on how to deploy that virtual app all together, things like that.
So it's a handy little place, right? And it allows you to put all this stuff together. Traditionally, things like ISOs and templates were stored on these regular data stores.
Now, a template is kind of easy to find in that you have a files and templates view where you can go in there, you can see folders, you can see all your virtual machines, and you can see your templates, right?
So that beam and templates view obviously makes it easy to find templates. But if you have a lot, they might get kind of difficult to find.
But you didn't have really a good place to store ISOs. We used to create a data store and then we create a folder called ISOs on a data store.
And we might throw the Windows 2016 ISO in there. And then a few years later, we have the Windows 2024 ISO, and we're like, okay, or I'm sorry, 2022 ISO.
And it's like, okay, where are we going to put this? Oh, here's a data store. Let me create a folder called ISO. Let me throw the ISO image in there.
And now all of a sudden, we've got, you know, 30 data stores and five of them have ISO folders and things are spread out all over those different locations, right?
We didn't put them on our super expensive flash storage because we knew that was expensive. But we've got this data store over here that's got inexpensive storage.
This one over here has got inexpensive storage. And so we kind of spread it out.
A content library is a way that we can kind of have a logical place where I'm going to pull all this together.
I might create a content library, and I might just call it ISOs and only put ISOs in there.
I might have one for a group, and this group is going to need these ISOs and it's going to need these certain templates.
And so I'll say, okay, this is for a DevOps content library, and here's the ISOs they need, and here's the templates they need.
And here's some documents, you know, explaining to them how to deploy this particular template.
And here's instructions on how to, you know, mount this ISO onto a virtual machine because they're not VMware engineers.
They're developers, and so here's some kind of cheat sheets for them for that, things like that.
And I might have another content library I can create that I have just for synchronizing Kubernetes machines, right?
And I could have tools that are going to subscribe to this content library I've created.
And when I put new Kubernetes, you know, templates in there, it pulls from there.
I can deploy a bunch of Kubernetes machines from these templates that I've stored in a content library.
So there's lots of different ways you can use content libraries.
They're a really, actually, super handy little feature.
Honestly, I haven't seen them used as much as you might think they would be used,
but I think it's because one of those things that VMware did, it's pretty cool.
It probably didn't take them a ton of effort to do, you know, developer-wise and things like that.
And so they haven't really touted it as much.
You don't hear them really bragging about this huge, amazing new feature.
And so a lot of people don't even realize it's there, or they know it's there,
but they don't really know what it does, how easy it is to use, that kind of thing.
But they actually are, they're pretty helpful.
They're useful.
And they're very, very easy, very fast to create.
So we can store a lot of different things in them.
We can also now store templates.
Before, we only stored OVFs in there, some things like that.
But now we can store templates in there, which makes them a lot more useful for, you know,
for sharing information, sharing, you know, resources amongst different groups and things like that.
So it's a pretty cool resource.
So to create a content library, it's real simple.
So up in our little, you know, in our menu, we have the little Big Mac, the three lines.
Click on that, and we're going to go to our content libraries.
And then we'll see whatever content libraries have been created already, if any.
And we just got to go in and say, do we want to create a content library?
It's going to ask us to go in.
We're going to start with a brand, give it a name.
We might put a description there, some things like that.
Some information about it.
Is it a subscriber or a publisher?
You know, some information like that.
What data store do we want to store it on?
And then we're going to say next.
It's pretty simple to create one.
When we do our demo, we'll walk through creating one.
You'll see it's actually very, very simple to create.
So we have different types.
We have a local content library or a subscribed.
So on the local, we can enable and say, okay, this is what we want to be a publishing content library.
And that means it's a local and it's a publishing content library.
We can then also say we want to require authentication.
We can enable that you have to authenticate into it.
The other kind of content library we can create is what's called a subscribed content library.
And a subscribed content library is going to point to the local publishing content library.
Right?
So we'll have the URL for that local publishing content library.
And then the subscribed content library just pulls information from there.
So we can create subscribed content libraries for groups where they just need to get access to things.
So maybe we have, again, a group of developers.
And we want them all to use the same templates.
We want them to use all the same OVAs.
We want them all to use the same Kubernetes templates that we've created for them.
We don't want them to create their own.
We don't want them to be able to change them and push them back into there.
Maybe they can make changes once they've pulled it down locally.
But we don't want them to change what's in our master content library there.
So it's a read-only kind of thing.
They only pull from it, and that's it.
You could tell it that you want it to synchronize.
As soon as a file lands, it's new.
The subscribed is going to pull that.
Or you can say basically it's a link to the local.
And when you click on it for the first time, then it pulls it over.
It only pulls over what it needs when it needs it, like on demand.
Right?
Or you can say you want it to always be pulling over, you know, in real time all the time.
So there's the local content library, which is the publishing.
And then there's the subscribed, which is subscribed and subscribes to the published.
And that is just synchronizing, getting the information that's put into the publishing.
So I have this group of people who are able to put stuff in the publishing.
And then I have another group that are able to read that subscribe.
And the subscribe can read the publishing and get that information.
And we can, therefore, you know, distribute it out over a pretty broad area pretty quickly.
And people have, like, a closer, more local version of that.
So for a subscribing content library, we need the URL of a published content library.
Publish is also, you know, the local content library.
You can enable authentication.
That's optional.
You probably want to enable authentication.
And then you can select your download method.
Are you going to download immediately as soon as the copy is, you know, made,
sitting there, copied over, or only when needed?
So once it's been published, we say, oh, here's a change.
I'm going to publish it if that's available.
But it's really like a link to it.
And then when you click on it for the first time, now I synchronize it.
And now you actually got a copy of it locally.
So if there is 100 files in there, I might have 100, you know, metadata links to it.
And then when I click on one for the first time to get it, then it copies over that one.
And if I click on another one, now I have those two.
That kind of thing.
You get the idea.
And then, of course, it does, when you go to create it,
you will say you want to accept the SSL certificate thumbprint.
Basically, if you don't have signed certificates,
it will be an untrusted certificate.
You say you want to accept this, you accept it.
That is the thumbprint of the SSL certificate for the host that I'm expecting that to
come from, and I can trust that.
So one thing you also need to choose is the data store you're going to put these
content libraries on.
They have to be stored someplace, right?
If you're creating a new content library, you're going to choose a data store
for this content library to store the information on.
So, again, you're going through your whole process.
You're creating a new content library.
It says what storage we want to use, and you'll choose the data store for that.
So here we are back in our demo environment.
And, again, we're in VMware's hands-on lab environment.
So it's hol.vmware.com.
So it's our hands-on lab.vmware.com.
So what we do to create a content library, we click on the little hamburger
up here in the corner, and we go to content libraries.
And we have, by default, already a content library here.
I'm going to say create.
I'm going to give this a name.
And so the name, I'll just call it demo lib.
You can get a description if you want to.
You can specify what vCenter you want this to be associated with.
What kind of content library are we going to create?
Are we going to create a local content library or a subscribed content library?
If I'm going to do a subscribed content library, then I need to already have
a local content library that has enabled publishing.
And as we discussed during the lecture, once we enable publishing,
then subscribed content libraries can go and pull from them.
It won't push back.
All we can do with this content library is pull updates from whichever content
library we are subscribed to.
And so I am able to control what gets pushed out to these different
subscribed libraries.
So a common thing we might use this for is a developer that is pushing up,
say, for example, Kubernetes templates can go in and publish
those Kubernetes to this content library.
And all the different ones that are spread around that are subscribed to it
will pull from this.
We can have scripts that will go in and deploy them out for us and things like that.
So we'll do a local content library and say next.
We're not going to do any kind of policy there for security right now.
We're going to choose just our regular iSCSI storage,
say next, and now we're going to complete.
And I just created my content library.
The demo one doesn't have anything in there, right?
But if we go and look at our other content library that VMware
gave us by default in here, we can see
if we have any OVF templates, if there's any VM templates.
Here we do have some other type.
So what we have is we have this ISO, right?
We have this ISO to deploy a Photon OS,
you know, a minimal OS from VMware to a virtual machine.
Another thing we can publish into our content libraries
as it shows here is VM templates.
So I can go back to my inventory and I have my demo
machine here. I'm just going to go ahead and right click on this.
I'm going to clone this virtual machine to a template
to a library.
I want to give it a name. I'm going to specify where I want it to go to.
All right, this is the region I want it to go to.
Location, so I want to go to my demo library here
and what compute resource
are we going to use for completing this action?
What database, yeah, datastore.
And then we're going to say finish. And we see it pop up there for a second.
Now it's gone, right? Clone virtual machine has been
completed. And if I go back to my content library
and the demo one I just created, it now has a template
in there, right? So there's my demo one template I just
created. So as you can see, it's actually really
easy to create a content library and it's actually very easy to also
add content to your content library. That's how you create a content
library. Actually, it's pretty simple, right? Very flexible as you
can see. A lot of benefit to using this
and sending out information to a lot of different people. Different groups
have different needs. They can subscribe to different things. But you can
keep things synchronized and in a central logical place. That's a content library.