From 203ec80fc973f19e8a450605508523a531748f87 Mon Sep 17 00:00:00 2001 From: "huanqing.shao" Date: Fri, 8 Nov 2019 22:44:08 +0800 Subject: [PATCH] warning --- .vuepress/config-sidebar.js | 7 ++ .../ptc/lnmp/wordpress-deployment.yaml | 67 +++++++++++++++ .../learning/ptc/lnmp/wordpress-mysql.yaml | 65 +++++++++++++++ guide/example/monitor.md | 11 +-- .../image-20191108220746427.png | Bin 0 -> 90216 bytes install/faq/warning.md | 66 +++++++++++++++ learning/k8s-practice/lnmp/wordpress.md | 77 ++++++++++++++++++ support/change-log/change-log-on-the-way.md | 5 ++ 8 files changed, 293 insertions(+), 5 deletions(-) create mode 100644 .vuepress/public/statics/learning/ptc/lnmp/wordpress-deployment.yaml create mode 100644 .vuepress/public/statics/learning/ptc/lnmp/wordpress-mysql.yaml create mode 100644 install/faq/warning.assets/image-20191108220746427.png create mode 100644 install/faq/warning.md create mode 100644 learning/k8s-practice/lnmp/wordpress.md diff --git a/.vuepress/config-sidebar.js b/.vuepress/config-sidebar.js index 4015747..381a64d 100644 --- a/.vuepress/config-sidebar.js +++ b/.vuepress/config-sidebar.js @@ -434,6 +434,13 @@ module.exports = { }, ] }, + // { + // title: '部署LNMP应用', + // collapsable: true, + // children: [ + // '/learning/k8s-practice/lnmp/wordpress' + // ] + // } ] } ], diff --git a/.vuepress/public/statics/learning/ptc/lnmp/wordpress-deployment.yaml b/.vuepress/public/statics/learning/ptc/lnmp/wordpress-deployment.yaml new file mode 100644 index 0000000..d898474 --- /dev/null +++ b/.vuepress/public/statics/learning/ptc/lnmp/wordpress-deployment.yaml @@ -0,0 +1,67 @@ +apiVersion: v1 +kind: Service +metadata: + name: wordpress + labels: + app: wordpress +spec: + ports: + - port: 80 + selector: + app: wordpress + tier: frontend + type: LoadBalancer +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: wp-pv-claim + labels: + app: wordpress +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi +--- +apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2 +kind: Deployment +metadata: + name: wordpress + labels: + app: wordpress +spec: + selector: + matchLabels: + app: wordpress + tier: frontend + strategy: + type: Recreate + template: + metadata: + labels: + app: wordpress + tier: frontend + spec: + containers: + - image: wordpress:4.8-apache + name: wordpress + env: + - name: WORDPRESS_DB_HOST + value: wordpress-mysql + - name: WORDPRESS_DB_PASSWORD + valueFrom: + secretKeyRef: + name: mysql-pass + key: password + ports: + - containerPort: 80 + name: wordpress + volumeMounts: + - name: wordpress-persistent-storage + mountPath: /var/www/html + volumes: + - name: wordpress-persistent-storage + persistentVolumeClaim: + claimName: wp-pv-claim diff --git a/.vuepress/public/statics/learning/ptc/lnmp/wordpress-mysql.yaml b/.vuepress/public/statics/learning/ptc/lnmp/wordpress-mysql.yaml new file mode 100644 index 0000000..8b92b76 --- /dev/null +++ b/.vuepress/public/statics/learning/ptc/lnmp/wordpress-mysql.yaml @@ -0,0 +1,65 @@ +apiVersion: v1 +kind: Service +metadata: + name: wordpress-mysql + labels: + app: wordpress +spec: + ports: + - port: 3306 + selector: + app: wordpress + tier: mysql + clusterIP: None +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mysql-pv-claim + labels: + app: wordpress +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 20Gi +--- +apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2 +kind: Deployment +metadata: + name: wordpress-mysql + labels: + app: wordpress +spec: + selector: + matchLabels: + app: wordpress + tier: mysql + strategy: + type: Recreate + template: + metadata: + labels: + app: wordpress + tier: mysql + spec: + containers: + - image: mysql:5.6 + name: mysql + env: + - name: MYSQL_ROOT_PASSWORD + valueFrom: + secretKeyRef: + name: mysql-pass + key: password + ports: + - containerPort: 3306 + name: mysql + volumeMounts: + - name: mysql-persistent-storage + mountPath: /var/lib/mysql + volumes: + - name: mysql-persistent-storage + persistentVolumeClaim: + claimName: mysql-pv-claim diff --git a/guide/example/monitor.md b/guide/example/monitor.md index d55bcff..6c8ab38 100644 --- a/guide/example/monitor.md +++ b/guide/example/monitor.md @@ -12,6 +12,7 @@ description: 使用Kuboard在Kubernetes上安装监控套件,并对example微 必须具备如下条件: * 已完成 [导入 example 微服务](/guide/example/import.html) +* 已配置了 NFS [StorageClass](/learning/k8s-intermediate/persistent/storage-class.html) ::: warning @@ -19,6 +20,10 @@ description: 使用Kuboard在Kubernetes上安装监控套件,并对example微 ::: +::: tip +许多网友自己搭建 NFS 测试环境,再创建 NFS存储类,经常碰到 `access denied` 这类权限问题。为了帮助大家更快地完成 NFS 测试环境搭建,Kuboard提供了一篇NFS相关的简明文档,请参考 [搭建NFS Server](/learning/k8s-intermediate/persistent/nfs.html) +::: + 假设您已进入 example 名称空间,如下图所示: ![Kubernetes教程:在Kuboard中监控-进入名称空间](./import.assets/image-20190723121433809.png) @@ -29,11 +34,7 @@ description: 使用Kuboard在Kubernetes上安装监控套件,并对example微 ### 安装全局监控套件 -::: tip -许多网友自己搭建 NFS 测试环境,再创建 NFS存储类,经常碰到 `access denied` 这类权限问题。为了帮助大家更快地完成 NFS 测试环境搭建,Kuboard提供了一篇NFS相关的简明文档,请参考 [搭建NFS Server](/learning/k8s-intermediate/persistent/nfs.html) -::: - -* 在 master 节点执行 此步骤不可忽略 +* 在 master 节点执行 此步骤必须执行 ```bash kubectl -n kube-system create secret generic etcd-certs --from-file=/etc/kubernetes/pki/etcd/server.crt --from-file=/etc/kubernetes/pki/etcd/server.key diff --git a/install/faq/warning.assets/image-20191108220746427.png b/install/faq/warning.assets/image-20191108220746427.png new file mode 100644 index 0000000000000000000000000000000000000000..4b6e5e500a0f010f322eef219560f3581c7a795c GIT binary patch literal 90216 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 literal 0 HcmV?d00001 diff --git a/install/faq/warning.md b/install/faq/warning.md new file mode 100644 index 0000000..7c43b0a --- /dev/null +++ b/install/faq/warning.md @@ -0,0 +1,66 @@ +--- +vssueId: 150 +description: Kuboard界面上_时常会出现工作负载_Deployment_StatefulSet_DaemonSet_等为红色_且带一个红色E图标的情况_本文解释了该图标的含义以及如何清理 +meta: + - name: keywords + content: Kubernetes 管理界面, Kuboard, K8S管理界面 +--- + +# 错误提示 + +Kuboard中经常会出现如下情况,某一个工作负载(Deployment/StatefulSet/DaemonSet等)显示为红色,且有一个闪烁的红色 `E` 图标。 + +![image-20191108220746427](./warning.assets/image-20191108220746427.png) + +此为 Kuboard 中设计的一个错误提示方式,其具体实现方式是: +* 遍历当前的所有事件,对于每一个事件: + * 如果事件类型为 Normal,则跳过 + * 如果事件类型为 Warining,则对比该事件源对象(产生该事件的Kubernetes 对象)的名字(假设为 event_source_name)与当前工作负载(假设为work_load_name)的名字: + * 如果 event_source_name.indexOf(work_load_name) === 0,则该工作负载显示错误提示 + * 如果 event_source_name.indexOf(work_load_name) !== 0,则跳过 + +使用此方式,我们可以快速查看到名称空间中存在问题的工作负载,并迅速对其进行诊断。 + +但是这种告警方式并不是完美的,具体来说,会发生如下情况: + +## 实际正常,但提示错误 + +实际上,您的工作负载(Deployment、StatefulSet、DaemonSet等)已经正常工作,但是仍然提示有错误信息。此种情况通常发生在类似如下的场景中: + +### 场景一: + +* 创建Deployment,但未创建所需要的PVC + * 此时该Deployment的Pod不能调度,并伴随着 PVC 未绑定的错误事件 +* 创建PVC,Pod成功调度,Deployment正常工作 + * 此时,虽然Pod已经正常,但是该Pod原来的错误事件仍然存在,因此Kuboard仍然会显示此错误提示 + +### 场景二: + +* 创建Deployment,但该Deployment依赖的数据库未启动 + * 此时该Deployment的Pod将Crash +* 启动数据库 +* 删除Deployment原有的Pod + * 此时Deployment创建新Pod以维持所需要的副本数 + * 新的Pod正常工作 + * 此时,虽然与错误事件关联的Pod已经删除,但是该Pod产生的错误事件仍然存在,且与Deployment的名称匹配,因此,Kuboard仍将显示错误标志 + +### 修正办法 + +* 在名称空间左上角点击 **事件** 按钮,将进入事件列表查看界面 +* 将已经失效的错误事件删除 + > 点击事件的图标,可删除事件 + +## 界面卡顿 + +当名称空间中工作负载的数量,以及集群中错误事件的数量特别多时,在进入名称空间界面时可能出现卡顿,但是只要成功进入,一切工作都是正常的。 + +卡顿的原因是,Kuboard在循环遍历事件与工作负载的匹配情况,通常只有在在工作负载数量和事件数量都特别多时,才会出现卡顿,在 1.0.4 版本中优化之后,速度已经得到了非常可观的提升。 + +如果您仍然碰到了卡顿的现象,可以尝试: +* 删除事件 + + 执行命令 `kubectl delete events --all-namespaces`。由于 Kubernetes 的控制器模式,Kubernetes会不断尝试失败的操作,因此,删除事件通常是安全的,过一阵子,原有的错误事件又会重复出现 + +* 向Kuboard反馈此问题 + + 本文页尾有Kuboard支持社群的入群方式,直接联系群主即可 diff --git a/learning/k8s-practice/lnmp/wordpress.md b/learning/k8s-practice/lnmp/wordpress.md new file mode 100644 index 0000000..c7d15f9 --- /dev/null +++ b/learning/k8s-practice/lnmp/wordpress.md @@ -0,0 +1,77 @@ +--- +# vssueId: 67 +layout: LearningLayout +lessAds: true +description: Kubernetes教程_本文描述了如何在K8S上部署一个WordPress和MySQL应用_并将数据存储在PersistentVolume中 +meta: + - name: keywords + content: Kubernetes教程,K8S教程,K8S PHP,K8S培训,K8S教程 +--- + +# 在K8S上部署WordPress和MySQL + + + +> 参考文档: [Example: Deploying WordPress and MySQL with Persistent Volumes](https://kubernetes.io/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/) + +本文描述了如何在K8S上部署一个WordPress和MySQL应用,本文中WordPress和MySQL都使用 PersistentVolume 和 PersistentVolumeClaim 存储数据。 + +[PersistentVolume](/learning/k8s-intermediate/persistent/pv.html) 是集群中可用的一片存储空间,通常由集群管理员手工提供,或者由 Kubernetes 使用 [StorageClass](/learning/k8s-intermediate/persistent/storage-class.html) 自动提供。 + +[PersistentVolumeClaim](/learning/k8s-intermediate/persistent/pv.html#存储卷和存储卷声明的关系) 代表了用户(应用程序)对存储空间的需求,此需求可由 PersistentVolume 满足。 + +PersistentVolume 和 PersistentVolumeClaim 都是独立于 Pod 的生命周期,可用于在 Pod 重启、重新调度、甚至删除之后保存数据。 + +::: danger 警告 +本文中的例子不适合用于生产环境使用,因为例子中使用了一个 WordPress 实例和一个 MySQL 实例。可以考虑使用 [WordPress Helm Chart](https://github.com/kubernetes/charts/tree/master/stable/wordpress) 在生产环境中部署 WordPress。 +::: + +[[TOC]] + + + +## 主要步骤 + +* 创建 PersistentVolumeClaim 和 PersistentVolume +* 创建一个 `kustomization.yaml`,其中包括: + * 一个 Secret generator + * MySQL配置资源 + * WordPress配置资源 +* 执行 `kubectl apply -k ./` 将 kustomization 目录应用到集群 +* 执行清理 + +## 前提条件 + +* 您必须有一个K8S集群 + * 可参考 [安装Kubernetes单Master节点集群](/install/install-k8s.html) + * kubectl 版本不低于 1.14,可参考 [安装kubectl](/install/install-kubectl.html) +* 在执行 kubectl 命令的机器上任意位置创建一个空白目录用于本例子的执行。本文假设后续所有命令的当前目录都是此时创建的这个目录。 + +## 创建PersistentVolumeClaim和PersistentVolume + +MySQL 和 WordPress 都需要一个 PersistentVolume 存储数据。他们的 PersistentVolumeClaim 将被在部署应用时创建。 + +## 创建kustomization.yaml + +### 添加一个Secret generator + +[Secret](/learning/k8s-intermediate/config/secrets/) 对象可以存储敏感信息,例如 password 或者 key。自 Kubernetes 1.14 开始,`kubectl` 支持使用 kustomization 文件管理对象。可以在 `kustomization.yaml` 文件中定义一个 generator 以创建 Secret 对象。 + +执行下面的命令,创建 `kustomization.yaml` 文件,该文件中包含一个 Secret generator。 +> 您需要将 `YOUR_PASSWORD` 替换成您自己想要使用的密码 + +``` sh +cat <./kustomization.yaml +secretGenerator: +- name: mysql-pass + literals: + - password=YOUR_PASSWORD +EOF +``` + + +## 为MySQL和WordPress添加配置信息 + +## 应用和验证 + +## 清理 diff --git a/support/change-log/change-log-on-the-way.md b/support/change-log/change-log-on-the-way.md index 8f32a35..2a97045 100644 --- a/support/change-log/change-log-on-the-way.md +++ b/support/change-log/change-log-on-the-way.md @@ -12,6 +12,7 @@ Kuboard v1.0.x 的更新说明 +* 清理事件 * EndPoint * 导入工作负载时,如果存储类没有 annotations,不应该报错 * 表单校验:数据卷名不能带小数点 @@ -19,6 +20,10 @@ Kuboard v1.0.x 的更新说明 * 工作负载编辑器 --> 容器组 --> 容忍 -- 正在开发 * Limit Range + +* 可以在这里加一个自动部署的按钮,点击按钮显示部署秘钥。shell 脚本可以加一句curl http://kubord.com?秘钥+版本。镜像推送到仓库之后,shell脚本加一句这个curl就可以完成k8s自动集成了 +* + * 容器组列表,筛选结果为空时,提示筛选 “其他” * https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/