In this video, we're going to create a virtual service and associate that with
a virtual IP address.
And I recommend that we start right down here on the 192.168.1 segment because
that's where my
management computer is. It'll be super easy for me to hit that virtual IP
address and test it.
So for the virtual IP address, we'll place it over here on the 192.168.1
network.
And for the virtual service, let's create a virtual service that's going to
represent
these three backend servers that are over here on VLAN 5. So to create the new WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
these three backend servers that are over here on VLAN 5. So to create the new
virtual service
here on the controller interface, we're going to click on the applications tab.
And then here at
the dashboard, we have an option for create virtual service or if we happen to
be looking at virtual
services here, there's also a button at the top right for creating a new
virtual service. So we'll
click here on create virtual service. And from the dropdown, we have a couple
options. We have
basic or advanced and either way, we'll get the job done. Let's go ahead and we
did basic in the
last set of videos. Let's go ahead and use advanced setup. So the first
question is asking us which WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
question is asking us which
cloud and let me go ahead and move this over to the left for a moment here. So
the cloud we want is
the NSX cloud four and then we'll click on next. For the virtual service, let's
call this web
servers 192-5. They don't remind me when I see that service exactly what it's
doing. So we're
going to place this over here on the 192-168-1 network and I'll use .5 as the
virtual IP address.
So for the virtual IP address, we'll use the dropdown and we don't have one
created. So we'll go ahead WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
created. So we'll go ahead
and create a virtual service virtual IP address. And let me move this over to
the right a little bit
there that way we can still see the topology. So here for the virtual IPs, we
'll click on add
and let's go ahead and say static and put in the IP address that we want to use
, which is 192.168.1.5,
just like that. And then here it's asking for the placement, meaning where do
you want to have this
virtual IP address. Now we went over here on this network, the 192.168-1
network. So if we click on
add right here and then use the dropdown, we want to place it right here. Now WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
add right here and then use the dropdown, we want to place it right here. Now
also because we took
the earlier step of identifying the subnet associated with that external
network, that's why it's showing
up right here. So from here we can use the dropdowns like that subnet and we
are good to go. So again,
this is for the placement of the virtual IP address over on this network
segment. And then we'll click
on save, scroll down a little bit, just confirm our work. Fantastic. Click on
save again,
scroll down a little bit, just confirm once again and click on save. So that
was all about setting up
that virtual services IP address that's now associated with this virtual WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
that virtual services IP address that's now associated with this virtual
service. So for the
profiles, these are the two default and for HTTP services, they'll be great.
But also just be
aware, there's tons of other options here, including web application firewall
and bot detection policy
and more. And because the service engine, who is actually doing the proxying
and is in the middle of
that traffic flow between the client and the backend server, it's also a
perfect opportunity to do
additional analysis and control of that traffic with things like a web
application firewall and so
forth. So we'll continue by scrolling down, we want to use port 80, that's WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
forth. So we'll continue by scrolling down, we want to use port 80, that's
perfect for HTTP services.
And then for the pool, this is asking us for a pool of servers on the backend.
So we don't yet
have a pool of servers defined. So we'll go ahead and use the drop down here
and say, let's create a
pool. So for the name of this pool, I'm going to call it web servers VLAN five.
That way, when I see
that name of that pool, I'll know it's representing these servers right here.
And then as we continue
to scroll down, let me also while I'm here, let's go ahead and modify the load
balance algorithm.
So what I'd like to do for the demo is I'd like to use ground robin. And that WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So what I'd like to do for the demo is I'd like to use ground robin. And that
way, when we start
testing connectivity to the virtual IP address, the service engine who's doing
the actual data
plane function should be rotating across those three servers at 51 52 and 53 in
the background.
I also have modified the homepage for each of these web servers just for our
own benefits. We can
see exactly which real server we're going to. So if we scroll down here, it's
asking about
placement of the server network regarding the pool that we're now creating. So
these servers
are all over here on VLAN five. So we want to tell the load balancer exactly WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
are all over here on VLAN five. So we want to tell the load balancer exactly
where they are.
So we'll click on add and for the server placement, we're going to go ahead and
select VLAN five.
And then we'll also select the subnet that they're on. And again, that's coming
up because we can
figure that as an attribute of that network. So with that selected, then we'll
scroll down.
And then for these three servers, they're 51 52 and 53. So we'll go ahead and
put that information
in 10.5.0.51 through 10.5.0.53. And we'll click on add and that added those WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
in 10.5.0.51 through 10.5.0.53. And we'll click on add and that added those
three servers.
Fantastic. And then there's a ton of other options that we can specify as well.
Oh, and you know what,
there isn't a health monitor by default for this new pool that we're creating.
So the health monitor
is the mechanism for checking on the status of those servers to make sure they
're up and responsive.
So for this pool where these three servers are, let's go ahead and add a health
monitor.
So we'll click on add. And in the previous skill, when we selected basic, it
actually put in
a default health monitor for us. So from the health monitor choices here, let's WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
a default health monitor for us. So from the health monitor choices here, let's
go ahead and choose.
We could do ping, but that's kind of dangerous because let's say we have one of
these servers,
let's say dot 53 is running its web service. And then unfortunately, that
application on that
server crashes. So the server is reachable with a ping, but unfortunately, can
't serve up HTTP
content. That's not very good. Because then the customer who connects and is
proxy back to
dot 53 is going to have an error. So what we want to do is use a technique WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
dot 53 is going to have an error. So what we want to do is use a technique
where we can actually
verify that the service is actually running when possible. So if we do system
HTTP, it's actually
verifying whether or not that HTTP service is actually running. For example,
here is a very
rudimentary way of demonstrating how we could check to see whether or not a
service is running.
So here at a command prompt, so I'm at my management computer and I've got a
route with the T1 right
as my next hop to get to 10 anything. So if I use this command curl, which is WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
as my next hop to get to 10 anything. So if I use this command curl, which is
an acronym for
a command line URL dash I, and then I put in the URL we're trying to reach,
this is the third server
right there. And then I pressed enter that confirms that HTTP services are
running.
Because if I went to an address that didn't exist, like for example, 55, which
isn't a server running
HTTP impressed enter, it's just going to time out. So that test that we just
did is very similar
to what the health monitor is going to do. And it checks on the back end to
verify that each of
those servers in the pool is up and active and ready to serve up content. All WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
those servers in the pool is up and active and ready to serve up content. All
right, so with that
in place, I'm going to go ahead and take all the other defaults and click on
save. So as we continue
configuring and then click on next to next next, it's going to walk us through
first of all the
settings here, and then step two would be policies and then analytics. And then
if I move this to
Paul's yellow way a little bit, then advanced. So here for this web service on
the analytics tab,
I'm going to go ahead and say list log all headers, including non significant
logs. And I'm going to
say please do that forever. So put a zero there, it's not going to time out. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
say please do that forever. So put a zero there, it's not going to time out.
That means infinite.
So for the lab, that's going to be great because it's going to give us more
details that we can
look at in a production environment. We may not want to have the non
significant logs enabled,
because on a very busy load balancer, that could be thousands and thousands of
transactions.
So for the lab, I'm going to enable both of them as an attribute of our virtual
service and click
on next. And this is on the advanced section here for the configuration. I'm
going to leave
everything at their default, click on save, and boom, it's now showing us the WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
everything at their default, click on save, and boom, it's now showing us the
details for that virtual
service. So if we hover here on the actual name of the virtual service, it's
showing us that it's
in the process of creating it. It's about 10 seconds in. Here's the service
port. Currently,
there is no service engine assigned to it. And that's because at this very
moment, the controller
is actually deploying the services engine over here on VLAN six. And we can
verify that by going
over to vCenter to the vSphere client and take a look. So back at the vSphere
client, let's go
ahead and go to our inventory. And sure enough, there's our little SE being WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
ahead and go to our inventory. And sure enough, there's our little SE being
deployed right now.
And if we look at recent tasks, and I'm going to say, please just show us
running tasks,
it's in the process right now of deploying from the content library, the
service engines. And I
say service engines, because it is deploying two of them, one ending in XRI and
one ending in YPN.
Now here's also what we could expect once it's done deploying the services
engine. There's going
to be one of those services engine that's responsible for that VIP over here. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
to be one of those services engine that's responsible for that VIP over here.
So the service engine
currently has a connection here to VLAN six. That's its management connection.
But when it's done
with the config, it'll also have a logical interface connected over here to
this segment,
the 192.161 network. It'll also have another interface connected over here to V
LAN five,
because it is actually doing the data plane work between the two. So while that
's being deployed,
let's also just take a quick peek at the controller to see what that looks like
from the controller
interface. So back at the controller, if we went to dashboard currently shows WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
interface. So back at the controller, if we went to dashboard currently shows
the web servers
192 dash five, that's the name of the virtual service we hover here. If we
hover right here,
showing us that it's currently in the process of getting all that up and
running, including the
creation of that service engine in vSphere, that's going to be doing the actual
data plane work
of proxying between clients as they connect to this IP address over here at dot
five.
And one of the available servers on the back end. So again, that may take just
a moment or two to
complete and here in the virtual services view, if you're looking at that
virtual service once
again, we can hover right here. And that provides this information as well, WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
again, we can hover right here. And that provides this information as well,
including the fact that
that's currently being created. So once it's in place, and there's an assigned
service engine,
it should show up right over here as well. So here's what I propose we do. Let
's give this a few
minutes to complete. And when it does, in the next video, let's do some testing
and verification to
make sure that when a client connects to that virtual IP address over here at
dot five,
that they're connecting on the back end to one of these servers over here. So I
'll see you in the
next video as we do our testing together. WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
next video as we do our testing together.