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

k8s_使用k8s部署博客系统deployment(四)的更多相关文章

  1. 【干货】利用MVC5+EF6搭建博客系统(四)(下)前后台布局实现、发布博客以及展示

    二.博客系统后台布局实现 2.1.这里所用的是MVC的布局页来实现的,后台主要分为三部分:导航.菜单.主要内容 代码实现: 这里把后台单独放在一个区域里面,所以我这里建立一个admin的区域 在布局页 ...

  2. 【干货】利用MVC5+EF6搭建博客系统(四)(上)前后台页面布局页面实现,介绍使用的UI框架以及JS组件

    一.博客系统进度回顾以及页面设计 1.1页面设计说明 紧接前面基础基本完成了框架搭建,现在开始设计页面,前台页面设计我是模仿我博客园的风格来设计的,后台是常规的左右布局风格. 1.2前台页面风格 主页 ...

  3. 【云原生 · Kubernetes】部署博客系统

    [云原生 · Kubernetes]Kubernetes运维 接着上次的内容,后续来了! (1)配置NFS服务 master节点安装NFS与RPC服务: # yum install -y nfs-ut ...

  4. 使用docker部署WordPress博客系统(win10企业版)

    docker介绍: docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相 ...

  5. 如何快速部署国人开源的 Java 博客系统 Tale

    除了闷头专研技术之外,程序员还需要不断地写作进行技术积累,写博客是其中最重要的方式之一.商业博客平台不少,但是更符合程序员背景的方案,是自己开发一个博客平台或者使用开源的博客平台. 开源的博客平台多如 ...

  6. linux下部署tomcat 上线jpress博客系统

    tomcat Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器. tomcat有三个端口 开始部署 安装tomcat 第一步:下载tomcat 安装包 tomcat官网 ...

  7. 在github Pages上部署octopress搭建个人博客系统

    原文链接:http://caiqinghua.github.io/blog/2013/08/26/deploy-octopress-to-github-pages/ 引子 上一篇博客已经说了为什么要搭 ...

  8. Docker 方式部署 Solo 博客系统总结

      此篇为Docker部署方式,另有Tomcat部署方式,请参考文章<Tomcat 方式部署 Solo 博客系统总结>   最近搭建了一个博客系统,作为自己的主页,方便记录一些平时所见所闻 ...

  9. Tomcat 方式部署 Solo 博客系统总结

      此篇为Tomcat部署方式,另有Docker部署方式,请参考文章<Docker 方式部署 Solo 博客系统总结> 一.环境和文件准备 服务器:购买的阿里云服务器,系统为Linux(C ...

  10. Centos 7使用docker部署LAMP搭建wordpress博客系统

    0.简要概述 LAMP是目前比较流行的web框架,即Linux+Apache+Mysql+PHP的网站架构方案.docker是目前非常流行的虚拟化应用容器,可以为任何应用创建一个轻量级.可移植的容器. ...

随机推荐

  1. Appium常见属性和命令

    from appium import webdriverimport time, tracebackdesired_caps = {}desired_caps['platformName'] = 'A ...

  2. 7.Object

    Object类 超类.基类,所以类的直接或间接父类,位于继承树的最顶层 任何类,如没有书写extends显示继承某个类,都默认直接继承Object类,否则为间接继承 Object类中所定义的方法,是所 ...

  3. docker tar包下载地址

    https://download.docker.com/linux/static/stable/x86_64/

  4. CentOS7下MySQL数据的导入和导出

    一.数据导入 (1)进入mysql [root@localhost mysql]# mysql -u root -p (2)转到对应数据库下 mysql> use zenith_star; (3 ...

  5. 088_BatchApex_Callout

    global class BatchSync implements Database.Batchable<sObject>, Database.AllowsCallouts { publi ...

  6. el-scrollbar滚动加载

    mounted() { 监听滚动条       this.$refs.scrollbar.wrap.addEventListener("scroll", this.scrollCo ...

  7. python 在路径下创建文件/文本文件 没有路径自动创建

    1.一般在执行文件的同级目录下创建一个文本文件: file = open("1.txt", "w", encoding="utf8") # ...

  8. 莫凡Python 3

    莫凡Python 3 新建模板小书匠 CNN 卷积神经网络 参考资料 https://morvanzhou.github.io/tutorials/machine-learning/keras/2-3 ...

  9. 关于MYSQL知识点复习

    关于MYSQL关联查询JOIN:   https://www.cnblogs.com/withscorpion/p/9454490.html

  10. 达芬奇18.1.2安装包下载+软件详细破解安装教程(Win&Mac)

    DaVinci Resolve v18.1.2是一款在同一个软件工具中,将剪辑.调色.视觉特效.动态图形和音频后期制作融于一身的解决方案!它采用美观新颖的界面设计,易学易用,能让新手用户快速上手操作, ...