Skip to content

Commit e250a8f

Browse files
committed
Change k8s deployment config to deploy the redis service in another pod
Set internal urls in k8s config for pod communication
1 parent 7b63c8d commit e250a8f

3 files changed

Lines changed: 85 additions & 34 deletions

File tree

k8s/basket-data.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
labels:
5+
app: eshop
6+
component: basket-data
7+
name: basket-data
8+
spec:
9+
ports:
10+
- port: 6379
11+
selector:
12+
app: eshop
13+
component: basket-data
14+
---
15+
apiVersion: extensions/v1beta1
16+
kind: Deployment
17+
metadata:
18+
name: basket-data
19+
spec:
20+
template:
21+
metadata:
22+
labels:
23+
app: eshop
24+
component: basket-data
25+
spec:
26+
containers:
27+
- name: basket-data
28+
image: redis:3.2-alpine
29+

k8s/deploy.ps1

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,15 @@ if(-not $useDockerHub) {
5050

5151
# Removing previous services & deployments
5252
Write-Host "Removing existing services & deployments.." -ForegroundColor Yellow
53-
ExecKube -cmd 'delete -f sql-data.yaml -f rabbitmq.yaml'
53+
ExecKube -cmd 'delete -f sql-data.yaml -f rabbitmq.yaml -f basket-data.yaml'
5454
ExecKube -cmd 'delete -f services.yaml -f frontend.yaml -f deployments.yaml'
5555
ExecKube -cmd 'delete configmap config-files'
5656
ExecKube -cmd 'delete configmap urls'
5757

5858
# start sql, rabbitmq, frontend deploymentsExecKube -cmd 'delete configmap config-files'
5959
ExecKube -cmd 'create configmap config-files --from-file=nginx-conf=nginx.conf'
6060
ExecKube -cmd 'label configmap config-files app=eshop'
61-
ExecKube -cmd 'create -f sql-data.yaml -f rabbitmq.yaml -f services.yaml -f frontend.yaml'
61+
ExecKube -cmd 'create -f sql-data.yaml -f basket-data.yaml -f rabbitmq.yaml -f services.yaml -f frontend.yaml'
6262

6363
# building and publishing docker images not necessary when deploying through CI VSTS
6464
if(-not $deployCI) {
@@ -67,7 +67,7 @@ if(-not $deployCI) {
6767
dotnet publish -c Release -o obj/Docker/publish ../eShopOnContainers-ServicesAndWebApps.sln
6868

6969
Write-Host "Building Docker images..." -ForegroundColor Yellow
70-
docker-compose -p .. -f ../docker-compose.yml build
70+
docker-compose -p .. -f ../docker-compose.yml build
7171

7272
Write-Host "Pushing images to $registry..." -ForegroundColor Yellow
7373
$services = ("basket.api", "catalog.api", "identity.api", "ordering.api", "webmvc", "webspa", "webstatus")
@@ -87,23 +87,30 @@ while ($true) {
8787
}
8888

8989
ExecKube -cmd 'create configmap urls `
90-
--from-literal=BasketUrl=http://$($frontendUrl)/basket-api `
91-
--from-literal=BasketHealthCheckUrl=http://$($frontendUrl)/basket-api/hc `
90+
--from-literal=BasketUrl=http://basket `
91+
--from-literal=BasketHealthCheckUrl=http://basket/hc `
9292
--from-literal=CatalogUrl=http://$($frontendUrl)/catalog-api `
93-
--from-literal=CatalogHealthCheckUrl=http://$($frontendUrl)/catalog-api/hc `
93+
--from-literal=CatalogHealthCheckUrl=http://catalog/hc `
9494
--from-literal=IdentityUrl=http://$($frontendUrl)/identity `
95-
--from-literal=IdentityHealthCheckUrl=http://$($frontendUrl)/identity/hc `
96-
--from-literal=OrderingUrl=http://$($frontendUrl)/ordering-api `
97-
--from-literal=OrderingHealthCheckUrl=http://$($frontendUrl)/ordering-api/hc `
98-
--from-literal=MvcClient=http://$($frontendUrl)/webmvc `
99-
--from-literal=WebMvcHealthCheckUrl=http://$($frontendUrl)/webmvc/hc `
100-
--from-literal=WebStatusClient=http://$($frontendUrl)/webstatus `
101-
--from-literal=WebSpaHealthCheckUrl=http://$($frontendUrl)/hc `
102-
--from-literal=SpaClient=http://$($frontendUrl)'
103-
95+
--from-literal=IdentityHealthCheckUrl=http://identity/hc `
96+
--from-literal=OrderingUrl=http://ordering `
97+
--from-literal=OrderingHealthCheckUrl=http://ordering/hc `
98+
--from-literal=MvcClientExternalUrl=http://$($frontendUrl)/webmvc `
99+
--from-literal=WebMvcHealthCheckUrl=http://webmvc/hc `
100+
--from-literal=MvcClientOrderingUrl=http://ordering `
101+
--from-literal=MvcClientCatalogUrl=http://catalog `
102+
--from-literal=MvcClientBasketUrl=http://basket `
103+
--from-literal=WebSpaHealthCheckUrl=http://webspa/hc `
104+
--from-literal=SpaClientOrderingExternalUrl=http://$($frontendUrl)/ordering-api `
105+
--from-literal=SpaClientCatalogExternalUrl=http://$($frontendUrl)/catalog-api `
106+
--from-literal=SpaClientBasketExternalUrl=http://$($frontendUrl)/basket-api `
107+
--from-literal=SpaClientIdentityExternalUrl=http://$($frontendUrl)/identity `
108+
--from-literal=SpaClientExternalUrl=http://$($frontendUrl)'
109+
104110
ExecKube -cmd 'label configmap urls app=eshop'
105111

106-
Write-Host "Creating deployments..."
112+
Write-Host "Creating deployments..." -ForegroundColor Yellow
113+
107114
ExecKube -cmd 'create -f deployments.yaml'
108115

109116
# not using ACR for pulling images when deploying through CI VSTS

k8s/deployments.yaml

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ spec:
1818
- name: ASPNETCORE_URLS
1919
value: http://0.0.0.0:80/basket-api
2020
- name: ConnectionString
21-
value: 127.0.0.1
21+
value: basket-data
2222
- name: EventBusConnection
2323
value: rabbitmq
2424
- name: IdentityUrl
@@ -27,11 +27,7 @@ spec:
2727
name: urls
2828
key: IdentityUrl
2929
ports:
30-
- containerPort: 80
31-
- name: basket-data
32-
image: redis:3.2-alpine
33-
ports:
34-
- containerPort: 6379
30+
- containerPort: 80
3531
imagePullSecrets:
3632
- name: registry-key
3733
---
@@ -93,12 +89,12 @@ spec:
9389
valueFrom:
9490
configMapKeyRef:
9591
name: urls
96-
key: MvcClient
92+
key: MvcClientExternalUrl
9793
- name: SpaClient
9894
valueFrom:
9995
configMapKeyRef:
10096
name: urls
101-
key: SpaClient
97+
key: SpaClientExternalUrl
10298
ports:
10399
- containerPort: 80
104100
imagePullSecrets:
@@ -160,17 +156,17 @@ spec:
160156
valueFrom:
161157
configMapKeyRef:
162158
name: urls
163-
key: BasketUrl
159+
key: MvcClientBasketUrl
164160
- name: CallBackUrl
165161
valueFrom:
166162
configMapKeyRef:
167163
name: urls
168-
key: MvcClient
164+
key: MvcClientExternalUrl
169165
- name: CatalogUrl
170166
valueFrom:
171167
configMapKeyRef:
172168
name: urls
173-
key: CatalogUrl
169+
key: MvcClientCatalogUrl
174170
- name: IdentityUrl
175171
valueFrom:
176172
configMapKeyRef:
@@ -180,13 +176,12 @@ spec:
180176
valueFrom:
181177
configMapKeyRef:
182178
name: urls
183-
key: OrderingUrl
179+
key: MvcClientOrderingUrl
184180
ports:
185181
- containerPort: 80
186182
imagePullSecrets:
187183
- name: registry-key
188184
---
189-
---
190185
apiVersion: extensions/v1beta1
191186
kind: Deployment
192187
metadata:
@@ -264,27 +259,47 @@ spec:
264259
valueFrom:
265260
configMapKeyRef:
266261
name: urls
267-
key: BasketUrl
262+
key: SpaClientBasketExternalUrl
268263
- name: CallBackUrl
269264
valueFrom:
270265
configMapKeyRef:
271266
name: urls
272-
key: SpaClient
267+
key: SpaClientExternalUrl
273268
- name: CatalogUrl
274269
valueFrom:
275270
configMapKeyRef:
276271
name: urls
277-
key: CatalogUrl
272+
key: SpaClientCatalogExternalUrl
278273
- name: IdentityUrl
279274
valueFrom:
280275
configMapKeyRef:
281276
name: urls
282-
key: IdentityUrl
277+
key: SpaClientIdentityExternalUrl
283278
- name: OrderingUrl
284279
valueFrom:
285280
configMapKeyRef:
286281
name: urls
287-
key: OrderingUrl
282+
key: SpaClientOrderingExternalUrl
283+
- name: BasketUrlHC
284+
valueFrom:
285+
configMapKeyRef:
286+
name: urls
287+
key: BasketHealthCheckUrl
288+
- name: CatalogUrlHC
289+
valueFrom:
290+
configMapKeyRef:
291+
name: urls
292+
key: CatalogHealthCheckUrl
293+
- name: IdentityUrlHC
294+
valueFrom:
295+
configMapKeyRef:
296+
name: urls
297+
key: IdentityHealthCheckUrl
298+
- name: OrderingUrlHC
299+
valueFrom:
300+
configMapKeyRef:
301+
name: urls
302+
key: OrderingHealthCheckUrl
288303
ports:
289304
- containerPort: 80
290305
imagePullSecrets:

0 commit comments

Comments
 (0)