mysql deployment

前面的nfs  pv pvc secret configmap service等k8s对象已经创建好了,准备工作已经完成;现在可以开始准备deployment配置文件了。

下面是wordpress系统中mysql的deployment配置文件,需要注释的地方有详细的注解。

#api版本
apiVersion: apps/v1
kind: Deployment
metadata:
#deployment的名称
name: wordpress-mysql
#mysql deployment本身的label
labels:
app: wordpress
tier: mysql
spec:
selector:
#deployment选择有下面两个标签的pod配置信息进行部署
matchLabels:
app: wordpress
tier: mysql-pod
strategy:
#配置deployment的升级方式
type: Recreate
#pod的配置信息
template:
metadata:
#pod的label,与上面selector配置项的label对应
labels:
app: wordpress
tier: mysql-pod
spec:
#pod内container相关配置信息
containers:
#container使用的镜像信息
- image: mysql:5.7
#container名称
name: mysql
#container使用的一些参数配置
env:
#MYSQL_ROOT_PASSWORD参数配置信息,这些参数在镜像说明文档里会有介绍
- name: MYSQL_ROOT_PASSWORD
valueFrom:
#从名称为mysql-pass的secret对象读取password这个key对应的value信息,将其作为MYSQL_ROOT_PASSWORD的值传给container.
secretKeyRef:
#找到mysql-pass
name: mysql-pass
key: password
- name: MYSQL_DATABASE
valueFrom:
#从名称为mysql-config的configmap对象读取key为db-name的值,将其作为MYSQL_DATABASE的值传给container
configMapKeyRef:
#找到mysql-config
name: mysql-config
key: db-name
#这里对ports进行命名,具体映射container端口到clusterip在service配置文件的selector已经选中这个pod进行映射了
ports:
- containerPort: 3306
name: mysql
#数据持久化信息
volumeMounts:
#使用名称为mysql-persistent-storage的volumes配置进行数据持久化
- name: mysql-persistent-storage
#container中需要进行数据持久化的路径
mountPath: /var/lib/mysql
#持久化存储配置
volumes:
#配置名,与上面volumeMounts中的name对应
- name: mysql-persistent-storage
#使用哪个pvc进行数据持久化,之前已经进行了pv和pvc的配置了,这里直接使用
persistentVolumeClaim:
claimName: mysql-pv-claim

wordpress deployment

wordpress deployment文件基本和mysql deployment配置文件类似,下面只对不相同的地方进行详细注释。

apiVersion: apps/v1
kind: Deployment
metadata:
name: wordpress
labels:
app: wordpress
tier: frontend
spec:
selector:
matchLabels:
app: wordpress
tier: frontend-pod
strategy:
type: Recreate
#升级方式 还有rollingUpdate
template:
metadata:
labels:
app: wordpress
tier: frontend-pod
spec:
containers:
- image: wordpress
name: wordpress
env:
- name: WORDPRESS_DB_HOST
#这里是将名称为mysql的service的ip传给container的WORDPRESS_DB_HOST变量。env没有配置valuefrom就是从service获取对应的配置
value: mysql
- name: WORDPRESS_DB_PASSWORD
valueFrom:
secretKeyRef:
#mysql 密码,通过指定secret资源对象的name和对象的key来获取
name: mysql-pass
key: password
- name: WORDPRESS_DB_USER
valueFrom:
configMapKeyRef:
#mysql 密码,通过指定secret资源对象的name和对象的key来获取
name: mysql-config
key: dbuser
ports:
- containerPort: 80
name: wordpress
volumeMounts:
- name: wordpress-persistent-storage
mountPath: /var/www/html
volumes:
- name: wordpress-persistent-storage
persistentVolumeClaim:
claimName: wordpress-pv-claim

最新文章

  1. 游戏服java程序启动,显示内存溢出
  2. Linux简史
  3. 【05】了解C++默默编写并调用那些函数
  4. iOS第三方库-CocoaLumberjack-DDLog (转)
  5. Javascript——依赖注入
  6. js对象的合并
  7. JAVA如何实现深拷贝
  8. 理解linux网络管理命令
  9. 一些leetcode算法题
  10. mssql 数据库表行转列,列转行 比较经典
  11. python---定义一个session类(无错)
  12. Linux简单了解
  13. Mac技巧之苹果电脑Mac OS X系统自带的鼠标所在点颜色RGB值查看工具:数码测色计
  14. 索引视图DEMO1
  15. js-ES6学习笔记-Class(3)
  16. 上云利器,K8S应用编排设计器之快到极致
  17. Linux学习14-ab报错apr_pollset_poll: The timeout specified has expired (70007)
  18. 180217_JAVA学习_TreeSet中存放含多个String的类并设置排序规则
  19. Centos 系统Java环境安装
  20. 91. Decode Ways(动态规划 26个字母解码个数)

热门文章

  1. z order curve
  2. Spark 要点总结及优化
  3. Electron 应用图标修改
  4. elasticsearch 内存分配设置
  5. 数据类型之字符串(string)(二)
  6. Java——IO框架
  7. mac 命令整理
  8. QT debug/moc_frmalarminfo.o:(.data.rel.ro._ZTV12FrmAlarmInfo[_ZTV12FrmAlarmInfo]+0x1c0): undefined reference to `non-virtual thunk to FrmAlarmInfo::~FrmAlarmInfo()'解决方法
  9. 2021-12-14 MobX分享
  10. git如何把本地文件夹和远程仓库关联