(24)k8s部署mysql

k8s部署mysql:

1.创建数据目录文件夹:

mkdir /var/lib/mysql

#创建配置目录:

mkdir cicd

eg:/home/kui/ccmysql/cicd

2.创建secret对象,存储mysql账号密码:

Secret对象:mysql-auth

#命令:

kubectl create secret generic mysql-auth --from-literal=username=root --from-literal=password=123456

#创建完成后查看mysql-auth对象

kubectl get secret

#查看secret对象yaml文件

kubectl get secret mysql-auth -o yaml

3.创建mysql deployment并完成pod部署:

创建deploy:deployment-cicd-mysql.yaml

vim deployment-cicd-mysql.yaml

yaml文件:

apiVersion: apps/v1

kind: Deployment

metadata:

name: cicd-mysql

spec:

replicas: 1

selector:

matchLabels:

app: cicd-mysql

template:

metadata:

labels:

app: cicd-mysql

spec:

containers:

  • name: cicd-mysql

image: drupalci/mysql-5.7

imagePullPolicy: IfNotPresent #镜像拉取策略:如果不存在就拉取镜像

args:

  • "--ignore-db-dir=lost+found"

ports:

  • containerPort: 3306

volumeMounts: #挂载数据卷

  • name: mysql-data

mountPath: "/var/lib/mysql" #挂载到容器内的目录

env: #环境变量

  • name: MYSQL_ROOT_PASSWORD

valueFrom:

secretKeyRef:

name: mysql-auth

key: password #引用mysql-auth中的password值

volumes: #数据卷

  • name: mysql-data

hostPath: #宿主机路径

path: /var/lib/mysql #宿主机的目录

type: Directory

备注:以下配置文档中有,但视频没用

tolerations:

  • key: "mysql"

operator: "Equal"

value: "true"

effect: "NoSchedule"

#创建mysql deployment:

#启动成功

kubectl apply -f deployment-cicd-mysql.yaml

4.创建mysql的service:

vim service-cicd-mysql.yaml

apiVersion: v1

kind: Service

metadata: #源数据

name: service-cicd-mysql

spec: #规格

selector: #选择器

app: cicd-mysql #与deployment配置中的container-name相对应

ports: #将pod的 3306端口代理到宿主机的3306端口

  • protocol: TCP

port: 3306

targetPort: 3306 #虚拟端口->真正的端口要看Service启动后实际分配的

type: NodePort #不写就不能访问到pod

相关推荐
黎陌MLing4 小时前
docker安装管理TDengine
docker·容器·tdengine
❀͜͡傀儡师6 小时前
docker部署Arcane容器可视化管理平台
运维·docker·容器
刀法如飞6 小时前
开箱即用的 DDD(领域驱动设计)工程脚手架,基于 Spring Boot 4.0.1 和 Java 21
java·spring boot·mysql·spring·设计模式·intellij-idea
zbguolei6 小时前
MySQL根据身份证号码计算出生日期和年龄
数据库·mysql
老姚---老姚6 小时前
docker常用命令
运维·docker·容器
luoluoal9 小时前
基于python大数据的电影市场预测分析(源码+文档)
python·mysql·django·毕业设计·源码
conca9 小时前
Java+MySQL时区难题-Date自动转换String差8小时
数据库·mysql
壹米饭9 小时前
MYSQL进阶:删除视图时视图被lock解决方案
后端·mysql
oMcLin10 小时前
如何在Ubuntu 22.04 LTS上配置并优化MySQL 8.0分区表,提高大规模数据集查询的效率与性能?
android·mysql·ubuntu
❀͜͡傀儡师11 小时前
docker一键部署HFish蜜罐
运维·docker·容器