因為用了k8s里搭建mysql-innodb-cluster,網上又好像沒有對應mysql-router的配置,雖然也簡單但能直接用最好啦,就簡單修改了下弄了對應配置
好吧,直接代碼。。。
Dockerfile(server.cicd:8089是私倉地址,自行更換唄)
FROM server.cicd:8089/common/percona-xtrabackup:8.0 LABEL maintainer="jiyilee" RUN apt-get update RUN apt-get install -y net-tools RUN apt-get install -y iputils-ping RUN apt-get purge -y percona-xtrabackup-80 RUN apt-get update && apt-get install -y mysql-shell RUN apt-get install -y mysql-router EXPOSE 6446 EXPOSE 6447 CMD ["bash", "-c", "tail -f /dev/null"]
install-router.sh(這里前提是在k8s里的mysql-service搭建好了mysql集群哦。。。好像是廢話~)
#!/usr/bin/env bash mysqlrouter --bootstrap root@mysql-primary-0.mysql-service:3306 -d myrouter --user=root #myrouter/start.sh #ps -ef|grep myroute #mysql -u root -h 127.0.0.1 -P 6446 -p
deploy-mysql-router.yaml ingress-mysql-router.yaml service-nodeport.yaml(k8s文件,分三個、合一個你喜歡)
#創建service為mysql-router
apiVersion: v1
kind: Service
metadata:
name: mysql-router
namespace: default
spec:
ports:
- name: router-port
#targetPort: 6446
port: 6446
clusterIP: None
selector:
app: mysql-router
---
#創建后端服務的pod
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql-router-backend-pod
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: mysql-router
template:
metadata:
labels:
app: mysql-router
spec:
containers:
- name: mysql-router
image: server.cicd:8089/common/mysql-router
ports:
- name: router-port
containerPort: 6446
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-mysql-router
namespace: default
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: mysql-router.cicd
http:
paths:
- path:
backend:
serviceName: mysql-router
servicePort: 6446
---
apiVersion: v1
kind: Service
metadata:
name: mysql-router-ingress-nginx
namespace: default
labels:
app: mysql-router
spec:
type: NodePort
ports:
- name: router-port
port: 6446
targetPort: 6446
protocol: TCP
nodePort: 36446
selector:
app: mysql-router
ok了, 其實整個東東很簡單,當然直接mysql-router-service那type:NodePort也行。。。
再做個mysql-router.cicd域名指向,最后就可以這樣訪問了
mysql -u root -h mysql-router.cicd -P 36446 -p
PS,還是router簡單,而不是什么mycat之類。