mirror of
https://github.com/ghndrx/blog-manifest.git
synced 2026-02-10 06:54:59 +00:00
fixes
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -15,3 +15,4 @@
|
|||||||
Thumbs.db
|
Thumbs.db
|
||||||
|
|
||||||
*-config-map.yaml
|
*-config-map.yaml
|
||||||
|
*-secrets.yaml
|
||||||
16
README.md
16
README.md
@@ -1,14 +1,14 @@
|
|||||||
Ghost Blog on Kubernetes
|
Ghost Blog on Kubernetes
|
||||||
|
|
||||||
This repository contains the configuration files necessary to deploy a Ghost blog on Kubernetes using a MySQL backend and an nginx-proxy for routing traffic.
|
This repository contains the configuration files necessary to deploy a Ghost blog on Kubernetes using a MySQL backend and an nginx-proxy for routing traffic.
|
||||||
|
|
||||||
Prerequisites
|
Prerequisites
|
||||||
A running Kubernetes cluster
|
- A running Kubernetes cluster
|
||||||
The kubectl command-line tool installed on your local machine
|
- The kubectl command-line tool installed on your local machine
|
||||||
Deployment
|
|
||||||
|
|
||||||
|
Deployment
|
||||||
kubectl apply -f namespace.yaml
|
kubectl apply -f namespace.yaml
|
||||||
kubectl apply -f blog-config-map.yaml
|
kubectl apply -f blog-config-map.yaml
|
||||||
|
|
||||||
kubectl apply -f deployments/ghost-blog-deployment.yaml
|
kubectl apply -f deployments/ghost-blog-deployment.yaml
|
||||||
kubectl apply -f deployments/mysql-deployment.yaml
|
kubectl apply -f deployments/mysql-deployment.yaml
|
||||||
kubectl apply -f deployments/nginx-proxy-deployment.yaml
|
kubectl apply -f deployments/nginx-proxy-deployment.yaml
|
||||||
@@ -16,7 +16,6 @@ kubectl apply -f services/ghost-blog-service.yaml
|
|||||||
kubectl apply -f services/ingress-service.yaml
|
kubectl apply -f services/ingress-service.yaml
|
||||||
kubectl apply -f services/mysql-service.yaml
|
kubectl apply -f services/mysql-service.yaml
|
||||||
kubectl apply -f services/nginx-proxy-service.yaml
|
kubectl apply -f services/nginx-proxy-service.yaml
|
||||||
|
|
||||||
kubectl apply -f volumes/nginx-pv.yaml
|
kubectl apply -f volumes/nginx-pv.yaml
|
||||||
kubectl apply -f volumes/nginx-pvc.yaml
|
kubectl apply -f volumes/nginx-pvc.yaml
|
||||||
kubectl apply -f volumes/mysql-pv.yaml
|
kubectl apply -f volumes/mysql-pv.yaml
|
||||||
@@ -27,9 +26,4 @@ kubectl apply -f volumes/blog-pvc.yaml
|
|||||||
This will create the necessary resources in the cluster, including a deployment for the Ghost app, a service for connecting to the MySQL server, and an ingress service for routing traffic to the Ghost app via the nginx-proxy with https and http.
|
This will create the necessary resources in the cluster, including a deployment for the Ghost app, a service for connecting to the MySQL server, and an ingress service for routing traffic to the Ghost app via the nginx-proxy with https and http.
|
||||||
|
|
||||||
Volumes
|
Volumes
|
||||||
This configuration is using a Persistent Volume to store the Ghost blog data, this can be done by creating a persistent volume and persistent volume claim, and then referencing it in the ghost-blog-deployment.yaml file.
|
This configuration is using a Persistent Volume to store the Ghost blog data, this can be done by creating a persistent volume and persistent
|
||||||
|
|
||||||
ingress-service.yaml
|
|
||||||
In this example, $(VAR_HOST) and $(SECRET_NAME) are variables that are stored in a configMap and a Secret, respectively. These variables can be managed and updated separately from the YAML files, making it easier to update and maintain your configuration.
|
|
||||||
|
|
||||||
To use variables in your YAML files, you'll first need to create a configMap and a Secret that contains the variables you need. You can do this using the kubectl
|
|
||||||
|
|||||||
15
services/LoadBalancer-traefik.yaml
Normal file
15
services/LoadBalancer-traefik.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: traefik-loadbalancer
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: traefik
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 80
|
||||||
|
targetPort: 80
|
||||||
|
- name: https
|
||||||
|
port: 443
|
||||||
|
targetPort: 443
|
||||||
|
type: LoadBalancer
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: PersistentVolume
|
|
||||||
metadata:
|
|
||||||
name: nginx-proxy-pv
|
|
||||||
namespace: blog
|
|
||||||
spec:
|
|
||||||
capacity:
|
|
||||||
storage: 2Gi
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
hostPath:
|
|
||||||
path: "/mnt/data/nginx-proxy"
|
|
||||||
persistentVolumeReclaimPolicy: Retain
|
|
||||||
11
volumes/traefik-pv.yaml
Normal file
11
volumes/traefik-pv.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: traefik-pv
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: 10Gi
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
hostPath:
|
||||||
|
path: "/mnt/data/traefik"
|
||||||
@@ -1,14 +1,10 @@
|
|||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
metadata:
|
metadata:
|
||||||
name: nginx-proxy-pvc
|
name: traefik-pvc
|
||||||
namespace: blog
|
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 2Gi
|
storage: 10Gi
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: nginx-proxy
|
|
||||||
Reference in New Issue
Block a user