k8s上运行mysql

k8s中跑mysql要求:

  1. 可通过节点ip访问mysql.
  2. pod可以访问mysql.
  3. 机器重启后mysql数据不丢失.
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: mysql
spec:
  template:
    metadata:
      labels:
        app: mysql
    spec:
      nodeName: node1 #指定pod只能调度到node1上
      containers:
      - image: mysql:5.6
        name: mysql
        env:
        - name: 'MYSQL_ROOT_PASSWORD'
          value: 'root'
        - name: "TZ"
          value: "Asia/Shanghai" #指定mysql容器的时区为CST,默认为UTC
        ports:
        - containerPort: 3306
        volumeMounts:
        - mountPath: /var/lib/mysql
          name: mysql-volume
      volumes:
      - name: mysql-volume # 使用hostPath讲数据文件挂载出来
        hostPath:
          path: /data/mysql
---
apiVersion: v1
kind: Service
metadata: 
  name: mysql
spec:
  selector:
    app: mysql
  type: NodePort
  ports:
  - port: 3306 # pod中通过 mysql:3306 访问
    nodePort: 32306 # 集群外部通过 节点IP:32306访问
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

使用hostPath类型的volume持久化数据文件,nodeName固定调度节点,NodePort暴露服务.
肥肠地方便.


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 wzslw@163.com

文章标题:k8s上运行mysql

文章字数:192

本文作者:武继明

发布时间:2019-07-12, 17:19:17

最后更新:2020-08-21, 06:30:57

原始链接:https://www.omingo.com/2019/07/12/k8s上运行mysql/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

0 条评论
未登录用户
Error: Not Found.
支持 Markdown 语法

来做第一个留言的人吧!

目录
×

喜欢就点赞,疼爱就打赏