diff --git a/kubernetes-templates/wordpress/0/mysql-service.yaml b/kubernetes-templates/wordpress/0/mysql-service.yaml deleted file mode 100644 index e2bbd93..0000000 --- a/kubernetes-templates/wordpress/0/mysql-service.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - labels: - name: mysql - name: mysql -spec: - ports: - # the port that this service should serve on - - port: 3306 - # label keys and values that must match in order to receive traffic for this service - selector: - name: mysql diff --git a/kubernetes-templates/wordpress/0/mysql.yaml b/kubernetes-templates/wordpress/0/mysql.yaml index 4bb3d99..dfc2d72 100644 --- a/kubernetes-templates/wordpress/0/mysql.yaml +++ b/kubernetes-templates/wordpress/0/mysql.yaml @@ -1,4 +1,16 @@ apiVersion: v1 +kind: Service +metadata: + labels: + name: mysql + name: mysql +spec: + ports: + - port: 3306 + selector: + name: mysql +--- +apiVersion: v1 kind: Pod metadata: name: mysql @@ -13,19 +25,24 @@ spec: name: mysql env: - name: MYSQL_ROOT_PASSWORD - # change this - value: yourpassword + value: ${WP_PASSWORD} ports: - containerPort: 3306 name: mysql volumeMounts: - # name must match the volume name below - - name: mysql-persistent-storage - # mount path within the container + - name: mysql-ephemeral-storage mountPath: /var/lib/mysql + # we're alive when the socket opens + livenessProbe: + tcpSocket: + port: "mysql" + initialDelaySeconds: 5 + timeoutSeconds: 1 + # this may leak the password to logs + readinessProbe: + exec: + command: ["mysqladmin", "status", "-p${WP_PASSWORD}"] volumes: - - name: mysql-persistent-storage - gcePersistentDisk: - # This GCE PD must already exist. - pdName: mysql-disk - fsType: ext4 + # move a pod, lose your data + - name: mysql-ephemeral-storage + emptyDir: {} diff --git a/kubernetes-templates/wordpress/0/rancher-compose.yml b/kubernetes-templates/wordpress/0/rancher-compose.yml index e8ec735..626029e 100644 --- a/kubernetes-templates/wordpress/0/rancher-compose.yml +++ b/kubernetes-templates/wordpress/0/rancher-compose.yml @@ -2,3 +2,14 @@ name: "K8s Example Wordpress" version: "1.0.0" description: "" + questions: + - variable: "WP_PASSWORD" + label: "Mysql database password" + required: true + default: "wordpress" + type: "string" + - variable: "SERVICE_PORT" + label: "Service port" + required: true + default: 80 + type: "int" diff --git a/kubernetes-templates/wordpress/0/wordpress-service.yaml b/kubernetes-templates/wordpress/0/wordpress-service.yaml deleted file mode 100644 index 6157b77..0000000 --- a/kubernetes-templates/wordpress/0/wordpress-service.yaml +++ /dev/null @@ -1,14 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - labels: - name: wpfrontend - name: wpfrontend -spec: - ports: - # the port that this service should serve on - - port: 80 - # label keys and values that must match in order to receive traffic for this service - selector: - name: wordpress - type: LoadBalancer diff --git a/kubernetes-templates/wordpress/0/wordpress.yaml b/kubernetes-templates/wordpress/0/wordpress.yaml index 33ae07f..01816b7 100644 --- a/kubernetes-templates/wordpress/0/wordpress.yaml +++ b/kubernetes-templates/wordpress/0/wordpress.yaml @@ -1,4 +1,17 @@ apiVersion: v1 +kind: Service +metadata: + labels: + name: wpfrontend + name: wpfrontend +spec: + ports: + - port: ${SERVICE_PORT} + selector: + name: wordpress + type: LoadBalancer +--- +apiVersion: v1 kind: Pod metadata: name: wordpress @@ -10,19 +23,13 @@ spec: name: wordpress env: - name: WORDPRESS_DB_PASSWORD - # change this - must match mysql.yaml password - value: yourpassword + value: ${WP_PASSWORD} ports: - - containerPort: 80 + - containerPort: ${SERVICE_PORT} name: wordpress volumeMounts: - # name must match the volume name below - - name: wordpress-persistent-storage - # mount path within the container + - name: wordpress-ephemeral-storage mountPath: /var/www/html volumes: - - name: wordpress-persistent-storage - gcePersistentDisk: - # This GCE PD must already exist. - pdName: wordpress-disk - fsType: ext4 + - name: wordpress-ephemeral-storage + emptyDir: {}