Wordpress operator for Kubernetes
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
Vladimir Smagin 1108107876 fix readme typo 1 个月前
build bootstrap 7 个月前
cmd/manager bootstrap 7 个月前
deploy readme 1 个月前
pkg add logging to deletion 1 个月前
vendor use vendoring, add jenkins pipeline 3 个月前
version add pdb resource 1 个月前
.gitignore bootstrap 7 个月前
Dockerfile add pdb resource 1 个月前
Jenkinsfile use vendoring, add jenkins pipeline 3 个月前
README.md fix readme typo 1 个月前
VERSION add pdb resource 1 个月前
go.mod use vendoring, add jenkins pipeline 3 个月前
go.sum use vendoring, add jenkins pipeline 3 个月前
logo.png add logo 7 个月前
tools.go bootstrap 7 个月前


Wordpress operator for Kubernetes

Run multiple Wordpress instances in your Kubernetes cluster.

Build sources

Prebuilt images

You can find images here https://hub.docker.com/r/iam21h/wordpress-operator

Deploy operator

kubectl -f deploy/service_account.yaml
kubectl -f deploy/role.yaml
kubectl -f deploy/role_binding.yaml
kubectl -f deploy/operator.yaml

Your first Wordpress deployment

Use internal or external database. Internal database means a single pod with MariaDB without any replication or clusterization, my Wordpress operator is NOT MySQL operator. If you need database high availability use specific MySQL operator to create cluster.

Think scalability before first start, because you can’t mount ReadWriteOnce persistent volume to multiple pods (replicas > 1), so you need storage class with ReadWriteMany feature.

Changed: now PVCs not purging after custom resource deletion. To delete PVCs use special flags.

This sample resource can help you run your first instance with many pods:

apiVersion: blindage.org/v1alpha1
kind: Wordpress
  name: my-test-wordpress
  replicas: 3
  databaseVolumeSize: 1Gi
  wordpressVolumeSize: 2Gi
  # set storage class with ReadWriteMany feature
  wordpressStorageClass: nfs
  # purge PVCs after use
  databaseVolumeCleanup: true
  wordpressVolumeCleanup: true
    maxUnavailable: 1

podDisruptionBudget supports maxUnavailable and minAvailable, rules only Wordpress pods.

Or if you want to use external database and restore from backup:

apiVersion: blindage.org/v1alpha1
kind: Wordpress
  name: another
    databaseBackupFile: s3://mywpbackup/backup.sql.gz
    database: wordpress
    hostname: my-test-wordpress-database
    password: wordpress
    username: wordpress
  replicas: 1
  wordpressVolumeSize: 1Gi

Look to pkg/apis/blindage/v1alpha1/wordpress_types.go to find more parameters like affinity or annotations.

Copyright by Vladimir Smagin (21h) 2019
http://blindage.org email: 21h@blindage.org
Project page: https://git.blindage.org/21h/wordpress-operator