(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

相关推荐
zfoo-framework1 小时前
docker compose安装gitea实现公司内部开发git私有仓库
docker·容器·gitea
Chris _data2 小时前
从宿主机(Windows)通过 NAT 模式连接虚拟机(Ubuntu)中的 MySQL
windows·mysql·ubuntu
巧妹儿2 小时前
AI Agent 实战:MySQL 监控指标查询 Skill|华为云 + 腾讯云双兼容可直接复用
python·mysql·ai·大模型·华为云·腾讯云
w6100104662 小时前
CKAD-2026-Secret
运维·k8s·ckad
无巧不成书02182 小时前
基于WSL 2的Docker远程开发全栈实战指南
运维·docker·容器·docker desktop·wsl 2·vs code远程开发·容器化开发
Renhao-Wan2 小时前
Docker 核心原理详解:镜像、容器、Namespace、Cgroups 与 UnionFS
java·后端·docker·容器
Eloudy2 小时前
docker pull ubuntu:22.04 失败的解决记录
运维·docker·容器
Wait....2 小时前
MySQL事务知识复习
数据库·mysql
我真会写代码3 小时前
MySQL高频面试题(含详细解析):从基础到高级,备战面试不踩坑
数据库·mysql·面试
qq_283720053 小时前
MySQL 8.0新特性高频面试题 30 道(超详细答案)
数据库·mysql·面试·mysql8·高频试题