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. Linux操作命令(一)1.ls命令 2.cd命令 3.pwd命令

    1.ls 命令 ls 命令就是 list 的缩写, ls 用来打印出当前目录的清单. 参数 描述 -a –all 列出目录下的所有文件,包括以 . 开头的隐含文件 -l 除了文件名之外,还将文件的权限 ...

  2. 红米手机LineageOS Root(实操)

    https://magiskcn.com/ 机型:红米note8 采用Magisk进行root,LineageOS官网的suroot包不会玩,安装失败 从LineageOS系统包中解压出boot.im ...

  3. Linux命令执行时,提示commond not found的处理办法

    执行chattr命令时,或其他命令时,若出现命令没发现,commond not found 那么就是有可能命令文件丢了,执行find / -name chattr,如果没有命令了,可以拷贝一个或yum ...

  4. BackTrader 简单BTC的SMA15回测DEMO

    import time import requests import json import csv from requests.packages.urllib3 import disable_war ...

  5. HTML初步了解

    W3C:万维网联盟,是国际化最著名的标准化组织. HTML:(Hyper Text Markup Language )超文本标记语言,网页编程语言,用于定义文档的内容和结构. CSS:(Cascadi ...

  6. u8g2 资料汇集

    移植U8g2 https://www.cnblogs.com/frozencandles/p/16358483.html 函数接口说明: https://github.com/olikraus/u8g ...

  7. mac + win ,用python一行代码批量下载哔哩哔哩视频

    ​ 首先,你的机器已经安装python,然后是安装you-get. 打开终端,输入 pip3 install you-get,回车,即开始安装,如下图所示. ​编辑 安装成功后,比如要下载某个视屏,首 ...

  8. 【Linux】ArchLinux 使用之旅

    主要参考以下两个链接进行,安装系统和安装桌面环境. 以官方Wiki的方式安装ArchLinux | viseator's blog ArchLinux安装后的必须配置与图形界面安装教程 | visea ...

  9. pg9.6使用索引

    使用索引 索引是用于快速数据检索操作的结构.在数据库世界中,索引与表相关联并用于有效定位数据,而无需查询数据库表中的每一行.如果表没有索引,则需要全表扫描才能找到记录,这在磁盘 I/O 和 CPU 利 ...

  10. C/C++ union联合体介绍

    C/C++ union联合体介绍 文章参考:https://blog.csdn.net/mooneve/article/details/92703036 目录 C/C++ union联合体介绍 1. ...