调整网站结构

This commit is contained in:
huanqing.shao
2019-11-01 17:54:26 +08:00
parent f733109d1d
commit 8171e6ccce
26 changed files with 710 additions and 1058 deletions

View File

@ -1,25 +0,0 @@
<template>
<div v-if="$themeConfig.showAds && $isNotSharing" class="adsense-banner" :style="$isDev ? 'background-color: grey;' : ''">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 正文-横幅 -->
<ins class="adsbygoogle"
style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-3313149841665250"
data-ad-slot="6664228501"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
</template>
<script>
export default {
}
</script>
<style scoped>
.adsense-banner {
/* background-color: grey; */
}
</style>

View File

@ -1,26 +0,0 @@
<template>
<div class="adsense-left-top" v-if="$themeConfig.showMoreAds && $isNotSharing" :style="$isDev ? 'background-color: grey;' : ''">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- AdsenseLeftTop -->
<ins class="adsbygoogle"
style="display:block;min-width:100px;max-width:500px;width:100%;height:80px"
data-ad-client="ca-pub-3313149841665250"
data-ad-slot="4275606991"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
</template>
<script>
export default {
}
</script>
<style scoped>
.adsense-left-top {
width: 100%;
/* background-color: grey; */
}
</style>

View File

@ -1,29 +0,0 @@
<template>
<div v-if="$themeConfig.showAds && $isNotSharing" class="adsense-page-bottom" :style="$isDev ? 'background-color: grey;' : ''">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- AdSensePageBottom -->
<ins class="adsbygoogle"
style="display:inline-block;min-width:200px;max-width:1000px;width:100%;height:180px"
data-ad-client="ca-pub-3313149841665250"
data-ad-slot="9035294879"
></ins>
<!-- data-ad-format="auto"
data-full-width-responsive="false" -->
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
</template>
<script>
export default {
}
</script>
<style scoped>
.adsense-page-bottom {
/* padding-right: 2px; */
border: 1px solid #d7dae2;
}
</style>

View File

@ -1,5 +1,5 @@
<template>
<div v-if="$themeConfig.showAds && $isNotSharing" class="adsense-page-bottom-inline" :style="$isDev ? 'background-color: grey;' : ''">
<div v-if="$themeConfig.showAds" class="adsense-page-bottom-inline" :style="$isDev ? 'background-color: grey;' : ''">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- PageBottomInline -->
<ins class="adsbygoogle"
@ -9,14 +9,15 @@
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
if (!window.kuboardSharing) {
(adsbygoogle = window.adsbygoogle || []).push({});
}
</script>
</div>
</template>
<script>
export default {
}
</script>

View File

@ -1,41 +0,0 @@
<template>
<div class="adsense-page-top" v-if="!$frontmatter.lessAds && $themeConfig.showMoreAds && $isNotSharing" :style="$isDev ? 'background-color: grey;' : ''">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- AdSensePageTop-Display -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-3313149841665250"
data-ad-slot="6238375600"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:block"
data-ad-format="fluid"
data-ad-layout-key="-h2+d+5c-9-3e"
data-ad-client="ca-pub-3313149841665250"
data-ad-slot="4299889232"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script> -->
</div>
</template>
<script>
export default {
}
</script>
<style scoped>
.adsense-page-top {
/* background-color: green; */
/* padding-right: 2px;
border: 1px solid #d7dae2;
height: 124px !important;
overflow: hidden; */
}
</style>

View File

@ -1,28 +0,0 @@
<template>
<div v-if="$themeConfig.showAds && $isNotSharing" class="adsense-paragraph" :style="$isDev ? 'background-color: grey;' : ''">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:block; text-align:center;"
data-ad-layout="in-article"
data-ad-format="fluid"
data-ad-client="ca-pub-3313149841665250"
data-ad-slot="1006020799"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
</template>
<script>
export default {
}
</script>
<style scoped>
.adsense-paragraph {
/* background-color: grey; */
padding-right: 2px;
border: 1px solid #d7dae2;
}
</style>

View File

@ -1,5 +1,5 @@
<template>
<div v-if="$themeConfig.showAds && $isNotSharing" class="adsense-right" :style="$isDev ? 'background-color: grey;' : ''">
<div v-if="$themeConfig.showAds" class="adsense-right" :style="$isDev ? 'background-color: grey;' : ''">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- AdSenseRightSide -->
<ins class="adsbygoogle"
@ -9,7 +9,9 @@
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
if (!window.kuboardSharing) {
(adsbygoogle = window.adsbygoogle || []).push({});
}
</script>
</div>
</template>

View File

@ -1,5 +1,5 @@
<template>
<div v-if="$themeConfig.showAds && $isNotSharing" :style="$isDev ? 'background-color: grey;' : ''">
<div v-if="$themeConfig.showAds" :style="$isDev ? 'background-color: grey;' : ''">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 正方形-正文 -->
<ins class="adsbygoogle"
@ -9,7 +9,9 @@
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
if (!window.kuboardSharing) {
(adsbygoogle = window.adsbygoogle || []).push({});
}
</script>
</div>
</template>

View File

@ -1,22 +1,24 @@
<template>
<div :style="$isDev ? 'background-color: #grey;' : ''">
<div class="ads" v-if="!$frontmatter.lessAds && $themeConfig.showAds && $isNotSharing">
<div>
<a @click="clickAds" :href="random.url" target="_blank" rel="nofollow" style="text-decoration: none;">
<span class="name">
{{ random.name }}
</span>
<span class="description">
{{ random.description }}
</span>
<span class="description-strong">
{{ random.strong }}
</span>
<span class="action">
{{ random.action }}
</span>
</a>
<span class="ads-text">广告</span>
<div v-show="!$isSharing">
<div class="ads" v-if="!$frontmatter.lessAds && $themeConfig.showAds">
<div>
<a @click="clickAds" :href="random.url" target="_blank" rel="nofollow" style="text-decoration: none;">
<span class="name">
{{ random.name }}
</span>
<span class="description">
{{ random.description }}
</span>
<span class="description-strong">
{{ random.strong }}
</span>
<span class="action">
{{ random.action }}
</span>
</a>
<span class="ads-text">广告</span>
</div>
</div>
</div>
<slot></slot>
@ -40,14 +42,13 @@ export default {
data () {
return {
ads: require('./ad-list'),
isNotSharing: false
}
},
mounted () {
},
computed: {
random () {
if (!this.isNotSharing) {
if (this.$isSharing) {
return this.ads[0]
}
let totalWeight = 0

View File

@ -1,35 +0,0 @@
<template>
<div v-if="$themeConfig.showAds && $isNotSharing" class="adsense-under-title" :style="$isDev ? 'background-color: grey;' : ''">
<!-- <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> -->
<!-- PageTopUnderTitle -->
<!-- <ins class="adsbygoogle"
style="display:inline-block;min-width:200px;max-width:1000px;width:100%;height:50px"
data-ad-client="ca-pub-3313149841665250"
data-ad-slot="1677363818"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script> -->
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:block"
data-ad-format="fluid"
data-ad-layout-key="-i0-3+1f-3d+2z"
data-ad-client="ca-pub-3313149841665250"
data-ad-slot="3534684042"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
</template>
<script>
export default {
}
</script>
<style scoped>
.adsense-under-title {
border: 1px solid #d7dae2;
}
</style>

View File

@ -1,5 +1,5 @@
<template>
<div v-if="$themeConfig.showAds && $isNotSharing" :style="$isDev ? 'background-color: grey;' : ''">
<div v-if="$themeConfig.showAds" :style="$isDev ? 'background-color: grey;' : ''">
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 正文-垂直 -->
<ins class="adsbygoogle"
@ -9,7 +9,9 @@
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
if (!window.kuboardSharing) {
(adsbygoogle = window.adsbygoogle || []).push({});
}
</script>
</div>
</template>

View File

@ -1,5 +1,5 @@
<template>
<div v-if="$isNotSharing">
<div>
<div class="copyright">
Copyright © 2019-present 邵欢庆
<span @click="$sendGaEvent('友情链接', '友情链接: 仁聚汇通', '友情链接:' + $page.path)">
@ -9,7 +9,7 @@
</div>
<div style="margin-top: 20px;">
</div>
<div class="friend-section">
<div class="friend-section" v-show="!$isSharing">
友情链接
<div v-for="item in urls" class="friend-a">
<a target="_blank" :href="item.url + ( item.url.indexOf('?') > 0 ? '&utm_source=kuboard.cn' : '?utm_source=kuboard.cn')"

View File

@ -6,7 +6,7 @@
<link rel="stylesheet" href="/landing/css/style.css">
<link rel="stylesheet" href="/landing/css/components.css">
<div class="py-80" id="features" style="padding-top: 1rem;">
<div class="py-80" id="features" style="padding-top: 1rem; padding-bottom: 1rem;">
<div class="container">
<div class="row">
<div class="col-sm-12">
@ -16,8 +16,7 @@
</div>
</div>
<div class="row">
<transition-group name="bounceRight" tag="div">
<transition-group name="lightSpeed" tag="div">
<div class="col-md-4" key="f1" v-show="f1">
<!-- InfoBox Center <Start> -->
<div class="cs-infobox-left mt-4 feature">
@ -28,14 +27,15 @@
<div class="feature-description">
<li>每天有超过
<span style="font-weight: 500; color: red;">
<div style="display: inline-block; width: 2rem;">
<animated-number
style=""
:value="value"
:formatValue="formatToPrice"
:duration="4000"
/>
</div>
<!-- {{value}} -->
<div style="width: 2rem; display: inline-block;">
<animated-number
style=""
:value="value"
:formatValue="formatToPrice"
:duration="2000"
/>
</div>
</span>
人参考此文档完成 Kubernetes 集群的安装</li>
<li>不断有网友对安装文档提出改进意见</li>
@ -44,7 +44,7 @@
<!-- InfoBox Center </End> -->
</div>
<div class="col-md-4 bg-gray" key="f2" v-show="f2">
<div class="col-md-4" key="f2" v-show="f2">
<!-- InfoBox Center <Start> -->
<div class="cs-infobox-left mt-4 feature">
<div class="feature-title">
@ -56,7 +56,7 @@
<li>当前版本 Kubernetes {{version}}</li>
<li>已完成了
<span style="font-weight: 500; color: red;">
<div style="display: inline-block; width: 1.5rem;">
<div style="width: 1.2rem; display: inline-block;">
<animated-number
style=""
:value="updateCount"
@ -64,6 +64,7 @@
:duration="6000"
/>
</div>
<!-- {{updateCount}} -->
次更新
</span>每次更新都帮您排除一个或更多可能踩的坑
<a href="https://github.com/eip-work/kuboard-press/commits/master/install/install-k8s.md" target="_blank">
@ -89,7 +90,7 @@
</div>
<!-- InfoBox Left </End> -->
</div>
<div class="col-md-4 bg-gray" key="f4" v-show="f4">
<div class="col-md-4" key="f4" v-show="f4">
<!-- InfoBox Center <Start> -->
<div class="cs-infobox-left mt-4 feature" data-aos="fade-up">
<div class="feature-title">
@ -116,7 +117,7 @@
<script>
import AnimatedNumber from "animated-number-vue";
require('vue2-animate/dist/vue2-animate.min.css')
import 'vue2-animate/dist/vue2-animate.min.css';
export default {
props: {
@ -138,9 +139,7 @@ export default {
},
mounted () {
this.show = true
setTimeout(_ => {
this.f1 = true
}, 0)
this.f1 = true
setTimeout(_ => {
this.f2 = true
}, 1000)
@ -151,11 +150,11 @@ export default {
this.f4 = true
}, 3000)
},
methods: {
methods: {
formatToPrice(value) {
return `${value.toFixed(0)}`;
}
}
}
}
</script>
@ -168,8 +167,17 @@ export default {
.feature {
text-align: left;
padding: 1rem;
margin-bottom: 0;
border-top: solid 1px #f7f7f7;
margin-bottom: 1rem;
border: 1px solid #8096b0;
border-radius: 5px;
-webkit-transition: .5s;
transition: .5s;
background-color: #fff;
}
.feature:hover {
background-color: #edf5ff;
/* border-color: #fff; */
}
.feature-title {
display: inline-block;

View File

@ -26,7 +26,7 @@
</el-form>
</div>
</div>
</div>
<!-- </grid-item>
<grid-item size="1/3" :rwd="{tablet: '1/1', compact: '0/1'}" style="padding: 2rem 1rem 1rem 1rem;">

View File

@ -66,10 +66,6 @@
</div>
</div>
<div style="margin-top: 2rem;">
<AdSenseParagraph></AdSenseParagraph>
</div>
<div class="intro">
<el-card class="intro_text" shadow="hover">
<p>
@ -106,7 +102,6 @@ import NavLink from '@theme/components/NavLink.vue'
export default {
components: { NavLink },
created () {
console.log(this.$page)
// this.$title = 'hello---'
},
mounted () {

View File

@ -1,6 +1,9 @@
let dateFns = require('date-fns')
module.exports = {
// configureWebpack: () => ({
// devtool: 'source-map'
// }),
title: 'Kuboard官网',
description: '一款Kubernetes_Dashboard_简化Kubernetes的学习和使用_帮助您快速落地Kubernetes_提供_Kubernetes_免费中文教程_国内安装文档',
head: [
@ -19,7 +22,7 @@ module.exports = {
s.parentNode.insertBefore(hm, s);
})();
`],
['script', {src: '/java-script-dist/swiper-4.5.0/js/swiper.min.js', async: true}],
// ['script', {src: '/java-script-dist/swiper-4.5.0/js/swiper.min.js', async: true}],
// ['script', {src: "https://www.googletagmanager.com/gtag/js?id=UA-144196556-1", async: true}],
// ['script', {}, `
// window.dataLayer = window.dataLayer || [];
@ -31,20 +34,16 @@ module.exports = {
['script', { 'data-ad-client': "ca-pub-3313149841665250", async: true, src: "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"}],
// <script data-ad-client="ca-pub-3313149841665250" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
['script', { type: 'text/javascript', async: true, src: "https://bot.4paradigm.com/web/assets/ics-web-sdk-js.js" }],
['script', { type: 'text/javascript' }, `
window.onload = function() {
if (window.innerWidth > 1360) {
if (location.search !== undefined && location.search.indexOf('sharing') >= 0) {
console.log('正在分享,不显示机器人')
} else {
console.log('init-wechat')
IcsWebSdkJs.init('https://bot.4paradigm.com/web/chat/15516/bbc69136-e42c-4299-ba85-c57685c8417d')
}
} else {
console.log('窗口太小,不显示机器人')
}
}`],
// ['script', { type: 'text/javascript', async: true, src: "https://bot.4paradigm.com/web/assets/ics-web-sdk-js.js" }],
// ['script', { type: 'text/javascript' }, `
// window.onload = function() {
// if (window.innerWidth > 1360) {
// console.log('init-wechat')
// IcsWebSdkJs.init('https://bot.4paradigm.com/web/chat/15516/bbc69136-e42c-4299-ba85-c57685c8417d')
// } else {
// console.log('窗口太小,不显示机器人')
// }
// }`],
// <script type="text/javascript" src="https://bot.4paradigm.com/web/assets/ics-web-sdk-js.js"></script>
@ -152,9 +151,9 @@ module.exports = {
showAds: true,
kuboardToken: 'eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJvYXJkLXZpZXdlci10b2tlbi1mdGw0diIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJvYXJkLXZpZXdlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImE1YWFiMmQxLTQxMjYtNDU5Yi1hZmNhLTkyYzMwZDk0NTQzNSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTprdWJvYXJkLXZpZXdlciJ9.eYqN3FLIT6xs0-lm8AidZtaiuHeX70QTn9FhJglhEyh5dlyMU5lo8UtR-h1OY8sTSeYdYKJAS83-9SUObKQhp6XNmRgOYAfZblKUy4mvbGVQ3dn_qnzxYxt6zdGCwIY7E34eNNd9IjMF7G_Y4eJLWE7NvkSB1O8zbdn8En9rQXv_xJ9-ugCyr4CYB1lDGuZl3CIXgQ1FWcQdUBrxTT95tzcNTB0l6OUOGhRxOfw-RyIOST83GV5U0iVzxnD4sjgSaJefvCU-BmwXgpxAwRVhFyHEziXXa0CuZfBfJbmnQW308B4wocr4QDm6Nvmli1P3B6Yo9-HNF__d2hCwZEr7eg',
nav: [
{ text: '简介', link: '/overview/' },
// { text: '简介', link: '/overview/' },
{ text: '安装', link: '/install/install-dashboard' },
{ text: '学习', link: '/learning/' },
{ text: '教程', link: '/learning/' },
{ text: '使用', link: '/guide/' },
{ text: '支持', link: '/support/' },
// { text: '博客', link: 'https://blog.kuboard.cn/compaign' }

View File

@ -49,12 +49,21 @@ export default ({
if (typeof window !== 'undefined') {
if (window.location.hostname === 'localhost') {
Vue.prototype.$isDev = true
}
if (location.search !== undefined && location.search.indexOf('sharing') >= 0) {
// 如果带参数 sharing则设置 isNotSharing = false
Vue.prototype.$isNotSharing = false
} else {
Vue.prototype.$isNotSharing = true
Vue.prototype.$isDev = false
}
}
let sharing = true
if (typeof window !== 'undefined') {
if (location.search && location.search.indexOf('sharing') >=0) {
sharing = true
window.kuboardSharing = true
} else {
sharing = false
window.kuboardSharing = false
}
}
console.log('sharing', sharing)
Vue.prototype.$isSharing = sharing
}

View File

@ -61,7 +61,7 @@
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item"> <a class="nav-link" href="/install/install-k8s.html">安装</a> </li>
<li class="nav-item"> <a class="nav-link" href="/learning/">学习</a> </li>
<li class="nav-item"> <a class="nav-link" href="/learning/">教程</a> </li>
<li class="nav-item"> <a class="nav-link" href="/guide/">使用</a> </li>
<li class="nav-item"> <a class="nav-link" href="/support/">支持</a> </li>
<!-- <li class="nav-item dropdown">
@ -76,7 +76,7 @@
</ul>
</li>
<li class="nav-item"> <a class="btn btn-secondary text-white btn-round btn-nav" data-toggle="modal" data-target="#signup-modal">Signup</a> </li> -->
<li class="nav-item"> <a class="btn btn-primary btn-shadow text-white btn-round btn-nav" href="/overview/">立刻开始</a> </li>
<li class="nav-item"> <a class="btn btn-primary btn-shadow text-white btn-round btn-nav" href="/install/install-k8s.html">立刻开始</a> </li>
</ul>
</div>
</nav>
@ -91,14 +91,14 @@
<div class="row">
<div class="col-sm-6 col-md-7">
<div class="hero-content">
<h1 class="text-primary">Kuboard - 微服务管理面板</h1>
<p class="text-primary mt-3"><span style="font-weight: 500;">快速在 Kubernetes 上落地微服务。</span>Kuboard 提供:Kubernetes安装脚本Kubernetes教程、Kubernetes管理面板、SpringCloud在Kubernetes上的实战</p>
<h1 class="text-primary">快速在 Kubernetes 上落地微服务</h1>
<p class="text-primary mt-3"><span style="font-weight: 500;">Kuboard 提供:</span>Kubernetes安装脚本Kubernetes教程、Kubernetes管理面板、SpringCloud在Kubernetes上的实战</p>
<ul class="pair-btns-list">
<li> <a class="cbtn btn-grad-s btn-shadow btn-width"
target="_blank"
href="http://demo.kuboard.cn/#/dashboard?k8sToken=eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJvYXJkLXZpZXdlci10b2tlbi1mdGw0diIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJvYXJkLXZpZXdlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImE1YWFiMmQxLTQxMjYtNDU5Yi1hZmNhLTkyYzMwZDk0NTQzNSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTprdWJvYXJkLXZpZXdlciJ9.eYqN3FLIT6xs0-lm8AidZtaiuHeX70QTn9FhJglhEyh5dlyMU5lo8UtR-h1OY8sTSeYdYKJAS83-9SUObKQhp6XNmRgOYAfZblKUy4mvbGVQ3dn_qnzxYxt6zdGCwIY7E34eNNd9IjMF7G_Y4eJLWE7NvkSB1O8zbdn8En9rQXv_xJ9-ugCyr4CYB1lDGuZl3CIXgQ1FWcQdUBrxTT95tzcNTB0l6OUOGhRxOfw-RyIOST83GV5U0iVzxnD4sjgSaJefvCU-BmwXgpxAwRVhFyHEziXXa0CuZfBfJbmnQW308B4wocr4QDm6Nvmli1P3B6Yo9-HNF__d2hCwZEr7eg">
在线演示</a></li>
<li><a href="/overview/" class="cbtn btn-grad btn-shadow btn-width">开始使用</a></li>
<li><a href="/install/install-k8s.html" class="cbtn btn-grad btn-shadow btn-width">开始安装</a></li>
</ul>
<p style="margin-top: 20px;"><a aria-label="github"><iframe src="https://ghbtns.com/github-btn.html?user=eip-work&amp;repo=kuboard-press&amp;type=star&amp;count=true&amp;size=small" frameborder="0" scrolling="0" width="100px" height="20px" style="display:inline-block;vertical-align:middle;"></iframe></a></p>
</div>
@ -111,124 +111,169 @@
</header>
<!-- /Header -->
<!-- Material Pills <Start> -->
<div class="bg-gray py-80">
<div class="bg-gray py-80" id="webinars">
<div class="container">
<div class="row">
<div class="col-sm-12">
<div class="section-head text-center">
<h1 class="text-primary">快速落地 Kubernetes</h1>
<p class="text-secondary">第一手 Kubernetes 实战经验,帮助您从 Kubernetes 入门到投产!</p>
<p>第一手 Kubernetes 实战经验,帮助您从 Kubernetes 入门到投产!</p>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<ul class="nav nav-pills material-pills nav-border-tabs nav-fill" id="pills-tab" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="cs-pills-one-tab" data-toggle="pill" href="#cs-pills-one" role="tab" aria-controls="cs-pills-one" aria-selected="true">Kubernetes<br>
安装文档</a>
</li>
<li class="nav-item">
<a class="nav-link" id="cs-pills-two-tab" data-toggle="pill" href="#cs-pills-two" role="tab" aria-controls="cs-pills-two" aria-selected="false">Kubernetes<br>
免费教程</a>
</li>
<li class="nav-item">
<a class="nav-link" id="cs-pills-three-tab" data-toggle="pill" href="#cs-pills-three" role="tab" aria-controls="cs-pills-three" aria-selected="false">Kubernetes<br>
管理面板</a>
</li>
<li class="nav-item">
<a class="nav-link" id="cs-pills-five-tab" data-toggle="pill" href="#cs-pills-five" role="tab" aria-controls="cs-pills-five" aria-selected="false">Kubernetes<br>
Spring Cloud 实战</a>
</li>
</ul>
<div class="tab-content mt-5" id="pills-tabContent">
<div class="tab-pane fade show active" id="cs-pills-one" role="tabpanel" aria-labelledby="cs-pills-one-tab">
<!-- Tab Content -->
<div class="row">
<div class="col-sm-6 col-md-4">
<div class="material-pills-text" style="margin-top: 30px;">
<h4 class="text-primary">反复验证</h4>
<p>每天有超过300名网友参考此安装文档顺利完成 Kubernetes 的安装,彻底解决初学 Kubernetes 时,因为安装问题反复踩坑的痛苦</p>
<h4 class="text-primary">持续更新</h4>
<p>自2019年8月开始已更新60+个版本,始终与最新 Kubernetes 稳定版保持同步,并通过文档的修订,避免后来的网友碰到前人已经踩过的坑</p>
<h4 class="text-primary">远程协助</h4>
<p>安装问题可直接在QQ群里提问免费在线答疑确保安装成功。碰到疑难杂症更有群主通过 Teamviewer 免费远程协助。</p>
</div>
</div>
<div class="col-sm-6 col-md-8">
<img src="landing/images/install-history.png" class="img-fluid" alt="" data-aos="fade-up" data-aos-anchor-placement="top-bottom">
<div class="col-md-6">
<!-- Webnair Card <Start> -->
<div class="card cs-webnair-card" data-aos="fade-up" data-aos-anchor-placement="top-bottom">
<div class="card-body">
<h4 class="card-title text-primary">Kubernetes 安装文档</h4>
<p class="card-text">
<li>每天有超过300名网友参考此安装文档顺利完成 Kubernetes 的安装</li>
<li>自2019年8月开始已更新60+个版本,始终与最新 Kubernetes 稳定版保持同步</li>
</p>
<div class="media">
<img class="mr-3" src="landing/images/icn4.svg" alt="image" width="50" height="50">
<div class="media-body">
<h5><small>保证</small> 安装成功</h5>
碰到问题可免费找群主远程协助
</div>
</div>
<!-- /Tab Content -->
</div>
<div class="tab-pane fade" id="cs-pills-two" role="tabpanel" aria-labelledby="cs-pills-two-tab">
<!-- Tab Content -->
<div class="card-actions">
<div class="row">
<div class="col-sm-6">
<img src="landing/images/tutorial.png" class="img-fluid" alt="">
<!-- <div class="webnair-date">
<h5>Apr</h5>
<h2>18</h2>
<p>10:30AM IST</p>
</div> -->
</div>
<div class="col-sm-6">
<div class="material-pills-text">
<h4 class="text-primary">权威资料</h4>
<p>此中文教程的主要参考依据为 Kubernetes 官网原文资料,以及 Kubernetes 实战经验。</p>
<h4 class="text-primary">在线答疑</h4>
<p>对于不明白的地方,可直接和社群网友及作者讨论,学习 Kubernetes 的同学可能不明白的问题在教程中有额外的解释</p>
<h4 class="text-primary">随时查看</h4>
<p>在线文档自适应PC端和手机端可以随时随地翻阅</p>
<div class="my-4 text-center" style="margin-top: 0 !important;">
<a href="/install/install-k8s.html" class="btn btn-primary btn-round">免费获取文档 <i class="fa fa-long-arrow-right" ></i></a>
</div>
</div>
</div>
<!-- /Tab Content -->
</div>
<div class="tab-pane fade" id="cs-pills-three" role="tabpanel" aria-labelledby="cs-pills-three-tab">
<!-- Tab Content -->
<div class="row">
<div class="col-sm-6 col-md-4">
<div class="material-pills-text" style="margin-top: 0;">
<h4 class="text-primary">无需YAML</h4>
<p>无需编写复杂冗长的 YAML 文件,通过图形化管理界面轻松完成应用的部署和维护</p>
<h4 class="text-primary">场景化设计</h4>
<p>解决运维过程中的应用部署、版本更新、问题诊断、水平伸缩、配置变更等各种场景的使用</p>
<h4 class="text-primary">多环境管理</h4>
<p>从测试环境导出整个微服务架构的部署配置,在新的集群或名称空间一键导入</p>
<h4 class="text-primary">上下文监控</h4>
<p>一键安装监控套件,监控入口集成到应用程序的上下文,更快更有效地掌握集群的性能表现</p>
</div>
</div>
<div class="col-sm-6 col-md-8">
<img src="landing/images/kuboard.png" class="img-fluid" alt="">
</div>
</div>
<!-- /Tab Content -->
</div>
<div class="tab-pane fade" id="cs-pills-five" role="tabpanel" aria-labelledby="cs-pills-five-tab">
<!-- Tab Content -->
<div class="row">
<div class="col-sm-6 ">
<div class="material-pills-text">
<h4 class="text-primary">SpringCloud部署实战</h4>
<p>
在 Kubernetes 上轻松完成 Spring Cloud 的部署
</p>
<h4 class="text-primary">DevOps集成</h4>
<p>
可与您偏好的 DevOps 工具链集成
</p>
</div>
</div>
<div class="col-sm-6 ">
<img src="landing/images/springcloud.png" class="img-fluid" alt="">
</div>
</div>
<!-- /Tab Content -->
</div>
</div>
<!-- Webnair Card </End> -->
</div>
<div class="col-md-6">
<!-- Webnair Card <Start> -->
<div class="card cs-webnair-card" data-aos="fade-up" data-aos-anchor-placement="top-bottom" data-aos-duration="1500">
<div class="card-body">
<h4 class="card-title text-primary">Kubernetes 免费教程</h4>
<p class="card-text">
<li>权威资料,主要依据来源于 kubernetes 官网,及 Kubernetes 第一手实战经验</li>
<li>随时查看,自适应 PC 端和手机端,可以随时随地翻阅</li>
</p>
<div class="media">
<img class="mr-3" src="landing/images/icn5.svg" alt="image" width="50" height="50">
<div class="media-body">
<h5><small>答疑</small> 在线答疑</h5>
碰到问题可以直接与作者沟通
</div>
</div>
</div>
<div class="card-actions">
<div class="row">
<div class="col-sm-6">
<!-- <div class="webnair-date">
<h5>Apr</h5>
<h2>18</h2>
<p>10:30AM IST</p>
</div> -->
</div>
<div class="col-sm-6">
<div class="my-4 text-center" style="margin-top: 0 !important;">
<a href="/learning/" class="btn btn-primary btn-round">免费获取教程 <i class="fa fa-long-arrow-right" ></i></a>
</div>
</div>
</div>
</div>
</div>
<!-- Webnair Card </End> -->
</div>
<div class="col-md-6">
<!-- Webnair Card <Start> -->
<div class="card cs-webnair-card" data-aos="fade-up" data-aos-anchor-placement="top-bottom" data-aos-duration="1500">
<div class="card-body">
<h4 class="card-title text-primary">Kubernetes 管理面板</h4>
<p class="card-text">
<li>无需编写 YAML通过图形化管理界面便可轻松完成应用的部署和管理</li>
<li>多环境管理</li>
</p>
<div class="media">
<img class="mr-3" src="landing/images/icn1.svg" alt="image" width="50" height="50">
<div class="media-body">
<h5>降低门槛</h5>
使用 Kuboard 可以有效的降低 K8S 的门槛
</div>
</div>
</div>
<div class="card-actions">
<div class="row">
<div class="col-sm-6">
<!-- <div class="webnair-date">
<h5>Apr</h5>
<h2>18</h2>
<p>10:30AM IST</p>
</div> -->
</div>
<div class="col-sm-6">
<div class="my-4 text-center" style="margin-top: 0 !important;">
<a href="/install/install-dashboard.html" class="btn btn-primary btn-round">免费获取 <i class="fa fa-long-arrow-right" ></i></a>
</div>
</div>
</div>
</div>
</div>
<!-- Webnair Card </End> -->
</div>
<div class="col-md-6">
<!-- Webnair Card <Start> -->
<div class="card cs-webnair-card" data-aos="fade-up" data-aos-anchor-placement="top-bottom" data-aos-duration="1500">
<div class="card-body">
<h4 class="card-title text-primary">Spring Cloud 实战文档</h4>
<p class="card-text">
<li>在 Kubernetes 上部署 Spring Cloud 微服务架构</li>
<li>第一手实战经验分享</li>
</p>
<div class="media">
<img class="mr-3" src="landing/images/icn3.svg" alt="image" width="50" height="50">
<div class="media-body">
<h5><small>答疑</small> 在线答疑</h5>
碰到问题可以直接与作者沟通
</div>
</div>
</div>
<div class="card-actions">
<div class="row">
<div class="col-sm-6">
<!-- <div class="webnair-date">
<h5>Apr</h5>
<h2>18</h2>
<p>10:30AM IST</p>
</div> -->
</div>
<div class="col-sm-6">
<div class="my-4 text-center" style="margin-top: 0 !important;">
<a href="/learning/k8s-practice/micro-service/kuboard-view-of-k8s.html" class="btn btn-primary btn-round">免费获取文档 <i class="fa fa-long-arrow-right" ></i></a>
</div>
</div>
</div>
</div>
</div>
<!-- Webnair Card </End> -->
</div>
</div>
</div>
</div>
<!-- Material Pills </End> -->
<!-- Media Call Action <Start> -->
<div class="bg-gray">

View File

@ -1,9 +1,8 @@
<template>
<main class="page">
<div class="page-nav" style="max-width: 1000px; margin-top: 56px;">
<AdSensePageTop></AdSensePageTop>
</div>
<div v-if="$isNotSharing" class="page-nav" style="max-width: 1000px; margin: auto;">
<div v-show="!$isSharing" class="page-nav" style="max-width: 1000px; margin: auto;">
<div class="tip custom-block" style=" padding: 1rem; margin-top: 0;">
<div style="display: inline-block; vertical-align: top; line-height: 1.6rem;">
<li>
@ -29,24 +28,24 @@
<slot name="top" />
<Content class="theme-default-content" style="padding-top: 0; margin-top: -3rem; padding-bottom: 1rem;"/>
<div class="page-nav" style="max-width: 1000px; padding-top:0; margin-top: 1rem;" v-if="$isNotSharing">
<!-- <div class="page-nav" style="max-width: 1000px; padding-top:0; margin-top: 1rem;" v-if="!!$isSharing">
<p style="text-align: center;">
<a href="/">
<img src="/images/logo-main.png" style="margin: auto;">
</a>
</p>
</div>
</div> -->
<JoinCommunity></JoinCommunity>
<PageEdit style="max-width: 1000px;"/>
<PageNav v-bind="{ sidebarItems }" style="max-width: 1000px;"/>
<div class="page-nav" style="max-width: 1000px; padding-top:0; margin-top: 1rem;" v-if="!$frontmatter.lessAds">
<div class="page-nav" style="max-width: 1000px; padding-top:0; margin-top: 1rem;" v-show="!$frontmatter.lessAds && !$isSharing">
<AdSensePageBottomInline/>
</div>
<slot name="bottom" />
<PageVssue class="page-nav" style="max-width: 1000px;"/>
<FriendlyUrl class="page-nav" style="max-width: 1000px;"/>
<StarGazer v-if="$isNotSharing"/>
<AdSenseRightSide v-if="$isNotSharing"/>
<PageVssue class="page-nav" style="max-width: 1000px;" v-show="!$isSharing"/>
<FriendlyUrl class="page-nav" style="max-width: 1000px;" v-show="!$isSharing"/>
<StarGazer/>
<AdSenseRightSide v-show="!$isSharing"/>
</main>
</template>
@ -60,11 +59,10 @@ export default {
props: ['sidebarItems'],
data () {
return {
isNotSharing: false
}
},
mounted () {
if (!this.$isNotSharing) {
if (this.$isSharing) {
document.title = this.$frontmatter.sharingTitle || this.$page.title
this.$frontmatter.title = this.$frontmatter.sharingTitle
}

View File

@ -2,14 +2,14 @@
<aside class="sidebar">
<!-- <NavLinks/> -->
<div style="text-align: center; margin-top: 10px;">
<div class="side-nav-item" :style="activeLinkStyle('/overview/') + 'margin-left: 0;'">
<!-- <div class="side-nav-item" :style="activeLinkStyle('/overview/') + 'margin-left: 0;'">
<a :href="`/overview/${urlSurfix}`" class="nav-link">简介</a>
</div>
</div> -->
<div class="side-nav-item" :style="activeLinkStyle('/install/')">
<a :href="`/install/install-dashboard.html${urlSurfix}`" class="nav-link router-link-exact-active router-link-active">安装</a>
</div>
<div class="side-nav-item" :style="activeLinkStyle('/learning/')">
<a :href="`/learning/${urlSurfix}`" class="nav-link router-link-exact-active router-link-active">学习</a>
<a :href="`/learning/${urlSurfix}`" class="nav-link router-link-exact-active router-link-active">教程</a>
</div>
<div class="side-nav-item" :style="activeLinkStyle('/guide/')">
<a :href="`/guide/${urlSurfix}`" class="nav-link">使用</a>
@ -62,12 +62,13 @@ export default {
props: ['items'],
data () {
return {
demo_img: demo
demo_img: demo,
}
},
computed: {
urlSurfix () {
return this.$isNotSharing ? '' : '?sharing=true'
// return this.isSharing ? '' : '?sharing=true'
return ''
}
},
methods: {

View File

@ -81,17 +81,7 @@ module.exports = siteData => {
selfTitle = page.frontmatter.titlePrefix + '_' + selfTitle
}
let isNotSharing = true
if (typeof window !== 'undefined') {
if (location.search !== undefined && location.search.indexOf('sharing') >= 0) {
// 如果带参数 sharing则设置 isNotSharing = false
isNotSharing = false
} else {
isNotSharing = true
}
}
if (page.path.indexOf('/learning/') === 0 && isNotSharing) {
if (page.path.indexOf('/learning/') === 0) {
return selfTitle + '_Kubernetes教程_K8S教程_K8S培训'
}
if (page.path.indexOf('/install/') === 0) {

View File

@ -291,7 +291,7 @@ echo "127.0.0.1 $(hostname)" >> /etc/hosts
</grid-item>
<grid-item size="1/3" :rwd="{tablet: '1/1', compact: '0/1'}" style="padding: 2rem 1rem 1rem 1rem;">
<AdSenseSquare/>
<!-- <AdSenseSquare/> -->
</grid-item>
</grid>

View File

@ -1,7 +1,7 @@
---
vssueId: 15
# layout: StepLayout
sharingTitle: 参考这个文档能快速完成K8S安装装不好还有人免费远程协助
sharingTitle: 参考这个文档能快速完成K8S安装装不好还有人免费远程协助更有K8S免费教程提供
description: Kubernete安装文档_Kubernetes最新稳定版v1.16.2的快速安装文档_该文档由众多网友验证并在线提出修改意见_持续不断地更新和完善_并且通过QQ群提供免费在线答疑的服务
meta:
- name: keywords
@ -37,7 +37,9 @@ meta:
## 文档特点
<InstallBanner version="v1.16.2" updateCount="65" style="min-height: 750px;"/>
<div style="min-height: 645px;">
<InstallBanner version="v1.16.2" updateCount="65" style="min-height: 750px;"/>
</div>
<!-- </div>
<div slot="overview" style="min-height: 800px;"> -->

View File

@ -0,0 +1,25 @@
---
vssueId: 57
sharingTitle: Kubernetes 核心概念详解之Ingress
layout: LearningLayout
description: Kubernetes教程_本文介绍如何配置Ingress annotations
meta:
- name: keywords
content: Kubernetes Ingress,Ingress,Ingress 注解,Ingress annotations,nginx-ingress
---
# Ingress 注解配置
## nginx-ingress
如果您参考 kuboard.cn 上提供的 Kubernetes 安装文档完成了 K8S 的安装,那么您应该已经安装了 nginx-ingress某些情况下您可能需要通过 Ingress 的注解来改变 Ingress 的某些行为,例如:
* 修改上传文件的大小限制 `nginx.org/client-max-body-size`
* 在开启 HTTPS 时,默认重定向到 HTTPS `nginx.org/redirect-to-https`
* 启用 websocket `nginx.org/websocket-services`
* 更多请参考文档 [nginx-ingress ConfigMap and Annotations](https://github.com/nginxinc/kubernetes-ingress/blob/master/docs/configmap-and-annotations.md)
## ingress-nginx
## traefic

1080
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,21 @@
Kuboard v1.0.x 的更新说明
## v1.0.4
**发布日期**
2019年11月
**新特性**
**优化**
* 将监控套件的安装脚本从 github 迁移到 https://addons.kuboard.cn
**BUG 修复**
* EndPoint
* 导入工作负载时,如果存储类没有 annotations不应该报错