v1.0.3-beta.2

This commit is contained in:
huanqing.shao
2019-09-15 22:49:35 +08:00
parent a23e1fb75f
commit a2ea384338
13 changed files with 165 additions and 60 deletions

View File

@@ -19,7 +19,7 @@
<div style="margin-bottom: 10px;">github star 本窗口将不再弹出</div> --> <div style="margin-bottom: 10px;">github star 本窗口将不再弹出</div> -->
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="waitAMoment">一会儿再说</el-button> <el-button @click="reset">一会儿再说</el-button>
<el-button type="primary" @click="gotoStar">够义气现在就去</el-button> <el-button type="primary" @click="gotoStar">够义气现在就去</el-button>
</span> </span>
</el-dialog> </el-dialog>
@@ -28,8 +28,9 @@
<script> <script>
import Vue from 'vue' import Vue from 'vue'
import 'element-ui/lib/theme-chalk/index.css'; import 'element-ui/lib/theme-chalk/index.css'
import { Dialog, Button } from 'element-ui'; import { Dialog, Button } from 'element-ui'
import { differenceInMinutes } from 'date-fns'
Vue.component(Dialog.name, Dialog) Vue.component(Dialog.name, Dialog)
Vue.component(Button.name, Button) Vue.component(Button.name, Button)
@@ -41,24 +42,63 @@ export default {
}; };
}, },
mounted () { mounted () {
this.waitAMoment() if (localStorage.getItem('stared') === 'true') {
console.log('已经去过 GITHUB')
return
}
setInterval(this.checkDuration, 10000)
}, },
methods: { methods: {
waitAMoment() { checkDuration() {
this.dialogVisible = false let firstAccess = localStorage.getItem('FIRST_ACCESS')
// console.log(new Date(), new Date(firstAccess))
if (!firstAccess) {
console.log('FIRST_ACCESS', new Date())
localStorage.setItem('FIRST_ACCESS', new Date())
} else {
// console.log('differenceInMinutes', differenceInMinutes(new Date(), new Date(firstAccess)))
if (differenceInMinutes(new Date(), new Date(firstAccess)) >= 10 && !this.dialogVisible) {
this.show()
}
}
},
show () {
this.dialogVisible = true
if (localStorage.getItem('stared') === 'true') { if (localStorage.getItem('stared') === 'true') {
console.log('已经去过 GITHUB')
return return
} }
let _this = this if (window.ga) {
setTimeout(_ => { window.ga('send', {
_this.dialogVisible = true hitType: 'event',
// }, 10000) eventCategory: 'StarGazer',
}, 60000 * 2) eventAction: 'Show',
eventLabel: '显示 StarGazer'
});
console.log('发送成功 ga event')
} else {
console.log('开发环境,不发送 ga event')
}
},
reset () {
localStorage.removeItem('FIRST_ACCESS')
this.dialogVisible = false
}, },
gotoStar() { gotoStar() {
this.dialogVisible = false this.dialogVisible = false
window.open('https://github.com/eip-work/kuboard-press') window.open('https://github.com/eip-work/kuboard-press')
localStorage.setItem('stared', 'true') localStorage.setItem('stared', 'true')
if (window.ga) {
window.ga('send', {
hitType: 'event',
eventCategory: 'StarGazer',
eventAction: 'Click',
eventLabel: '前往 github'
});
console.log('发送成功 ga event')
} else {
console.log('开发环境,不发送 ga event')
}
} }
} }
} }

View File

@@ -1,10 +1,10 @@
let dateFns = require('date-fns') let dateFns = require('date-fns')
module.exports = { module.exports = {
title: 'Kuboard - Kubernetes k8s 安装/部署/入门/免费教程/实践/微服务管理界面', title: 'Kuboard - Kubernetes k8s 国内安装/部署/入门/免费中文教程/实践/微服务管理界面',
description: '一个非常 cool 的 Kubernetes Dashboard简化 Kubernetes 的学习和使用,帮助您快速落地 Kubernetes同时提供 Spring Cloud 微服务部署教程DevOps教程', description: '一个非常 cool 的 Kubernetes Dashboard简化 Kubernetes 的学习和使用,帮助您快速落地 Kubernetes提供 Kubernetes 免费中文教程、国内安装文档',
head: [ head: [
['meta', {name: 'keywords', content: 'Kubernetes, Docker, Dashboard, Kuboard, Spring Cloud, micro service, DevOps, 微服务, 持续构建集成, 容器, Kubernetes 教程, Kubernetes 入门, K8S 教程, K8S 入门, 微服务实践, Kubernetes 安装, K8S 安装, Kubernetes 安装, Kubernetes 部署'}], ['meta', {name: 'keywords', content: 'Kubernetes, Docker, Dashboard, Kuboard, Spring Cloud, micro service, DevOps, 微服务, 持续构建集成, Kubernetes 中文教程, Kubernetes 入门, K8S 教程, K8S 入门, 微服务实践, Kubernetes 国内安装, K8S 安装, Kubernetes 安装, Kubernetes 部署'}],
['script', {}, ` ['script', {}, `
var _hmt = _hmt || []; var _hmt = _hmt || [];
(function() { (function() {

View File

@@ -1,2 +0,0 @@
User-agent: *
Allow: /

View File

@@ -2,23 +2,34 @@
<header class="navbar"> <header class="navbar">
<SidebarButton @toggle-sidebar="$emit('toggle-sidebar')"/> <SidebarButton @toggle-sidebar="$emit('toggle-sidebar')"/>
<router-link <div style="white-space: nowrap; text-overflow: ellipsis; overflow: hidden; max-width: calc(100vw - 120px);">
:to="$localePath" <router-link
class="home-link" :to="$localePath"
> class="home-link noselect"
<img
class="logo"
v-if="$site.themeConfig.logo"
:src="$withBase($site.themeConfig.logo)"
:alt="$siteTitle"
> >
<span <img
ref="siteName" class="logo"
class="site-name" v-if="$site.themeConfig.logo"
v-if="$siteTitle" :src="$withBase($site.themeConfig.logo)"
:class="{ 'can-hide': $site.themeConfig.logo }" :alt="$siteTitle"
>Kuboard</span> >
</router-link> <span
ref="siteName"
class="site-name"
v-if="$siteTitle"
:class="{ 'can-hide': $site.themeConfig.logo }"
>Kuboard - </span>
</router-link>
<span class="home-link noselect" style="line-height: 2.2em; font-size: 1em; font-weight: 400;">
<a href="/learning/">
<span style="color: #42b983;">提供K8S免费教程</span>
</a>
<span style="color: #2c3e50;">|</span>
<a href="/support/#%E5%BE%AE%E6%9C%8D%E5%8A%A1%E8%90%BD%E5%9C%B0%E5%92%A8%E8%AF%A2">
<span style="color: #007af5;">微服务落地咨询</span>
</a>
</span>
</div>
<div <div
class="links" class="links"

View File

@@ -6,11 +6,11 @@ description: 详细介绍如何将 Kuboard 升级到最新版本。
## 最新版本 ## 最新版本
稳定版: latest, v1.0.1 稳定版: latest, v1.0.2
发布日期: 2019-08-20 发布日期: 2019-09-01
测试版: v1.0.2-beta.5 测试版: v1.0.3-beta.2
发布日期: 2019-08-29 发布日期: 2019-09-15
[查看更新日志](/overview/change-log.html) [查看更新日志](/overview/change-log.html)

View File

@@ -1,9 +1,9 @@
--- ---
layout: LearningLayout layout: LearningLayout
description: Kubernetes 免费教程 description: Kubernetes 免费中文教程
--- ---
# Kubernetes 免费教程 # Kubernetes 免费中文教程
本教程的主要依据是Kubernetes 官网文档,以及使用 Kubernetes 落地 Spring Cloud 微服务并投产的实战经验。适用人群: 本教程的主要依据是Kubernetes 官网文档,以及使用 Kubernetes 落地 Spring Cloud 微服务并投产的实战经验。适用人群:
* Kubernetes 初学者 * Kubernetes 初学者

View File

@@ -110,6 +110,9 @@ Kuboard 暂不支持 -->
restartPolicy 将作用于 Pod 中的所有容器。kubelete 将在五分钟内按照递延的时间间隔10s, 20s, 40s ......)尝试重启已退出的容器,并在十分钟后再次启动这个循环,直到容器成功启动,或者 Pod 被删除。 restartPolicy 将作用于 Pod 中的所有容器。kubelete 将在五分钟内按照递延的时间间隔10s, 20s, 40s ......)尝试重启已退出的容器,并在十分钟后再次启动这个循环,直到容器成功启动,或者 Pod 被删除。
::: tip
控制器 Deployment/StatefulSet/DaemonSet 中,只支持 Always 这一个选项,不支持 OnFailure 和 Never 选项。
:::
## 容器组的存活期 ## 容器组的存活期

View File

@@ -0,0 +1,28 @@
---
description: 为什么要使用 kuboard而不是直接使用 kubectl
---
# 为什么要使用 Kuboard而不是直接用 kubectl
## Kuboard v.s. kubectl
Kuboard 有如下优势:
* 无需编写 YAML 文件
* 轻松支持多环境管理
* 纯图形化使用
Kuboard 有如下限制:
* 并不能 100% 覆盖 kubectl 的功能
* 当前不支持 istio
* 当前不支持某些不常用配置Bare Pod/ReplicaSet/ReplicationController/TTL Controller 等)
* 要求 Workload (Deployment/StatefulSet/DaemonSet)、Service、Ingress 的 `.metadata.name` 相同
## Kuboard 是一个非常优秀的解决方案
Kuboard + Kubernetes 已经在许多项目中成功交付投产了 Spring Cloud / Dubbo 等微服务架构。
### 技术人员的考量
### 项目管理者的考量

2
package-lock.json generated
View File

@@ -3262,7 +3262,7 @@
}, },
"date-fns": { "date-fns": {
"version": "1.30.1", "version": "1.30.1",
"resolved": "https://registry.npm.taobao.org/date-fns/download/date-fns-1.30.1.tgz", "resolved": "https://registry.npm.taobao.org/date-fns/download/date-fns-1.30.1.tgz?cache=0&sync_timestamp=1568330251089&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdate-fns%2Fdownload%2Fdate-fns-1.30.1.tgz",
"integrity": "sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw=", "integrity": "sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw=",
"dev": true "dev": true
}, },

View File

@@ -1,22 +1,9 @@
## v1.0.3-beta.2
**发布日期**
**新特性**
**BUG 修复**
* 导入应用程序时NodePort 的值丢失
* 导出应用程序时,环境变量-容器组信息丢失
* 存储卷声明去掉分配模式的字段 * 存储卷声明去掉分配模式的字段
* 存储卷声明增加 Volume Modes 字段
* 存储卷声明将 读写模式 修改为 Access Modes
* 删除容器组时 - graceful period * 删除容器组时 - graceful period
* Pod Conditions: lastProbeTime/reason/message * Pod Conditions: lastProbeTime/reason/message
* Pod restartPolicy * 按名称空间查看 Events
* 初始化容器不支持就绪检查 * 显示 Deployment/StatefulSet/DaemonSet 的事件
* Service 配置里,一部分 端口用 NodePort 一部分端口用 ClusterIP * 控制台/日志界面,按 名称空间/工作负载/Pod/容器 进行切换
* 互联网访问入口,增加文档的链接

View File

@@ -6,6 +6,37 @@ description: 本文描述了 Kuboard v1.0.x 的版本变更说明
Kuboard v1.0.x 的更新说明 Kuboard v1.0.x 的更新说明
## v1.0.3-beta.2
**发布日期**
2019年9月15日
**新特性**
* Pod显示重启策略 restartPolicy
* 工作负载编辑器 --> 容器组,可选择重启策略(只能选 Always
**优化**
* 导入应用程序时,可调整 NodePort上一个版本中为了避免在同一个集群导入时出现NodePort冲突直接忽略了源文件中的 NodePort
* 工作负载编辑器 --> 数据卷,增加帮助链接
* 工作负载编辑器 --> Ingress增加帮助链接
* 工作负载编辑器 --> Ingress域名和路由配置为必填字段
* 工作负载编辑器 --> 初始化容器,增加帮助链接
* 工作负载编辑器 --> 初始化容器,不显示就绪检查
* 工作负载编辑器 --> 资源限制,增加帮助链接
* 工作负载编辑器 --> 容器 --> 存活检查/就绪检查,增加帮助链接
* 工作负载编辑器 --> Docker 仓库的用户名密码,增加帮助链接
* 工作负载编辑器 --> 节点选择,增加帮助链接
* 工作负载编辑器 --> 服务描述,可以不填写
* 存储卷声明,增加 Volume Modes 字段(只读)
* 存储卷声明,增加 Volume Name 字段(只读)
**BUG 修复**
* 导入工作负载 --> Ingress页域名字段 '--必须修改域名--' 不应该出现多次
## v1.0.3-beta.1 ## v1.0.3-beta.1
**发布日期** **发布日期**

BIN
support/consulting.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 KiB

View File

@@ -7,13 +7,13 @@ description: 本文描述了如何获得 Kuboard 授权
## Kuboard 授权声明 ## Kuboard 授权声明
* 使用 Kuboard 是免费的,无论您是用于学习还是用于生产 * 使用 Kuboard 是免费的,无论您是用于学习还是用于生产
* 将来可能会推出 Kuboard Plus当前所有的功能将来仍然免费。Kuboard Plus 侧重点: * 将来会推出 Kuboard Plus当前所有的功能将来仍然免费。Kuboard Plus 侧重点:
* 更完善的权限管理(当前只区分集群管理员权限和只读权限) * 更完善的权限管理(当前只区分集群管理员权限和只读权限)
* 审计日志 * 审计日志
## Kuboard 支持 ## Kuboard 支持
### 免费支持 ### QQ社群支持
<p> <p>
<Qq/> <Qq/>
@@ -22,11 +22,11 @@ description: 本文描述了如何获得 Kuboard 授权
<img src="/images/kuboard_qq.png" /> <img src="/images/kuboard_qq.png" />
</p> </p>
### 承诺24小时内答复 ### 微信即时答复
* 微信群聊里的问题通常可立刻答复并承诺2小时内给出解答
* 可提供 TeamViewer 远程协助
<div> <div>
<div style="margin-top: 10px;">微信群聊里的问题,承诺 24 小时答复</div>
<div style="margin-top: 10px;">未打赏用户可进 QQ 群聊,<span style="color: red;">打赏用户可进微信群聊</span>。</div>
<div style="margin-top: 10px;"> <div style="margin-top: 10px;">
<span>扫第一个二维码完成打赏,扫第二个进微信群聊。</span> <span>扫第一个二维码完成打赏,扫第二个进微信群聊。</span>
<p style="margin-top: 10px;"> <p style="margin-top: 10px;">
@@ -38,6 +38,13 @@ description: 本文描述了如何获得 Kuboard 授权
### 微服务落地咨询 ### 微服务落地咨询
Kuboard 团队提供微服务实施落地的全过程咨询和实施,服务范围:
<p>
<img src="./consulting.png">
</p>
如有需要请加微信:
<p> <p>
<img src="/images/dz2.jpeg" style="width: 200px;"></img> <img src="/images/dz2.jpeg" style="width: 200px;"></img>
</p> </p>