Skip to content

Instantly share code, notes, and snippets.

@Kaijun
Last active March 29, 2019 07:46
Show Gist options
  • Save Kaijun/34f8e6a7d8a9186d0ade5de4987ba59d to your computer and use it in GitHub Desktop.
Save Kaijun/34f8e6a7d8a9186d0ade5de4987ba59d to your computer and use it in GitHub Desktop.
simple app template
apiVersion: v1
kind: ConfigMap
metadata:
name: wp-config-{{.Release.Name}}
data:
mysql_root_password: {{.Values.mysqlPassword}}
wordpress_db_password: {{.Values.wordpressPassword}}
---
apiVersion: v1
kind: Service
metadata:
name: mysql-{{.Release.Name}}
labels:
app: wordpress
spec:
ports:
- port: 3306
selector:
app: wordpress
tier: mysql
clusterIP: None
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pvc-{{.Release.Name}}
labels:
app: wordpress
spec:
storageClassName: ceph
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql-{{.Release.Name}}
labels:
app: wordpress
spec:
serviceName: mysql
replicas: 1
selector:
matchLabels:
app: wordpress
tier: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: wordpress
tier: mysql
spec:
containers:
- image: mysql:5.6
name: mysql
resources:
limits:
cpu: "1"
memory: 1Gi
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
configMapKeyRef:
name: wp-config-{{.Release.Name}}
key: mysql_root_password
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-pvc-{{.Release.Name}}
---
apiVersion: v1
kind: Service
metadata:
name: wp-{{.Release.Name}}
labels:
app: wordpress
spec:
ports:
- port: 80
selector:
app: wordpress
tier: frontend
type: ClusterIP
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: wp-{{.Release.Name}}
annotations:
qiniu.com/ingress-type: alb
spec:
rules:
- host: {{.Release.Name}}.cloudapp.com
http:
paths:
- backend:
serviceName: wp-{{.Release.Name}}
servicePort: 80
path: /
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: wordpress-{{.Release.Name}}
labels:
app: wordpress
spec:
replicas: {{.Values.wordpressReplicas}}
selector:
matchLabels:
app: wordpress
tier: frontend
strategy:
type: Recreate
template:
metadata:
labels:
app: wordpress
tier: frontend
spec:
containers:
- image: wordpress:4.8-apache
name: wordpress
resources:
limits:
cpu: "1"
memory: 1Gi
env:
- name: WORDPRESS_DB_HOST
value: mysql-{{.Release.Name}}
- name: WORDPRESS_DB_PASSWORD
valueFrom:
configMapKeyRef:
name: wp-config-{{.Release.Name}}
key: wordpress_db_password
ports:
- containerPort: 80
name: wordpress
mysqlPassword - root123
wordpressPassword - root123
wordpressReplicas - 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment