WP
This commit is contained in:
parent
65f99adac2
commit
1e9169fcd5
2 changed files with 297 additions and 0 deletions
|
@ -66,3 +66,11 @@ http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-da
|
||||||
ssh root@$(hetzner-kube cluster master-ip k8s-test) apt install -y python
|
ssh root@$(hetzner-kube cluster master-ip k8s-test) apt install -y python
|
||||||
ansible-playbook -i "$(hetzner-kube cluster master-ip k8s-test)," -u root ansible-haproxy.yaml
|
ansible-playbook -i "$(hetzner-kube cluster master-ip k8s-test)," -u root ansible-haproxy.yaml
|
||||||
|
|
||||||
|
## test deployment
|
||||||
|
|
||||||
|
helm install --namespace k8spress --name wordpress -f helm-wordpress.yaml stable/wordpress
|
||||||
|
(adapt hostname!)
|
||||||
|
|
||||||
|
## teardown
|
||||||
|
|
||||||
|
hetzner-kube cluster delete k8s-test
|
||||||
|
|
289
helm-wordpress.yaml
Normal file
289
helm-wordpress.yaml
Normal file
|
@ -0,0 +1,289 @@
|
||||||
|
image:
|
||||||
|
registry: docker.io
|
||||||
|
repository: bitnami/wordpress
|
||||||
|
tag: 5.1.1
|
||||||
|
## Specify a imagePullPolicy
|
||||||
|
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
|
||||||
|
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
|
||||||
|
##
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
## Optionally specify an array of imagePullSecrets.
|
||||||
|
## Secrets must be manually created in the namespace.
|
||||||
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
||||||
|
##
|
||||||
|
# pullSecrets:
|
||||||
|
# - myRegistryKeySecretName
|
||||||
|
|
||||||
|
## User of the application
|
||||||
|
## ref: https://github.com/bitnami/bitnami-docker-wordpress#environment-variables
|
||||||
|
##
|
||||||
|
wordpressUsername: user
|
||||||
|
|
||||||
|
## Application password
|
||||||
|
## Defaults to a random 10-character alphanumeric string if not set
|
||||||
|
## ref: https://github.com/bitnami/bitnami-docker-wordpress#environment-variables
|
||||||
|
##
|
||||||
|
# wordpressPassword:
|
||||||
|
|
||||||
|
## Admin email
|
||||||
|
## ref: https://github.com/bitnami/bitnami-docker-wordpress#environment-variables
|
||||||
|
##
|
||||||
|
wordpressEmail: user@example.com
|
||||||
|
|
||||||
|
## First name
|
||||||
|
## ref: https://github.com/bitnami/bitnami-docker-wordpress#environment-variables
|
||||||
|
##
|
||||||
|
wordpressFirstName: FirstName
|
||||||
|
|
||||||
|
## Last name
|
||||||
|
## ref: https://github.com/bitnami/bitnami-docker-wordpress#environment-variables
|
||||||
|
##
|
||||||
|
wordpressLastName: LastName
|
||||||
|
|
||||||
|
## Blog name
|
||||||
|
## ref: https://github.com/bitnami/bitnami-docker-wordpress#environment-variables
|
||||||
|
##
|
||||||
|
wordpressBlogName: User's Blog!
|
||||||
|
|
||||||
|
## Table prefix
|
||||||
|
## ref: https://github.com/bitnami/bitnami-docker-wordpress#environment-variables
|
||||||
|
##
|
||||||
|
wordpressTablePrefix: wp_
|
||||||
|
|
||||||
|
## Skip wizard installation (only if you use an external database that already contains WordPress data)
|
||||||
|
## ref: https://github.com/bitnami/bitnami-docker-wordpress#connect-wordpress-docker-container-to-an-existing-database
|
||||||
|
##
|
||||||
|
wordpressSkipInstall: "no"
|
||||||
|
|
||||||
|
## Set to `false` to allow the container to be started with blank passwords
|
||||||
|
## ref: https://github.com/bitnami/bitnami-docker-wordpress#environment-variables
|
||||||
|
allowEmptyPassword: true
|
||||||
|
|
||||||
|
## Set Apache allowOverride to None
|
||||||
|
allowOverrideNone: "no"
|
||||||
|
|
||||||
|
# ConfigMap with custom wordpress-htaccess.conf file (requires allowOverrideNone to true)
|
||||||
|
customHTAccessCM:
|
||||||
|
|
||||||
|
## SMTP mail delivery configuration
|
||||||
|
## ref: https://github.com/bitnami/bitnami-docker-wordpress/#smtp-configuration
|
||||||
|
##
|
||||||
|
# smtpHost:
|
||||||
|
# smtpPort:
|
||||||
|
# smtpUser:
|
||||||
|
# smtpPassword:
|
||||||
|
# smtpUsername:
|
||||||
|
# smtpProtocol:
|
||||||
|
|
||||||
|
replicaCount: 1
|
||||||
|
|
||||||
|
mariadb:
|
||||||
|
enabled: true
|
||||||
|
replication:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
db:
|
||||||
|
name: bitnami_wordpress
|
||||||
|
user: bn_wordpress
|
||||||
|
## If the password is not specified, mariadb will generates a random password
|
||||||
|
##
|
||||||
|
# password:
|
||||||
|
|
||||||
|
## MariaDB admin password
|
||||||
|
## ref: https://github.com/bitnami/bitnami-docker-mariadb/blob/master/README.md#setting-the-root-password-on-first-run
|
||||||
|
##
|
||||||
|
# rootUser:
|
||||||
|
# password:
|
||||||
|
|
||||||
|
## Enable persistence using Persistent Volume Claims
|
||||||
|
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
||||||
|
##
|
||||||
|
master:
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
## mariadb data Persistent Volume Storage Class
|
||||||
|
## If defined, storageClassName: <storageClass>
|
||||||
|
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||||
|
## If undefined (the default) or set to null, no storageClassName spec is
|
||||||
|
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||||
|
## GKE, AWS & OpenStack)
|
||||||
|
##
|
||||||
|
# storageClass: "-"
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 2Gi
|
||||||
|
|
||||||
|
service:
|
||||||
|
type: LoadBalancer
|
||||||
|
# HTTP Port
|
||||||
|
port: 80
|
||||||
|
# HTTPS Port
|
||||||
|
httpsPort: 443
|
||||||
|
##
|
||||||
|
## nodePorts:
|
||||||
|
## http: <to set explicitly, choose port between 30000-32767>
|
||||||
|
## https: <to set explicitly, choose port between 30000-32767>
|
||||||
|
nodePorts:
|
||||||
|
http: ""
|
||||||
|
https: ""
|
||||||
|
## Enable client source IP preservation
|
||||||
|
## ref http://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
||||||
|
##
|
||||||
|
externalTrafficPolicy: Cluster
|
||||||
|
annotations: {}
|
||||||
|
## Extra ports to expose (normally used with the `sidecar` value)
|
||||||
|
# extraPorts:
|
||||||
|
|
||||||
|
## Allow health checks to be pointed at the https port
|
||||||
|
healthcheckHttps: false
|
||||||
|
|
||||||
|
## Configure extra options for liveness and readiness probes
|
||||||
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
|
||||||
|
livenessProbe:
|
||||||
|
initialDelaySeconds: 120
|
||||||
|
periodSeconds: 10
|
||||||
|
timeoutSeconds: 5
|
||||||
|
failureThreshold: 6
|
||||||
|
successThreshold: 1
|
||||||
|
readinessProbe:
|
||||||
|
initialDelaySeconds: 30
|
||||||
|
periodSeconds: 10
|
||||||
|
timeoutSeconds: 5
|
||||||
|
failureThreshold: 6
|
||||||
|
successThreshold: 1
|
||||||
|
## If using an HTTPS-terminating load-balancer, the probes may need to behave
|
||||||
|
## like the balancer to prevent HTTP 302 responses. According to the Kubernetes
|
||||||
|
## docs, 302 should be considered "successful", but this issue on GitHub
|
||||||
|
## (https://github.com/kubernetes/kubernetes/issues/47893) shows that it isn't.
|
||||||
|
# livenessProbeHeaders:
|
||||||
|
# - name: X-Forwarded-Proto
|
||||||
|
# value: https
|
||||||
|
# readinessProbeHeaders:
|
||||||
|
# - name: X-Forwarded-Proto
|
||||||
|
# value: https
|
||||||
|
|
||||||
|
## Configure the ingress resource that allows you to access the
|
||||||
|
## WordPress installation. Set up the URL
|
||||||
|
## ref: http://kubernetes.io/docs/user-guide/ingress/
|
||||||
|
##
|
||||||
|
ingress:
|
||||||
|
## Set to true to enable ingress record generation
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
## Set this to true in order to add the corresponding annotations for cert-manager
|
||||||
|
certManager: false
|
||||||
|
|
||||||
|
## Ingress annotations done as key:value pairs
|
||||||
|
## For a full list of possible ingress annotations, please see
|
||||||
|
## ref: https://github.com/kubernetes/ingress-nginx/blob/master/docs/annotations.md
|
||||||
|
##
|
||||||
|
## If tls is set to true, annotation ingress.kubernetes.io/secure-backends: "true" will automatically be set
|
||||||
|
## If certManager is set to true, annotation kubernetes.io/tls-acme: "true" will automatically be set
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: nginx
|
||||||
|
|
||||||
|
## The list of hostnames to be covered with this ingress record.
|
||||||
|
## Most likely this will be just one host, but in the event more hosts are needed, this is an array
|
||||||
|
hosts:
|
||||||
|
- name: k8spress.k.zknt.org
|
||||||
|
path: /
|
||||||
|
|
||||||
|
# Set this to true in order to enable TLS on the ingress record
|
||||||
|
tls: false
|
||||||
|
|
||||||
|
## If TLS is set to true, you must declare what secret will store the key/certificate for TLS
|
||||||
|
tlsSecret: wordpress.local-tls
|
||||||
|
|
||||||
|
secrets:
|
||||||
|
## If you're providing your own certificates, please use this to add the certificates as secrets
|
||||||
|
## key and certificate should start with -----BEGIN CERTIFICATE----- or
|
||||||
|
## -----BEGIN RSA PRIVATE KEY-----
|
||||||
|
##
|
||||||
|
## name should line up with a tlsSecret set further up
|
||||||
|
## If you're using cert-manager, this is unneeded, as it will create the secret for you if it is not set
|
||||||
|
##
|
||||||
|
## It is also possible to create and manage the certificates outside of this helm chart
|
||||||
|
## Please see README.md for more information
|
||||||
|
# - name: wordpress.local-tls
|
||||||
|
# key:
|
||||||
|
# certificate:
|
||||||
|
|
||||||
|
## Enable persistence using Persistent Volume Claims
|
||||||
|
## ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
|
||||||
|
##
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
## wordpress data Persistent Volume Storage Class
|
||||||
|
## If defined, storageClassName: <storageClass>
|
||||||
|
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||||
|
## If undefined (the default) or set to null, no storageClassName spec is
|
||||||
|
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||||
|
## GKE, AWS & OpenStack)
|
||||||
|
##
|
||||||
|
# storageClass: "-"
|
||||||
|
##
|
||||||
|
## If you want to reuse an existing claim, you can pass the name of the PVC using
|
||||||
|
## the existingClaim variable
|
||||||
|
# existingClaim: your-claim
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 2Gi
|
||||||
|
|
||||||
|
## Configure resource requests and limits
|
||||||
|
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
||||||
|
##
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: 512Mi
|
||||||
|
cpu: 300m
|
||||||
|
|
||||||
|
## Node labels for pod assignment
|
||||||
|
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||||
|
##
|
||||||
|
nodeSelector: {}
|
||||||
|
|
||||||
|
## Tolerations for pod assignment
|
||||||
|
## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||||
|
##
|
||||||
|
tolerations: []
|
||||||
|
|
||||||
|
## Affinity for pod assignment
|
||||||
|
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||||
|
##
|
||||||
|
affinity: {}
|
||||||
|
|
||||||
|
## Pod annotations
|
||||||
|
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||||
|
##
|
||||||
|
podAnnotations: {}
|
||||||
|
## Prometheus Exporter / Metrics
|
||||||
|
##
|
||||||
|
metrics:
|
||||||
|
enabled: false
|
||||||
|
image:
|
||||||
|
registry: docker.io
|
||||||
|
repository: lusotycoon/apache-exporter
|
||||||
|
tag: v0.5.0
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
## Optionally specify an array of imagePullSecrets.
|
||||||
|
## Secrets must be manually created in the namespace.
|
||||||
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
||||||
|
##
|
||||||
|
# pullSecrets:
|
||||||
|
# - myRegistryKeySecretName
|
||||||
|
## Metrics exporter pod Annotation and Labels
|
||||||
|
podAnnotations:
|
||||||
|
prometheus.io/scrape: "true"
|
||||||
|
prometheus.io/port: "9117"
|
||||||
|
## Metrics exporter resource requests and limits
|
||||||
|
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
|
||||||
|
##
|
||||||
|
# resources: {}
|
||||||
|
|
||||||
|
sidecars:
|
||||||
|
## Add sidecars to the pod.
|
||||||
|
## e.g.
|
||||||
|
# - name: your-image-name
|
||||||
|
# image: your-image
|
||||||
|
# imagePullPolicy: Always
|
||||||
|
# ports:
|
||||||
|
# - name: portname
|
||||||
|
# containerPort: 1234
|
Loading…
Reference in a new issue