Skip to content

Commit

Permalink
- recreate pods on update
Browse files Browse the repository at this point in the history
 - add to docs
 - rename fronted pods and services
 - adds health enpoint from #594
  • Loading branch information
DanielHabenicht committed Oct 12, 2020
1 parent 73c2989 commit c3f031d
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 27 deletions.
14 changes: 8 additions & 6 deletions Phonebook/phonebook/templates/frontend-deployment.yaml
Original file line number Diff line number Diff line change
@@ -1,28 +1,30 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "phonebook.fullname" . }}
name: {{ include "phonebook.fullname" . }}-frontend
labels:
app.kubernetes.io/name: {{ include "phonebook.name" . }}
app.kubernetes.io/name: {{ include "phonebook.name" . }}-frontend
helm.sh/chart: {{ include "phonebook.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
replicas: {{ .Values.frontend.replicaCount }}
selector:
matchLabels:
app.kubernetes.io/name: {{ include "phonebook.name" . }}
app.kubernetes.io/name: {{ include "phonebook.name" . }}-frontend
app.kubernetes.io/instance: {{ .Release.Name }}
template:
metadata:
labels:
app.kubernetes.io/name: {{ include "phonebook.name" . }}
app.kubernetes.io/name: {{ include "phonebook.name" . }}-frontend
app.kubernetes.io/instance: {{ .Release.Name }}
annotations:
rollme: "{{ now | unixEpoch }}"
spec:
nodeSelector:
'beta.kubernetes.io/os': linux
containers:
- name: {{ .Chart.Name }}-{{ .Values.frontend.name }}
- name: {{ .Chart.Name }}-{{ .Values.frontend.name }}-frontend
image: "{{ .Values.frontend.image.repository }}/{{ .Values.frontend.image.name}}:{{ .Values.frontend.image.tag }}"
imagePullPolicy: {{ .Values.frontend.image.pullPolicy }}
ports:
Expand Down Expand Up @@ -75,4 +77,4 @@ spec:
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
4 changes: 2 additions & 2 deletions Phonebook/phonebook/templates/frontend-ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ metadata:
name: {{ $fullName }}
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ include "phonebook.name" . }}
app.kubernetes.io/name: {{ include "phonebook.name" . }}-frontend
helm.sh/chart: {{ include "phonebook.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
Expand All @@ -23,7 +23,7 @@ spec:
namespace: {{ .Release.Namespace }}
services:
- kind: Service
name: {{ $fullName }}
name: {{ $fullName }}-frontend
namespace: {{ .Release.Namespace }}
passHostHeader: true
port: 80
Expand Down
4 changes: 2 additions & 2 deletions Phonebook/phonebook/templates/frontend-service.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "phonebook.fullname" . }}
name: {{ include "phonebook.fullname" . }}-frontend
labels:
app.kubernetes.io/name: {{ include "phonebook.name" . }}
helm.sh/chart: {{ include "phonebook.chart" . }}
Expand All @@ -15,5 +15,5 @@ spec:
protocol: TCP
name: http
selector:
app.kubernetes.io/name: {{ include "phonebook.name" . }}
app.kubernetes.io/name: {{ include "phonebook.name" . }}-frontend
app.kubernetes.io/instance: {{ .Release.Name }}
23 changes: 12 additions & 11 deletions Phonebook/phonebook/templates/source-peoplesoft-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ spec:
labels:
app.kubernetes.io/name: {{ include "phonebook.name" . }}-peoplesoft
app.kubernetes.io/instance: {{ .Release.Name }}
annotations:
rollme: "{{ now | unixEpoch }}"
spec:
nodeSelector:
'beta.kubernetes.io/os': linux
Expand All @@ -32,17 +34,16 @@ spec:
- name: https
containerPort: 443
protocol: TCP
# TODO: use when issue #594 is resolved
# livenessProbe:
# httpGet:
# path: /health
# port: http
# initialDelaySeconds: 6
# readinessProbe:
# httpGet:
# path: /health
# port: http
# initialDelaySeconds: 6
livenessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 6
readinessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 6
env:
- name: ASPNETCORE_ENVIRONMENT
value: "{{ .Values.source.peoplesoft.environment }}"
Expand Down
13 changes: 10 additions & 3 deletions Phonebook/phonebook/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,6 @@ traefik:
- --entrypoints.web.http.redirections.entrypoint.to=websecure
- --entrypoints.web.http.redirections.entrypoint.scheme=https
- --entrypoints.web.http.redirections.entrypoint.permanent=true
- --providers.kubernetesIngress=true
- --api.dashboard=false
# PSA Settings
- --serversTransport.forwardingTimeouts.responseHeaderTimeout=1s
- --serversTransport.forwardingTimeouts.dialTimeout=1s
Expand All @@ -66,6 +64,16 @@ traefik:
enabled: true
namespaced: false

ingressRoute:
dashboard:
enabled: false

providers:
kubernetesCRD:
enabled: true
kubernetesIngress:
enabled: true

logs:
# Traefik logs concern everything that happens to Traefik itself (startup, configuration, events, shutdown, and so on).
general:
Expand All @@ -77,4 +85,3 @@ traefik:
access:
# To enable access log
enabled: false

9 changes: 7 additions & 2 deletions Phonebook/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ We use [traefik](https://traefik.io/) under the hood.

### Installation

> Please make sure you have a running Kubernetes Cluster, with Tiller and Helm installed.
> Please make sure you have a running Kubernetes Cluster and Helm installed.
1. Create your `values.yml`. For settings look [here](#Settings).

Expand All @@ -19,6 +19,11 @@ We use [traefik](https://traefik.io/) under the hood.
contactEmail: &contactEmail '<Your Contact Email>'
employeePictureEndpoint: '<Url To you User Picture Endpoint>'
assetsEndpoint: '<Url To you User Assets Endpoint>'

traefik:
# Only modify these do not touch "globalArguments"
additionalArguments:
- --entrypoints.web.http.redirections.entrypoint.to=:443
```
For a more complete Example have a look at our demo [values.yml](../demo/values.yml).
Expand Down Expand Up @@ -67,6 +72,6 @@ You need `helm3` and a running kubernetes cluster.

1. Add `phonebook-demo.local` to your hosts, pointing to `localhost` (127.0.0.1).
2. cd into the `/Phonebook` Folder
3. `helm install -f ./local-values.yml -n phonebook .\phonebook\`
3. `helm upgrade --namespace default --install -values ./local-values.yml --set frontend.image.tag=1.43.7,source.peoplesoft.image.tag=4374 --wait phonebook .\phonebook\`

Debug: `helm install --dry-run --debug -n phonebook .\phonebook\`
2 changes: 1 addition & 1 deletion demo/values.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ traefik:
- --certificatesresolvers.default.acme.httpchallenge.entrypoint=web
- --certificatesresolvers.default.acme.storage=tmp/acme.json
- --certificatesresolvers.default.acme.email=phonebook-t-systems-mms@mg.telekom.de
# - --certificatesresolvers.default.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
# - --certificatesresolvers.default.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
- --api.dashboard=true
- --api=true

Expand Down

0 comments on commit c3f031d

Please sign in to comment.