Skip to content

Commit 49c4936

Browse files
committed
Added Letsencrypt SSL Configuration & Update notes step deployment
1 parent 77457ca commit 49c4936

File tree

7 files changed

+116
-12
lines changed

7 files changed

+116
-12
lines changed

‎Changelog.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,20 @@
1313
- Added Laravel Container
1414
- Added HelmChart NGINX
1515
- Added HelmChart Laravel
16+
17+
## Version 0.2.1
18+
19+
- Update laravel blade welcome template & docker-compose configuration
20+
- Added cheatsheet maintenance database
21+
- Added ignore files & folders
22+
23+
## Version 0.2.2
24+
25+
- Refactoring helm template for secret & secret-prod
26+
- Update docker-compose configuration for added Adminer (Database Administrator) tools
27+
- Update docker ignore files
28+
29+
## Version 0.2.3
30+
31+
- Added Letsencrypt SSL configuration
32+
- Update notes Step Deployment

‎helm/templates/laravel/Deploy.md

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,75 @@
1818
- Helm Upgrade
1919
```
2020
helm upgrade laravel-kubernetes -f values.yaml -f helm/secrets-prod.yaml stable/lamp -n laravel-app
21-
```
21+
```
22+
23+
- Install NGINX-Ingress
24+
```
25+
helm install nginx-ingress stable/nginx-ingress --set controller.publishService.enabled=true -n laravel-app
26+
```
27+
28+
- Apply Cert Manager
29+
```
30+
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.6.1/cert-manager.crds.yaml
31+
```
32+
33+
- Create Namespace for Cert Manager
34+
```
35+
kubectl create namespace cert-manager
36+
```
37+
38+
- Install Cert Manager
39+
```
40+
helm repo add jetstack https://charts.jetstack.io
41+
helm install cert-manager --version v1.6.1 --namespace cert-manager jetstack/cert-manager
42+
```
43+
44+
- Apply Ingress & SSL
45+
```
46+
kubectl apply -f ingress.yaml -n laravel-app
47+
kubectl apply -f production_issuer.yaml -n laravel-app
48+
```
49+
50+
- Validate Nginx Ingress Controller
51+
```
52+
kubectl get service nginx-ingress-controller -n laravel-app
53+
---
54+
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
55+
nginx-ingress-controller LoadBalancer 10.100.146.218 a60fec***3296.ap-southeast-1.elb.amazonaws.com 80:31932/TCP,443:31919/TCP 38m
56+
```
57+
58+
- Check Pods
59+
```
60+
kubectl get pods -n laravel-app
61+
NAME READY STATUS RESTARTS AGE
62+
cm-acme-http-solver-q28bv 1/1 Running 0 16m
63+
laravel-kubernetes-lamp-5896f8c99c-vszgr 2/2 Running 0 3h25m
64+
mariadb-0 1/1 Running 0 17h
65+
nginx-ingress-controller-6d998555d4-8tmb8 1/1 Running 0 41m
66+
nginx-ingress-default-backend-c5449fb44-wpx9r 1/1 Running 0 41m
67+
```
68+
69+
- Migrate Database
70+
```
71+
kubectl exec laravel-kubernetes-lamp-5896f8c99c-vszgr -n laravel-app -- php artisan migrate --force
72+
---
73+
Defaulted container "httpdphp" out of: httpdphp, mysql, init-chown-mysql (init)
74+
Migration table created successfully.
75+
Migrating: 2014_10_12_000000_create_users_table
76+
Migrated: 2014_10_12_000000_create_users_table (24.40ms)
77+
Migrating: 2014_10_12_100000_create_password_resets_table
78+
Migrated: 2014_10_12_100000_create_password_resets_table (22.69ms)
79+
Migrating: 2019_08_19_000000_create_failed_jobs_table
80+
Migrated: 2019_08_19_000000_create_failed_jobs_table (17.95ms)
81+
Migrating: 2019_12_14_000001_create_personal_access_tokens_table
82+
Migrated: 2019_12_14_000001_create_personal_access_tokens_table (28.77ms)
83+
```
84+
85+
- Setup SSL for Doamin In Route53:
86+
```
87+
+-------------------------------+-------+----------------+----------------+----------------------------------------------------------+
88+
| Record Name | Type | Routing Policy | Differentiator | Value/Route traffic to |
89+
+-------------------------------+-------+----------------+----------------+----------------------------------------------------------+
90+
| devopscorner.online | A | Simple | - | dualstack.a60fec***3296.ap-southeast-1.elb.amazonaws.com |
91+
| develop.devopscorner.online | A | Simple | - | dualstack.a60fec***3296.ap-southeast-1.elb.amazonaws.com |
92+
+-------------------------------+-------+----------------+----------------+----------------------------------------------------------+

‎helm/templates/laravel/ingress.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
apiVersion: networking.k8s.io/v1
1+
apiVersion: networking.k8s.io/v1beta1
22
kind: Ingress
33
metadata:
44
name: laravel-kubernetes-ingress
@@ -8,9 +8,16 @@ metadata:
88
spec:
99
tls:
1010
- hosts:
11+
- devopscorner.online
1112
- develop.devopscorner.online
1213
secretName: laravel-kubernetes-tls
1314
rules:
15+
- host: devopscorner.online
16+
http:
17+
paths:
18+
- backend:
19+
serviceName: laravel-kubernetes-lamp
20+
servicePort: 80
1421
- host: develop.devopscorner.online
1522
http:
1623
paths:
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
apiVersion: cert-manager.io/v1
2+
kind: ClusterIssuer
3+
metadata:
4+
name: letsencrypt-prod
5+
spec:
6+
acme:
7+
# Email address used for ACME registration
8+
email: YOUR_EMAIL_ADDRESS
9+
server: https://acme-v02.api.letsencrypt.org/directory
10+
privateKeySecretRef:
11+
# Name of a secret used to store the ACME account private key
12+
name: letsencrypt-prod-private-key
13+
# Add a single challenge solver, HTTP01 using nginx
14+
solvers:
15+
- http01:
16+
ingress:
17+
class: nginx

‎helm/templates/laravel/values-domain-https.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ ingress:
5252
alb.ingress.kubernetes.io/ssl-redirect: '443'
5353
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
5454
alb.ingress.kubernetes.io/tags: Department=DEVOPS,Environment=DEV,Service=ALB,DepartmentGroup=DEV-DEVOPS,ResourceGroup=PROD-ALB-DEVOPSCORNER,Name=ALB-DEVOPSCORNER-EKS-1.19
55-
domain: "develop.devopscorner.online"
55+
domain: "devopscorner.online"
5656
rules:
5757
- path: /
5858
backend:

‎helm/templates/laravel/values-domain.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,4 @@ nodeSelector:
3535

3636
ingress:
3737
enabled: true
38-
domain: develop.devopscorner.online
38+
domain: devopscorner.online

‎helm/templates/laravel/values.yaml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,3 @@ nodeSelector:
2222
enabled: true
2323
select:
2424
node: "laravel"
25-
26-
ingress:
27-
enabled: false
28-
annotations: {}
29-
hosts:
30-
- host: ""
31-
paths: []
32-
tls: []

0 commit comments

Comments
 (0)