WEBVTT

1
00:00.000 --> 00:08.000
So now it's time to deploy the catalyst 8000V into Google Cloud.

2
00:08.000 --> 00:12.000
And honestly, this is going to be one of our trickier deployments.

3
00:12.000 --> 00:19.000
First, we have to handle the SSH keys ourselves for this deployment.

4
00:19.000 --> 00:23.830
So we're going to have to start off by generating an SSH public and private key

5
00:23.830 --> 00:29.000
so we can deploy part of it with the router and of course keep the other part

6
00:29.000 --> 00:29.000
for the authentication.

7
00:29.000 --> 00:32.000
So that's the first thing we're going to have to do.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

7
00:29.000 --> 00:32.000
So that's the first thing we're going to have to do.

8
00:32.000 --> 00:36.120
The second thing that makes it a little tricky is dealing with the network

9
00:36.120 --> 00:37.000
interfaces.

10
00:37.000 --> 00:42.190
The deployment script is actually quite picky with exactly how we do our

11
00:42.190 --> 00:44.000
network interfaces.

12
00:44.000 --> 00:48.000
So we want to be very, very careful or else it'll simply fail the deployment.

13
00:48.000 --> 00:51.390
Of course, we can always do it again, but we want to try and get it right the

14
00:51.390 --> 00:52.000
first time.

15
00:52.000 --> 00:57.000
Now the good news, we already have our VPCs set up the way we need them.

16
00:57.000 --> 01:01.880
So hopefully we won't have any issues as we jump in and deploy the catalyst
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

16
00:57.000 --> 01:01.880
So hopefully we won't have any issues as we jump in and deploy the catalyst

17
01:01.880 --> 01:07.000
8000V into Google Cloud.

18
01:07.000 --> 01:12.670
So as we mentioned during the introduction, our first step here is going to be

19
01:12.670 --> 01:15.000
to generate an SSH key pair.

20
01:15.000 --> 01:19.530
Now I'm going to use PowerShell for this, but you should be able to use any CLI

21
01:19.530 --> 01:22.000
tool on your Windows desktop.

22
01:22.000 --> 01:27.330
This command may be different, of course, if you're using Linux or Mac OS, but

23
01:27.330 --> 01:35.200
here on Windows, what we're going to do is SSH dash key Jen minus T to tell it
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

23
01:27.330 --> 01:35.200
here on Windows, what we're going to do is SSH dash key Jen minus T to tell it

24
01:35.200 --> 01:37.000
to generate an RSA key.

25
01:37.000 --> 01:42.640
Minus F to give it the file and I'm simply telling it to put it here in my home

26
01:42.640 --> 01:45.000
folder and call it GCP dash key.

27
01:45.000 --> 01:49.000
And then we're going to provide the username of admin.

28
01:49.000 --> 01:51.000
So we'll go ahead and hit enter.

29
01:51.000 --> 01:54.000
It's going to ask us if we want to do a passphrase.

30
01:54.000 --> 01:55.000
We don't need to do that.

31
01:55.000 --> 01:59.000
We'll just hit enter and it'll generate the key.

32
01:59.000 --> 02:04.370
The next thing we have to do is actually look at that key, but specifically we
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

32
01:59.000 --> 02:04.370
The next thing we have to do is actually look at that key, but specifically we

33
02:04.370 --> 02:06.000
want to look at the public key.

34
02:06.000 --> 02:10.000
And then we want to capture all of this text and keep it handy.

35
02:10.000 --> 02:16.120
So grab everything from SSH through admin and copy this into your clipboard or

36
02:16.120 --> 02:18.000
notepad or something like that.

37
02:18.000 --> 02:21.000
But keep this handy. We're going to need it.

38
02:21.000 --> 02:26.000
Now that we have this created, let's jump back into the Google cloud console.

39
02:26.000 --> 02:31.000
So starting here at the console, we want to go to the marketplace.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

39
02:26.000 --> 02:31.000
So starting here at the console, we want to go to the marketplace.

40
02:31.000 --> 02:35.530
Now I have that already pinned here under my menu, so I can go right here and

41
02:35.530 --> 02:37.000
go to marketplace.

42
02:37.000 --> 02:41.410
If you don't have this pinned, you can always search for it in the search bar

43
02:41.410 --> 02:44.000
up at the top and get to the marketplace.

44
02:44.000 --> 02:49.000
On the marketplace, we want to search for the C8000V.

45
02:49.000 --> 02:54.000
And if you've worked with the catalyst 8000V on the other cloud providers,

46
02:54.000 --> 02:57.580
one thing you may notice here is that there's actually only one deployment

47
02:57.580 --> 02:59.000
model here on Google cloud.

48
02:59.000 --> 03:02.000
And that is the bring your own license.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

48
02:59.000 --> 03:02.000
And that is the bring your own license.

49
03:02.000 --> 03:07.100
Google does not have a billing agreement with Cisco for doing a pay as you go

50
03:07.100 --> 03:08.000
license.

51
03:08.000 --> 03:11.270
So that doesn't matter as far as we're concerned because we've been using the

52
03:11.270 --> 03:13.000
bring your own license anyway.

53
03:13.000 --> 03:16.000
But that's what we have for our choice.

54
03:16.000 --> 03:18.000
So let's go ahead and click on that.

55
03:18.000 --> 03:22.000
Here, of course, is going to give us some information about this model,

56
03:22.000 --> 03:26.000
but we don't really need to read this right now. We'll just hit launch.

57
03:26.000 --> 03:30.000
Now be aware of two things before this window comes up.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

58
03:30.000 --> 03:35.130
And I did not get this in this example because I've already deployed these

59
03:35.130 --> 03:36.000
before.

60
03:36.000 --> 03:41.700
However, if this is your first time deploying one, two things may happen before

61
03:41.700 --> 03:43.000
this screen comes up.

62
03:43.000 --> 03:46.000
First, you have to agree to the terms of service.

63
03:46.000 --> 03:52.000
And second, you may have to enable some of the Google cloud APIs.

64
03:52.000 --> 03:55.000
It'll have a nice little window telling you which APIs it needs.

65
03:55.000 --> 03:57.000
And you can just click enable.

66
03:57.000 --> 04:01.000
So it's not a big deal, but just be aware that you may have to do that.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

66
03:57.000 --> 04:01.000
So it's not a big deal, but just be aware that you may have to do that.

67
04:01.000 --> 04:04.000
In this case, we can just go ahead and start configuring.

68
04:04.000 --> 04:08.860
So the first thing we want to do is give this deployment a name and the

69
04:08.860 --> 04:10.000
instance a name.

70
04:10.000 --> 04:12.000
These don't actually have to be different.

71
04:12.000 --> 04:19.000
So I'm going to call this GCP R1 and GCP R1.

72
04:19.000 --> 04:22.000
They can have the same name. That's fine.

73
04:22.000 --> 04:28.000
Now here is where we need that information that we generated with our SSH key.

74
04:28.000 --> 04:30.000
Remember, we specified a username.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

75
04:30.000 --> 04:35.000
Whatever username you specified in your SSH key, you need to specify here.

76
04:35.000 --> 04:37.000
We did admin.

77
04:37.000 --> 04:43.220
Then we need to paste in all the information that we copied in that previous

78
04:43.220 --> 04:44.000
step.

79
04:44.000 --> 04:48.000
Once you have that pasted in, you're going to want to set your zone.

80
04:48.000 --> 04:53.000
Now this is going to have to be the same zone where you created your VPCs.

81
04:53.000 --> 04:57.000
So in my case, that's going to be us one East.

82
04:57.000 --> 05:01.290
If we scroll down a bit here to the machine type, we can see here that it's
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

82
04:57.000 --> 05:01.290
If we scroll down a bit here to the machine type, we can see here that it's

83
05:01.290 --> 05:04.000
defaulting to the N1 standard for now.

84
05:04.000 --> 05:11.000
This is a four CPU two core 15 gig of memory VM.

85
05:11.000 --> 05:15.070
Now, if you click on the drop down here, you can actually go a little smaller

86
05:15.070 --> 05:18.000
or you can go bigger, depending on how much throughput you're expecting.

87
05:18.000 --> 05:23.000
I'm going to go ahead and leave it at the default of four VCP use.

88
05:23.000 --> 05:26.000
The image version here, we want to be careful.

89
05:26.000 --> 05:30.000
1714 is a newer version of code.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

90
05:30.000 --> 05:32.000
It came out recently.

91
05:32.000 --> 05:36.000
And I have not updated my controllers to the dot 14 version of code.

92
05:36.000 --> 05:41.000
So in my case, I need to choose the 17 dot 13.

93
05:41.000 --> 05:46.000
If we scroll down, we'll see the next thing is the boot disk.

94
05:46.000 --> 05:49.000
These parameters are going to be perfectly fine.

95
05:49.000 --> 05:52.000
But then we get to the network interfaces.

96
05:52.000 --> 05:54.000
And this is where we have to start to be careful.

97
05:54.000 --> 05:59.000
First thing we want to do is click on this drop down right here.

98
05:59.000 --> 06:03.000
We want to change this network to be the outside network.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

98
05:59.000 --> 06:03.000
We want to change this network to be the outside network.

99
06:03.000 --> 06:08.080
This is SD WAN edge because this is the interface that's going to become gig

100
06:08.080 --> 06:09.000
abit one.

101
06:09.000 --> 06:13.000
Notice it automatically updated my subnet for me.

102
06:13.000 --> 06:17.000
So SD WAN edge subnet one is good.

103
06:17.000 --> 06:19.000
We can say done.

104
06:19.000 --> 06:21.000
And this is where we need to be careful.

105
06:21.000 --> 06:26.000
Down here at the bottom under show additional network interface options.

106
06:26.000 --> 06:31.040
We need to tell it how many additional network interfaces that we're going to
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

106
06:26.000 --> 06:31.040
We need to tell it how many additional network interfaces that we're going to

107
06:31.040 --> 06:32.000
install.

108
06:32.000 --> 06:36.000
Now in this case, I'm going to install one additional.

109
06:36.000 --> 06:38.000
So I'm going to say one.

110
06:38.000 --> 06:44.670
Then you scroll down here a bit and we see that it's already added all of these

111
06:44.670 --> 06:46.000
other network interfaces.

112
06:46.000 --> 06:53.500
So what we need to do is delete all of the network interfaces other than the

113
06:53.500 --> 06:58.000
one additional that we're adding, which is going to become gigabit two.

114
06:58.000 --> 07:02.000
If you don't delete those, you'll get errors during the script deployment.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

114
06:58.000 --> 07:02.000
If you don't delete those, you'll get errors during the script deployment.

115
07:02.000 --> 07:06.820
And if you don't set the number of additional network interfaces, even if that

116
07:06.820 --> 07:12.000
number is zero, you still need to set it or you'll get an error.

117
07:12.000 --> 07:17.230
Now in this case, if we click on the client net 10 here, we can see that this

118
07:17.230 --> 07:21.000
is going to put it on client net 10 on subnet 10.

119
07:21.000 --> 07:24.000
So this is going to be fine.

120
07:24.000 --> 07:26.000
So we'll say done.

121
07:26.000 --> 07:29.000
And then at the bottom, we'll say deployed.

122
07:29.000 --> 07:33.000
So here we get a message saying that it has been properly deployed.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

122
07:29.000 --> 07:33.000
So here we get a message saying that it has been properly deployed.

123
07:33.000 --> 07:36.000
We also see that we've got an external address.

124
07:36.000 --> 07:41.050
You might have noticed under the interfaces, we could select the network and

125
07:41.050 --> 07:46.910
the subnet, but we couldn't choose whether we wanted a dynamic or a static

126
07:46.910 --> 07:48.000
address.

127
07:48.000 --> 07:52.820
Now I think that's just a limitation in the deployment script for the catalyst

128
07:52.820 --> 07:54.000
8000 V.

129
07:54.000 --> 08:04.590
However, that's how it currently gets deployed. And unfortunately, Google cloud
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

129
07:54.000 --> 08:04.590
However, that's how it currently gets deployed. And unfortunately, Google cloud

130
08:04.590 --> 08:06.000
doesn't let you change the address on the devices after they're deployed.

131
08:06.000 --> 08:10.770
We can't even reserve an internal address, which Google cloud does allow,

132
08:10.770 --> 08:15.000
because there's nowhere to choose that during the deployment.

133
08:15.000 --> 08:20.120
So in the case of Google cloud, at least from every method that I could find,

134
08:20.120 --> 08:25.530
there's no way to set these addresses. So in this case, we're just going to go

135
08:25.530 --> 08:29.000
with the addresses that Google cloud has chosen.

136
08:29.000 --> 08:34.000
We can see those by simply going over to our VM instances.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

136
08:29.000 --> 08:34.000
We can see those by simply going over to our VM instances.

137
08:34.000 --> 08:40.000
So if we look here at the VM instances specifically at GCP one R one detail,

138
08:40.000 --> 08:43.000
and we scroll down and look at the network cards.

139
08:43.000 --> 08:48.720
We can actually see the internal IP addresses that's been given to each network

140
08:48.720 --> 08:53.000
card, and it's been given a dot two on each of our subnets.

141
08:53.000 --> 08:59.000
Also, if we click on one of the network cards, something else to note is IP

142
08:59.000 --> 09:04.000
forwarding is enabled by default on these network cards.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

142
08:59.000 --> 09:04.000
forwarding is enabled by default on these network cards.

143
09:04.000 --> 09:09.000
So as far as this functioning as a router, this should already be ready to go.

144
09:09.000 --> 09:14.640
So all of this said, let's go ahead and move on by connecting to our router

145
09:14.640 --> 09:16.000
through SSH.

146
09:16.000 --> 09:22.070
So here we're connected into the CLI on GCP R one. The first thing we want to

147
09:22.070 --> 09:28.000
do, of course, is paste in our certificate using tickle script or TCL show.

148
09:28.000 --> 09:33.310
Remember, the reason we have to do this first is the next thing we have to do
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

148
09:28.000 --> 09:33.310
Remember, the reason we have to do this first is the next thing we have to do

149
09:33.310 --> 09:38.860
is put this into controller mode. And once we do that TCL shell is no longer

150
09:38.860 --> 09:40.000
available.

151
09:40.000 --> 09:43.960
Now, there could be other ways to get the certificate onto the router, of

152
09:43.960 --> 09:48.090
course, but this is just by far the easiest way to do it. We can just paste it

153
09:48.090 --> 09:50.000
right in through the console.

154
09:50.000 --> 09:54.620
Now the next thing, as I said, we're going to do controller mode enable, take

155
09:54.620 --> 09:59.000
our two defaults, where it's going to wipe out the current configuration.

156
09:59.000 --> 10:03.000
So again, there's no point in having put any other configuration on here yet.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

156
09:59.000 --> 10:03.000
So again, there's no point in having put any other configuration on here yet.

157
10:03.000 --> 10:07.430
Remember, the certificate we just put in is going to be on the file system, not

158
10:07.430 --> 10:09.000
in the configuration.

159
10:09.000 --> 10:13.950
It's also telling us that we're not going to have a bootstrap, but that's okay,

160
10:13.950 --> 10:18.630
because Google Cloud is going to put the basic bootstrap on here so we can get

161
10:18.630 --> 10:21.000
back into the device through SSH.

162
10:21.000 --> 10:24.000
So we'll just go ahead and hit enter and let this reboot.

163
10:24.000 --> 10:33.260
So now the GCP R1 is back online. We can prove that it's in controller mode by
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

163
10:24.000 --> 10:33.260
So now the GCP R1 is back online. We can prove that it's in controller mode by

164
10:33.260 --> 10:34.000
trying to go into configure terminal. It's going to tell us we can't do that,

165
10:34.000 --> 10:36.000
because we're in controller mode.

166
10:36.000 --> 10:39.000
We have to use config transaction.

167
10:39.000 --> 10:42.000
So let's go into config transaction.

168
10:42.000 --> 10:48.100
Notice, by the way, there is a delay here when we go into config transaction.

169
10:48.100 --> 10:52.460
You need to be careful about this. If you're in the habit of copying and past

170
10:52.460 --> 10:55.000
ing configuration into your devices.

171
10:55.000 --> 11:00.160
You can still do it, but you don't want to have the config transaction as part
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

171
10:55.000 --> 11:00.160
You can still do it, but you don't want to have the config transaction as part

172
11:00.160 --> 11:05.090
of what you're copying and pasting, because that delay right there will

173
11:05.090 --> 11:08.000
interfere with the paste operation.

174
11:08.000 --> 11:13.390
So now that we're in config transaction mode, we'll go ahead and put in our

175
11:13.390 --> 11:16.000
base configuration for SD WAN.

176
11:16.000 --> 11:21.500
That includes our system IP, our site ID, our organization name, and the

177
11:21.500 --> 11:25.000
outside public address of the VBON server.

178
11:25.000 --> 11:30.060
Now, as soon as we do this, we do get some errors and some messages that make
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

178
11:25.000 --> 11:30.060
Now, as soon as we do this, we do get some errors and some messages that make

179
11:30.060 --> 11:33.000
it difficult to see what we just put in.

180
11:33.000 --> 11:38.450
Because of that, I have the script that we're using in the code box directly

181
11:38.450 --> 11:40.000
below this video.

182
11:40.000 --> 11:45.130
We'll go ahead and exit out of our configuration mode. The next thing we have

183
11:45.130 --> 11:47.000
to do is install our certificate.

184
11:47.000 --> 11:52.000
Once the certificate's installed, we'll go back into config transaction.

185
11:52.000 --> 11:57.550
And we can paste in the SD WAN configuration now for our Gigabit 1 interface

186
11:57.550 --> 12:00.000
and our Tunnel 1 interface.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

187
12:00.000 --> 12:06.300
Our final step here on the command line is to add this to SD WAN manager with

188
12:06.300 --> 12:09.000
our chassis serial number and our token.

189
12:09.000 --> 12:12.000
So once we put this in, we'll just hit enter.

190
12:12.000 --> 12:16.630
And now we can jump over to SD WAN manager and make sure that this has been

191
12:16.630 --> 12:18.000
added properly.

192
12:18.000 --> 12:25.580
So here in SD WAN manager, under our configuration devices, we now see that GCP

193
12:25.580 --> 12:31.000
R1 in site 40 is currently reachable and online.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

193
12:25.580 --> 12:31.000
R1 in site 40 is currently reachable and online.

194
12:31.000 --> 12:37.580
And if we go over here to monitor overview, we see that we now have seven WAN

195
12:37.580 --> 12:39.000
edges online.

196
12:39.000 --> 12:45.780
That's two on-prem, two that are connected to AWS, two that are connected to

197
12:45.780 --> 12:47.000
Microsoft Azure,

198
12:47.000 --> 12:51.000
and one that we disconnected to Google Cloud.

199
12:51.000 --> 12:56.630
If we click on the number seven here to bring up the detail, we see that GCP R1

200
12:56.630 --> 13:01.000
is now online in site 40.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

200
12:56.630 --> 13:01.000
is now online in site 40.

201
13:01.000 --> 13:06.630
We see it's system IP. It has a green check mark for health and it is reachable

202
13:06.630 --> 13:07.000
.

203
13:07.000 --> 13:12.000
We do not have any CPU or memory utilization information yet.

204
13:12.000 --> 13:17.550
However, that's normal when a router first comes online, that information has

205
13:17.550 --> 13:21.000
to be gathered and reported to our controllers.

206
13:21.000 --> 13:25.000
But GCP R1 is now online.

207
13:25.000 --> 13:31.000
So in this video, we got our catalyst 8000 V deployed into Google Cloud.
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

207
13:25.000 --> 13:31.000
So in this video, we got our catalyst 8000 V deployed into Google Cloud.

208
13:31.000 --> 13:35.980
A couple tricky steps on this one, we had to create that SSH key pair and

209
13:35.980 --> 13:41.000
manually deploy it into our router during the deployment process.

210
13:41.000 --> 13:45.000
We had to be very careful with our network interfaces.

211
13:45.000 --> 13:49.420
And we also run into that interesting situation with the IP addresses, where

212
13:49.420 --> 13:54.290
there's no clear way to actually set an IP address, either during the

213
13:54.290 --> 13:57.000
deployment or to change it afterwards.

214
13:57.000 --> 14:03.040
However, it is up and running. So the next thing we want to do is configure our
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

214
13:57.000 --> 14:03.040
However, it is up and running. So the next thing we want to do is configure our

215
14:03.040 --> 14:09.000
templates that we're going to use to manage the catalyst 8000 V in Google Cloud

216
14:09.000 --> 14:09.000
.
