WordPress is one of the most versatile open source content management systems on the market. A publishing platform for building blogs and websites.
This Chart was customized to work for my particular requirements. No guarantees it will work in your environment.
- Kubernetes 1.12+
- Helm 3.1.0
Helm is a tool for managing Kubernetes charts. Charts are packages of pre-configured Kubernetes resources.
To install Helm, refer to the Helm install guide and ensure that the helm binary is in the PATH of your shell.
If you want to use a package manager:
- Homebrew users can use
brew install helm. - Chocolatey users can use
choco install kubernetes-helm.
To rapidly get Helm up and running, start with the Quick Start Guide.
See the installation guide for more options, including installing pre-releases.
Once you have installed the Helm client, you can deploy a Bitnami Helm Chart into a Kubernetes cluster.
Please refer to the Quick Start guide if you wish to get running in just a few commands, otherwise the Using Helm Guide provides detailed instructions on how to use the Helm client to manage packages on your Kubernetes cluster.
Useful Helm Client Commands:
- View available charts:
helm search repo - Install a chart:
helm install my-release bitcot/<package-name> - Upgrade your application:
helm upgrade
To install the chart with the release name my-release:
$ helm install --name my-release Chart-nameThe command deploys WordPress on the Kubernetes cluster in the default configuration. The configuration section lists the parameters that can be configured during installation.
helm listhelm list -AThe following table lists the configurable parameters of the Bitcot chart and their default values.
| Parameter | Description | Default |
|---|---|---|
replicaCount |
Number of Pods to run | 1 |
namespace |
Kubernetes namespace | "bitcot" |
imagePullSecrets |
Secret Name | [{"name": null}] |
imageCredentials.registry |
Private Docker Registry | null |
imageCredentials.username |
Registry Name | null |
imageCredentials.password |
Registry Password | null |
imageCredentials.email |
Registry E-mail | null |
accessModes |
PVC Access mode | ["ReadWriteOnce"] |
imagePullPolicy |
Image pull policy | "Always" |
storage |
PVC Storage | "3Gi" |
wordpress.tier |
Label for Wordpress | "frontend" |
wordpress.service.port |
Published Port | 80 |
wordpress.service.targetPort |
Target Port | 80 |
wordpress.service.protocol |
Port Protocol | "TCP" |
wordpress.service.type |
Kubernetes Service type | "LoadBalancer" |
wordpress.image |
Docker Image for Wordpress | "wordpress:5.3" |
wordpress.resources.requests.memory |
Requests of Memory for worpdress | "500Mi" |
wordpress.resources.requests.cpu |
Requests of CPU wordpress for wordpress | "600m" |
wordpress.resources.limits.memory |
Limits Memory for wordpress | "600Mi" |
wordpress.resources.limits.cpu |
Limits CPU for wordpress | "750m" |
wordpress.secrets.WORDPRESS_DB_HOST |
DB Host of the application | "db host" |
wordpress.secrets.WORDPRESS_DB_NAME |
DB Name of the application | "db name" |
wordpress.secrets.WORDPRESS_DB_PASSWORD |
Passoword of the application | "random 8 character long alphanumeric string" |
wordpress.secrets.WORDPRESS_DB_USER |
User of the application | "user" |
wordpress.containerPort |
Service HTTP port | 80 |
wordpress.containerPorthttps |
Service HTTPS port | 443 |
wordpress.Volumes.name |
PVC Name for Wordpress | "wordpress-persistent-storage" |
wordpress.Volumes.mountPath |
Volume Mount for Wordpress | "/var/www/html" |
Sidecar.name |
Sidecar Name | "sidecar-container" |
Sidecar.image |
Sidecar Image Used | "ubuntu:20.04" |
db.tier |
Label for Mysql | "mysql" |
db.service.port |
Published Port for mysql | 3306 |
db.service.targetPort |
Target Port for mysql | 3306 |
db.service.protocol |
Port Protocol | "TCP" |
db.service.type |
Kubernetes Service type | "ClusterIP" |
db.image |
Docker image for mysql | "mysql:5.6" |
db.resources.requests.memory |
Requests of Memory for mysql | "500Mi" |
db.resources.requests.cpu |
Requests of CPU wordpress for mysql | "600m" |
db.resources.limits.memory |
Limits Memory for mysql | "600Mi" |
db.resources.limits.cpu |
Limits CPU for mysql | "750m" |
db.secrets.MYSQL_DATABASE |
Database name to create | "know2" |
db.secrets.MYSQL_PASSWORD |
Password for the database | "random 8 character long alphanumeric string" |
db.secrets.MYSQL_ROOT_PASSWORD |
Mysql admin password | "random 8 character long alphanumeric string" |
db.secrets.MYSQL_USER |
Database user to create | "wp_root" |
db.containerPort |
Database port number | 3306 |
db.Volumes.name |
PVC Name for Mysql | "mysql-persistent-storage" |
db.Volumes.mountPath |
Volume Mount for Mysql | "/var/lib/mysql" |
initContainers.name |
Init Container Name | "init-container-mysql" |
initContainers.image |
Docker Image for Init Container | "mysql:latest" |
initContainers.Volume.name |
Volume Name | "db-dump" |
initContainers.Volume.mountPath |
Volume Mount for Init Container | "/docker-entrypoint-initdb.d" |
To uninstall/delete the my-release deployment:
$ helm delete my-releaseThe command removes all the Kubernetes components associated with the chart and deletes the release.
Please reach out to us for queries and questions on contact@bitcot.com