写在前面
本文接k8s之ingress 。
本文看一个基于ingress作为流量入口的实战例子,架构图如下:
接下来详细看下。
1:部署MariaDB
首先我们需要定义MariaDB使用的configmap,如下:
apiVersion: v1
kind: ConfigMap
metadata:
name: maria-cm
data:
DATABASE: 'db'
USER: 'wp'
PASSWORD: '123'
ROOT_PASSWORD: '123'
然后需要定义后MariaDB的deploy来维持MariaDB的POD数在一定个数,如下:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: maria-dep
name: maria-dep
spec:
replicas: 1
selector:
matchLabels:
app: maria-dep
template:
metadata:
labels:
app: maria-dep
spec:
containers:
- image: mariadb:10
name: mariadb
ports:
- containerPort: 3306
envFrom:
- prefix: 'MARIADB_'
configMapRef:
name: maria-cm
最后定义MariaDB的POD的service,这样可以域名方式访问POD,这样就不用关心POD的退出和新建而导致的IP地址变化问题,yaml如下:
apiVersion: v1
kind: Service
metadata:
labels:
app: maria-dep
name: maria-svc
spec:
ports:
- port: 3306
protocol: TCP
targetPort: 3306
selector:
app: maria-dep
最后我们使用---
将以上3个yaml定义在一个文件中,然后apply如下:
dongyunqi@mongodaddy:~/k8s$ kubectl apply -f wp-mari