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. centos 修改ip

    TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6IN ...

  2. CF1764G1 题解

    题意 传送门 交互库有一个 \([1,n]\) 的排列 \(p\),你可以询问 \(l,r,k\),交互库会返回 \(\lfloor\dfrac{p_l}{k}\rfloor,\lfloor\dfra ...

  3. 2023 年 CCF 春季测试赛模拟赛 - 1

    T1 个人思路: 询问:求 \(1\) 到 \(t_i\) 路径上离 \(1\) 最远的 \(p\),使得 \(dis_{1,p} \times 2 \le d_i\).即 \(dis_{1,t} \ ...

  4. lg8935 [JRKSJ R7] 茎 题解

    由于标签内包含背包和树形dp,所以考虑用背包dp和树形dp求解. 考虑每次合并2个连通块(一个包含根节点),设\(f_{i,j}\)表示\(i\)子树内,操作\(j\)次的方案数(未合并连通块),设\ ...

  5. git手记

    参照的是http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000这里的,git教程确实写得不 ...

  6. c++ sizeof详解

    c语言详解sizeof   原文地址:http://blog.sina.com.cn/s/blog_5da08c340100bmwu.html 一.sizeof的概念   sizeof是C语言的一种单 ...

  7. ubuntu下安装lua和tolua++

    先安装lua,然后安装toluapp 1.官网下载lua5.3或者5.2的版本 2.readline开发包安装 apt-get install libreadline-dev 3.解压源码包来编译安装 ...

  8. SqlServer基礎

    REVERSE(欄位) 反轉 CHARINDEX(篩選字符,欄位,[start]) 例:CHARINDEX('/',ProImage,13) 從13位查詢/所在索引 SUBSTRING(欄位,star ...

  9. Java基础_字符串比较

    字符串之间的比较 compareTo "==" equals compareTo 示例: compareTo(string) compareToIgnoreCase(String) ...

  10. react native 状态栏和安全区域的使用

    1.  状态栏组件,react native文档提供了说明.我需要的是设置透明效果,如下图. 代码如下 <StatusBar translucent={true} backgroundColor ...