This commit is contained in:
huanqing.shao
2021-04-05 13:09:28 +08:00
parent 086cf27744
commit c0cdcc0de0
163 changed files with 631 additions and 293 deletions

View File

@ -0,0 +1,57 @@
<i18n locale="en" lang="yaml">
hi: kuboard
</i18n>
<i18n locale="cn" lang="yaml">
hi: kuboard
</i18n>
<template>
<div style="display: inline-block;">
<div style="cursor: pointer;" :id="`demo-popover-target-${suffix}`">
<slot>
<span :style="`font-weight: bold; color: ${color};`">{{label}}</span>
</slot>
</div>
<b-popover :target="`demo-popover-target-${suffix}`" triggers="hover" placement="bottom" variant="primary">
<template #title>在线演示</template>
<div style="font-size: 13px; color: #666;">
在线演示环境中您具备 <span style="color: red; font-weight: bold">只读</span> 权限只能体验 Kuboard 的一部分功能<br/>
</div>
<div style="padding: 10px; border: 1px solid #eee; border-radius: 10px; margin: 10px 0px; background-color: #fafafa;">
<a href="http://demo.kuboard.cn:10080" target="_blank">http://demo.kuboard.cn:10080</a> <br/>
<div style="width: 60px; display: inline-block;margin-top: 5px;">&nbsp;</div>
demo <br/>
<div style="width: 60px; display: inline-block">&nbsp;</div>
demo123
</div>
</b-popover>
</div>
</template>
<script>
export default {
props: {
suffix: { type: String, required: false, default: '' },
label: { type: String, required: false, default: 'Demo' },
color: { type: String, required: false, default: 'auto' },
},
data() {
return {
}
},
computed: {
},
components: { },
mounted () {
},
methods: {
}
}
</script>
<style scoped lang="scss">
</style>

View File

@ -3,6 +3,7 @@ let components = [
{ name: 'Course', component: () => import(`./Course.vue`) }, { name: 'Course', component: () => import(`./Course.vue`) },
{ name: 'CurrentVersion', component: () => import(`./CurrentVersion.vue`) }, { name: 'CurrentVersion', component: () => import(`./CurrentVersion.vue`) },
{ name: 'CurrentVersionV3', component: () => import(`./CurrentVersionV3.vue`) }, { name: 'CurrentVersionV3', component: () => import(`./CurrentVersionV3.vue`) },
{ name: 'KuboardDemo', component: () => import(`./KuboardDemo.vue`) },
] ]
export default function (Vue) { export default function (Vue) {

View File

@ -370,6 +370,38 @@ let sidebar = {
title: 'Kubernetes 高级', title: 'Kubernetes 高级',
collapsable: true, collapsable: true,
children: [ children: [
{
title: '认证及授权',
collapsable: true,
children: [
{
title: '用户认证',
collapsable: true,
children: [
'k8s-advanced/sec/authenticate/',
'k8s-advanced/sec/sa-admin',
// 'k8s-advanced/sec/authenticate/install',
// 'k8s-advanced/sec/authenticate/ldap',
]
}, {
title: '用户授权',
collapsable: true,
children: [
'k8s-advanced/sec/kuboard',
'k8s-advanced/sec/rbac/user-namespace.html',
'k8s-advanced/sec/rbac/list-namespace.html',
'k8s-advanced/sec/rbac/logs.html',
'k8s-advanced/sec/rbac/api',
'k8s-advanced/sec/rbac/default',
'k8s-advanced/sec/rbac/escalation',
'k8s-advanced/sec/rbac/cmd',
'k8s-advanced/sec/rbac/sa',
'k8s-advanced/sec/rbac/permissive',
'k8s-advanced/sec/rbac/example',
]
},
]
},
{ {
title: '问题诊断', title: '问题诊断',
collapsable: true, collapsable: true,
@ -444,38 +476,6 @@ let sidebar = {
'k8s-advanced/hpa/walkthrough', 'k8s-advanced/hpa/walkthrough',
] ]
}, },
{
title: '安全',
collapsable: true,
children: [
{
title: '用户认证',
collapsable: true,
children: [
'k8s-advanced/sec/authenticate/',
'k8s-advanced/sec/sa-admin',
'k8s-advanced/sec/authenticate/install',
'k8s-advanced/sec/authenticate/ldap',
]
}, {
title: '用户授权',
collapsable: true,
children: [
'k8s-advanced/sec/kuboard',
'k8s-advanced/sec/rbac/user-namespace.html',
'k8s-advanced/sec/rbac/list-namespace.html',
'k8s-advanced/sec/rbac/logs.html',
'k8s-advanced/sec/rbac/api',
'k8s-advanced/sec/rbac/default',
'k8s-advanced/sec/rbac/escalation',
'k8s-advanced/sec/rbac/cmd',
'k8s-advanced/sec/rbac/sa',
'k8s-advanced/sec/rbac/permissive',
'k8s-advanced/sec/rbac/example',
]
},
]
},
{ {
title: '监控', title: '监控',
collapsable: true, collapsable: true,

View File

@ -56,20 +56,6 @@ module.exports = {
// selector: 'div[class*="language-"] pre' // selector: 'div[class*="language-"] pre'
selector: 'div[class*="language-"] pre' selector: 'div[class*="language-"] pre'
}, },
// '@vuepress/pwa': {
// serviceWorker: true,
// // popupComponent: 'KbSWUpdatePopup',
// updatePopup: {
// '/': {
// message: "Kuboard已更新",
// buttonText: "点击刷新"
// }
// }
// },
// '@vuepress/pwa': {
// serviceWorker: true,
// updatePopup: true
// },
'@vssue/vuepress-plugin-vssue': { '@vssue/vuepress-plugin-vssue': {
// set `platform` rather than `api` // set `platform` rather than `api`
platform: 'github-v4', platform: 'github-v4',
@ -132,7 +118,7 @@ module.exports = {
// { text: '简介', link: '/overview/' }, // { text: '简介', link: '/overview/' },
{ text: '安装', link: '/install/v3/install.html' }, { text: '安装', link: '/install/v3/install.html' },
{ text: '教程', link: '/learning/' }, { text: '教程', link: '/learning/' },
{ text: '使用', link: '/guide/' }, // { text: '使用', link: '/guide/' },
{ text: '支持', link: '/support/' }, { text: '支持', link: '/support/' },
{ text: '论坛', link: 'https://forum.kuboard.cn/'}, { text: '论坛', link: 'https://forum.kuboard.cn/'},
// { text: '培训', link: 'https://kubetrain.cn/?from=kuboard', target: '_blank' }, // { text: '培训', link: 'https://kubetrain.cn/?from=kuboard', target: '_blank' },
@ -147,13 +133,13 @@ module.exports = {
}, },
lastUpdated: '更新时间', lastUpdated: '更新时间',
// 假定是 GitHub. 同时也可以是一个完整的 GitLab URL // 假定是 GitHub. 同时也可以是一个完整的 GitLab URL
repo: 'eip-work/kuboard-press', // repo: 'eip-work/kuboard-press',
// 自定义仓库链接文字。默认从 `themeConfig.repo` 中自动推断为 // 自定义仓库链接文字。默认从 `themeConfig.repo` 中自动推断为
// "GitHub"/"GitLab"/"Bitbucket" 其中之一,或是 "Source"。 // "GitHub"/"GitLab"/"Bitbucket" 其中之一,或是 "Source"。
repoLabel: '文档仓库', // repoLabel: '文档仓库',
// 假如你的文档仓库和项目本身不在一个仓库: // 假如你的文档仓库和项目本身不在一个仓库:
docsRepo: 'eip-work/kuboard-press', // docsRepo: 'eip-work/kuboard-press',
// 假如文档不是放在仓库的根目录下: // 假如文档不是放在仓库的根目录下:
docsDir: '', docsDir: '',
// 假如文档放在一个特定的分支下: // 假如文档放在一个特定的分支下:

View File

@ -200,16 +200,32 @@
<h1 class="text-primary">快速在 Kubernetes 上落地微服务</h1> <h1 class="text-primary">快速在 Kubernetes 上落地微服务</h1>
<p class="text-primary mt-3"><span style="font-weight: 500;">Kubernetes</span> 安装、教程、管理面板、微服务实战</p> <p class="text-primary mt-3"><span style="font-weight: 500;">Kubernetes</span> 安装、教程、管理面板、微服务实战</p>
<ul class="pair-btns-list"> <ul class="pair-btns-list">
<li> <a class="cbtn btn-grad-s btn-shadow btn-width" <!-- <li> <a class="cbtn btn-grad-s btn-shadow btn-width"
target="_blank" target="_blank"
href="http://demo.kuboard.cn/dashboard?k8sToken=eyJhbGciOiJSUzI1NiIsImtpZCI6InZ6SzVqZFNJOXZFMmxQSkhXamNBcFY4RU9FR0RvSUR5bzJIY0NwVG1zODQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJvYXJkLXZpZXdlci10b2tlbi0yOW40cyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJvYXJkLXZpZXdlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjQzMWMwNmYyLTNiNTAtNGEyMy1hYjM1LTkyNDQwNTQ2NzFkZCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTprdWJvYXJkLXZpZXdlciJ9.kgwTa6t00gNC0vgr6HOvCqkDghPcW-jVDg-_K6WLy97ppb9jvaqVz-AxXzF7mJqXnNetbJw-8-x_L3ogSsDlTKmRucao96VA2tPKxel8pM04J8MU0ZmYgWhTJelibbxmQK3jwGM4x32bckOOvmtumcXdsBRN0z1SZ1iu4H0VoaswhfoFS4ZJKoe61xyqoDhQx4RLCVJh_-Uctd5RCcPLWFEk-BHqC8vUTy8QcRst6RIIozQdTqsv7Xs6bH6dHrHFS--eVVTH2orQdm8znuUFhlqFOOjmCIMzIlaUQC_SO9URIGYOs0jrk27N9KC0HvQ5dLgFmwyNJ0Gu7cYi23NP1A"> href="http://demo.kuboard.cn/dashboard?k8sToken=eyJhbGciOiJSUzI1NiIsImtpZCI6InZ6SzVqZFNJOXZFMmxQSkhXamNBcFY4RU9FR0RvSUR5bzJIY0NwVG1zODQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJvYXJkLXZpZXdlci10b2tlbi0yOW40cyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJrdWJvYXJkLXZpZXdlciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjQzMWMwNmYyLTNiNTAtNGEyMy1hYjM1LTkyNDQwNTQ2NzFkZCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDprdWJlLXN5c3RlbTprdWJvYXJkLXZpZXdlciJ9.kgwTa6t00gNC0vgr6HOvCqkDghPcW-jVDg-_K6WLy97ppb9jvaqVz-AxXzF7mJqXnNetbJw-8-x_L3ogSsDlTKmRucao96VA2tPKxel8pM04J8MU0ZmYgWhTJelibbxmQK3jwGM4x32bckOOvmtumcXdsBRN0z1SZ1iu4H0VoaswhfoFS4ZJKoe61xyqoDhQx4RLCVJh_-Uctd5RCcPLWFEk-BHqC8vUTy8QcRst6RIIozQdTqsv7Xs6bH6dHrHFS--eVVTH2orQdm8znuUFhlqFOOjmCIMzIlaUQC_SO9URIGYOs0jrk27N9KC0HvQ5dLgFmwyNJ0Gu7cYi23NP1A">
在线演示</a></li> 在线演示</a></li> -->
<li> <a class="cbtn btn-grad-s btn-shadow btn-width"
target="_blank"
href="http://demo.kuboard.cn:10080/">
在线演示</a></li>
<li><a href="/learning/" class="cbtn btn-grad btn-shadow btn-width">查看教程</a></li> <li><a href="/learning/" class="cbtn btn-grad btn-shadow btn-width">查看教程</a></li>
</ul> </ul>
<p style="margin-top: 20px;"> <p style="margin-top: 20px;">
<a aria-label="github" href="https://starchart.cc/eip-work/kuboard-press" target="_blank" alt="Github Stars"><img src="https://badgen.net/github/stars/eip-work/kuboard-press?label=github&nbsp;stars"/></a> <a aria-label="github" href="https://starchart.cc/eip-work/kuboard-press" target="_blank" alt="Github Stars"><img src="https://badgen.net/github/stars/eip-work/kuboard-press?label=github&nbsp;stars"/></a>
<a aria-label="github" href="https://hub.docker.com/r/eipwork/kuboard" target="_blank" alt="Docker Pulls"><img src="https://badgen.net/docker/pulls/eipwork/kuboard"/></a> <a aria-label="github" href="https://hub.docker.com/r/eipwork/kuboard" target="_blank" alt="Docker Pulls"><img src="https://badgen.net/docker/pulls/eipwork/kuboard"/></a>
</p> </p>
<p>
<div style="font-size: 13px; color: #666;">
在线演示环境中,您具备 <span style="color: red; font-weight: bold">只读</span> 权限,只能体验 Kuboard 的一部分功能。<br/>
</div>
<div style="padding: 10px; border: 1px solid #eee; border-radius: 10px; margin: 10px 0px; background-color: #fafafa;">
<a href="http://demo.kuboard.cn:10080" target="_blank">http://demo.kuboard.cn:10080</a> <br/>
<div style="width: 60px; display: inline-block;margin-top: 5px;">&nbsp;户:</div>
demo <br/>
<div style="width: 60px; display: inline-block">&nbsp;码:</div>
demo123
</div>
</p>
</div> </div>
</div> </div>
<div class="col-sm-6 col-md-5"> <div class="col-sm-6 col-md-5">

View File

@ -54,6 +54,7 @@
/> />
<SearchBox v-else-if="$site.themeConfig.search !== false && $page.frontmatter.search !== false"/> <SearchBox v-else-if="$site.themeConfig.search !== false && $page.frontmatter.search !== false"/>
<NavLinks class="can-hide"/> <NavLinks class="can-hide"/>
<KuboardDemo class="can-hide" style="margin-left: 20px;" suffix="navbar"></KuboardDemo>
</div> </div>
</header> </header>
</template> </template>

View File

@ -14,42 +14,30 @@
<div class="side-nav-item" :style="activeLinkStyle('/learning/')"> <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>
<div class="side-nav-item" :style="activeLinkStyle('/guide/')"> <!-- <div class="side-nav-item" :style="activeLinkStyle('/guide/')">
<a :href="`/guide/${urlSurfix}`" class="nav-link">使用</a> <a :href="`/guide/${urlSurfix}`" class="nav-link">使用</a>
</div> </div> -->
<div class="side-nav-item" :style="activeLinkStyle('/support/')"> <div class="side-nav-item" :style="activeLinkStyle('/support/')">
<a :href="`/support/${urlSurfix}`" class="nav-link">支持</a> <a :href="`/support/${urlSurfix}`" class="nav-link">支持</a>
</div> </div>
<div class="side-nav-item" :style="activeLinkStyle('/forum/')"> <div class="side-nav-item" :style="activeLinkStyle('/forum/')">
<a :href="`https://forum.kuboard.cn`" target="_blank" class="nav-link">论坛</a> <a :href="`https://forum.kuboard.cn`" target="_blank" class="nav-link">论坛</a>
</div> </div>
<!-- <div class="side-nav-item" :style="activeLinkStyle('/training/')"> <KuboardDemo class="side-nav-item" suffix="sidebar"></KuboardDemo>
<a :href="`https://kubetrain.cn/?from=kuboard`" class="nav-link" target="_blank">培训</a>
</div> -->
<!-- <div class="side-nav-item">
<a href="http://k8s.kubetrain.cn" class="nav-link" target="_blank">博客</a>
</div> -->
<!-- <div class="side-nav-item">
<a href="http://bbs.kuboard.cn" class="nav-link" target="_blank">论坛</a>
</div> -->
</div> </div>
<slot name="top"/> <slot name="top"/>
<SidebarLinks :depth="0" :items="items"/> <SidebarLinks :depth="0" :items="items"/>
<slot name="bottom"/> <slot name="bottom"/>
<div style="text-align: center; margin-top: 5vh;"> <div style="text-align: center; margin-top: 5vh;">
<!-- <a target="_blank" :href="`http://demo.kuboard.cn/dashboard?k8sToken=${$site.themeConfig.kuboardToken}`">
<img style="width: 242px; border: 1px solid #d7dae2;" src="/images/logo-main.png" alt="Kuboard_快速在Kubernetes上落地微服务"/>
</a> -->
<p> <p>
<strong> <KuboardDemo suffix="sidebar2" label="在线演示" color="#007af5"></KuboardDemo>
<a target="_blank" :href="`http://demo.kuboard.cn/dashboard?k8sToken=${$site.themeConfig.kuboardToken}`">在线体验</a>
</strong>
</p> </p>
<div> <div>
<a target="_blank" :href="`http://demo.kuboard.cn/dashboard?k8sToken=${$site.themeConfig.kuboardToken}`"> <KuboardDemo suffix="sidebar3">
<FancyImage style="width: 242px;" src="/images/preview.png" alt="Kubernetes教程_Kuboard在线体验" title="Kuboard" description="快速在 Kubernetes 上落地微服务"></FancyImage> <a target="_blank" href="http://demo.kuboard.cn:10080">
</a> <FancyImage style="width: 242px;" src="/images/preview.png" alt="Kubernetes教程_Kuboard在线体验" title="Kuboard" description="http://demo.kuboard.cn:10080"></FancyImage>
</a>
</KuboardDemo>
</div> </div>
<p> <p>
</p> </p>
@ -145,7 +133,7 @@ export default {
} }
.side-nav-item { .side-nav-item {
margin-bottom: -2px; margin-bottom: -2px;
margin-left: 3px; margin-left: 10px;
display: inline-block; display: inline-block;
line-height: 1.4rem; line-height: 1.4rem;
white-space: nowrap; white-space: nowrap;

View File

@ -29,6 +29,7 @@ meta:
* 用于安装 Kuboard v3.0 的机器已经安装了 docker并且版本不低于 docker 19.03 * 用于安装 Kuboard v3.0 的机器已经安装了 docker并且版本不低于 docker 19.03
* 您已经有自己的 Kubernetes 集群,并且版本不低于 Kubernetes v1.13 * 您已经有自己的 Kubernetes 集群,并且版本不低于 Kubernetes v1.13
点击此处可以查看 <KuboardDemo suffix="install" label="在线演示" color="#007af5"/>
## 安装 ## 安装
安装 Kuboard v3.0 版本的指令如下: 安装 Kuboard v3.0 版本的指令如下:

View File

@ -16,6 +16,8 @@ Kuboard v3.0 支持 Kubernetes 多集群管理。如果您从 Kuboard v1.0.x 或
* 您可以同时使用 Kuboard v3.0.x 和 Kuboard v2.0.x * 您可以同时使用 Kuboard v3.0.x 和 Kuboard v2.0.x
* Kuboard v3.0.x 支持 amd64 (x86) 架构和 arm68 (armv8) 架构的 CPU * Kuboard v3.0.x 支持 amd64 (x86) 架构和 arm68 (armv8) 架构的 CPU
点击此处可以查看 <KuboardDemo suffix="install" label="在线演示" color="#007af5"/>
## 兼容性 ## 兼容性

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 614 KiB

View File

@ -15,8 +15,7 @@ Kuboard 通过套件能力,提供了一种基于 loki + grafana + promtail 的
具体请进入您已经安装好的 Kuboard 界面,按照如下步骤可以找到日志聚合套件: 具体请进入您已经安装好的 Kuboard 界面,按照如下步骤可以找到日志聚合套件:
1. 点击右上角的圆形按钮,进入 ***设置*** 菜单 1. 点击左侧的 ***集群导入*** --> ***套件*** 菜单
2. 点击左侧的 ***Kuboard*** --> ***套件*** 菜单
3. 点击 ***套件仓库*** Tab 页 3. 点击 ***套件仓库*** Tab 页
4. 点击 ***日志聚合套件*** 的 ***查看*** 按钮,如下图所示: 4. 点击 ***日志聚合套件*** 的 ***查看*** 按钮,如下图所示:
@ -24,4 +23,4 @@ Kuboard 通过套件能力,提供了一种基于 loki + grafana + promtail 的
进入 ***日志聚合套件*** 的详情页后,按照提示可以顺利完成套件的安装(支持在线安装、离线安装),并可以快速了解如何使用。 进入 ***日志聚合套件*** 的详情页后,按照提示可以顺利完成套件的安装(支持在线安装、离线安装),并可以快速了解如何使用。
::: :::
![Kubernetes-Logs](./loki-addon.assets/image-20200729210144022.png) ![Kubernetes-Logs](./loki-addon.assets/image-20210404202048279.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

View File

@ -41,7 +41,7 @@ nodeName 是四种方法中最简单的一个,但是因为它的局限性,
您在 Kuboard 工作负载编辑器中,可以通过 ***指定节点*** --> ***选择节点*** 按钮,选择对应 nodeName 的取值。如下图所示: 您在 Kuboard 工作负载编辑器中,可以通过 ***指定节点*** --> ***选择节点*** 按钮,选择对应 nodeName 的取值。如下图所示:
![Kubernetes教程将容器调度到指定节点-选择节点](./assign-pod-node.assets/image-20190908141039251.png) ![Kubernetes教程将容器调度到指定节点-选择节点](./assign-pod-node.assets/image-20210404213023202.png)
## 节点选择器 nodeSelector ## 节点选择器 nodeSelector
@ -57,7 +57,7 @@ nodeSelector 是 PodSpec 中的一个字段。指定了一组名值对。节点
增加标签 disk:ssd并保存如下图所示 增加标签 disk:ssd并保存如下图所示
![Kubernetes教程将容器调度到指定节点-为节点增加标签](./assign-pod-node.assets/image-20190908152121423.png) ![Kubernetes教程将容器调度到指定节点-为节点增加标签](./assign-pod-node.assets/image-20210404213139950.png)
### 为工作负载选择节点 ### 为工作负载选择节点
@ -65,13 +65,13 @@ nodeSelector 是 PodSpec 中的一个字段。指定了一组名值对。节点
* 点击您要编辑的工作负载,进入工作负载查看页 * 点击您要编辑的工作负载,进入工作负载查看页
* 点击 ***编辑*** 按钮,进入工作负载编辑页 * 点击 ***编辑*** 按钮,进入工作负载编辑页,并切换到 ***高级设置*** 标签
* 点击 **节点选择** --> **匹配节点** --> **选择标签** 按钮 * 点击 **节点选择** --> **根据标签选择节点** --> **选择标签** 按钮
选择 disk:ssd 标签,此时可以看到匹配的节点有刚才您添加标签的节点。点击 ***确定*** 按钮 选择 `disk:ssd` 标签,此时可以看到匹配的节点有刚才您添加标签的节点。点击 ***确定*** 按钮
![Kubernetes教程将容器调度到指定节点-选择标签](./assign-pod-node.assets/image-20190908152640876.png) ![Kubernetes教程将容器调度到指定节点-选择标签](./assign-pod-node.assets/image-20210404214602430.png)
* 点击 ***保存*** 按钮 * 点击 ***保存*** 按钮

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

View File

@ -48,7 +48,7 @@ Kubernetes 中,可以为容器指定计算资源的请求数量 request 和限
在 Kuboard 的工作负载编辑器中编辑容器资源请求及限制的界面如下图所示: 在 Kuboard 的工作负载编辑器中编辑容器资源请求及限制的界面如下图所示:
![Kubernetes教程管理容器的计算资源](./computing-resource.assets/image-20190908193257183.png) ![Kubernetes教程管理容器的计算资源](./computing-resource.assets/image-20210404214836049.png)
## 带有资源请求的容器组是如何调度的 ## 带有资源请求的容器组是如何调度的

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 KiB

View File

@ -28,17 +28,15 @@ Kubernetes ConfigMap 可以将配置信息和容器镜像解耦,以使得容
Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请自行参考文档 [Configure a Pod to Use a ConfigMap](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap) Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请自行参考文档 [Configure a Pod to Use a ConfigMap](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap)
::: :::
* 打开 Kuboard 界面,并点击进入您想要创建 ConfigMap 的 **名称空间** * 打开 Kuboard 界面,并点击进入您想要创建 ConfigMap 的 **名称空间**,切换到 ***配置中心*** / ***配置字典*** 菜单,如下图所示:
如下图所示: ![Kubernetes教程使用ConfigMap配置应用-进入名称空间](./config-map.assets/image-20210404224432468.png)
![Kubernetes教程使用ConfigMap配置应用-进入名称空间](./config-map.assets/image-20190829060842558.png) * 点击 **配置** --> **创建 ConfigMap** 按钮
* 点击 **配置** --> **创建** 按钮
并填写表单,如下图所示: 并填写表单,如下图所示:
![Kubernetes教程使用ConfigMap配置应用-创建ConfigMap](./config-map.assets/image-20190829110253001.png) ![Kubernetes教程使用ConfigMap配置应用-创建ConfigMap](./config-map.assets/image-20210404224625206.png)
* 点击 **保存** * 点击 **保存**
@ -50,24 +48,31 @@ Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请
填写表单如下: 填写表单如下:
| 字段名称 | 填写内容 | 备注 | | 字段名称 | 填写内容 | 备注 |
| -------- | -------------- | ------------------------------------------------------------ | | -------- | -------------- | ------------------------ |
| 服务类型 | Deployment | | | 服务类型 | Deployment | |
| 服务分层 | 中间件 | | | 服务分层 | 中间件 | |
| 服务名称 | busybox | | | 服务名称 | busybox | |
| 服务描述 | busybox | | | 副本数量 | 1 | |
| 副本数量 | 1 | | | 容器名称 | busybox | |
| 容器名称 | busybox | | | 镜像 | busybox:1.29 | |
| 镜像 | busybox:1.29 | | | 抓取策略 | Always | |
| 抓取策略 | Always | | | Command | sleep<br/>3600 | sleep 和 3600 是两个元素 |
| Command | sleep<br/>3600 | sleep 和 3600 是两个元素 |
| 环境变量 | ENV_KEY_1 | 选择 ConfigMap<br/> ConfigMap 填写 ***my-nginx-config*** <br/> Key 填写 ***KEY_1*** | * 勾选 ***环境变量***
* 点击 ***名值对*** 可以添加一个环境变量
* 填写表单:
* 环境名: `ENV_KEY_1`
* 值类型:`ConfigMap`
* ConfigMap名`my-config`
* ConfigMap Key`KEY_1`
如下图所示: 如下图所示:
![Kubernetes教程使用ConfigMap配置应用-创建工作负载](./config-map.assets/image-20190829112358038.png) ![Kubernetes教程使用ConfigMap配置应用-创建工作负载](./config-map.assets/image-20210404225341906.png)
![Kubernetes教程使用ConfigMap配置应用-创建工作负载](./config-map.assets/image-20190829112451057.png)
* 点击 **保存** * 点击 **保存**
@ -75,7 +80,7 @@ Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请
* 点击 **完成** * 点击 **完成**
****cloud-busybox*** 的工作负载查看界面,进入容器 ***busybox*** 的终端 ****busybox*** 的工作负载查看界面,进入容器 ***busybox*** 的终端
切换到 /bin/sh 终端 切换到 /bin/sh 终端
@ -85,9 +90,11 @@ Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请
执行命令:`export` 执行命令:`export`
可查看到 ENV_KEY_1='value-1' 已经注入到该容器的环境变量中,如下图所示: 可查看到 ENV_KEY_1=`value-1` 已经注入到该容器的环境变量中,如下图所示:
![Kubernetes教程使用ConfigMap配置应用-进入终端界面](./config-map.assets/image-20210404230245842.png)
![Kubernetes教程使用ConfigMap配置应用-进入终端界面](./config-map.assets/image-20190829112834708.png)
## ConfigMap --> 容器的环境变量ConfigMap的所有名值对 ## ConfigMap --> 容器的环境变量ConfigMap的所有名值对
@ -106,11 +113,11 @@ Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请
| 镜像 | busybox:1.29 | | | 镜像 | busybox:1.29 | |
| 抓取策略 | Always | | | 抓取策略 | Always | |
| Command | sleep<br/>3600 | sleep 和 3600 是两个元素 | | Command | sleep<br/>3600 | sleep 和 3600 是两个元素 |
| 环境变量 | ***my-nginx-config*** | 通过 ***+ 配置*** 按钮添加 | | 环境变量 | ***my-config*** | 通过 ***+ 配 置*** 按钮添加 |
如下图所示: 如下图所示:
![Kubernetes教程使用ConfigMap配置应用-创建工作负载](./config-map.assets/image-20190829135425998.png) ![Kubernetes教程使用ConfigMap配置应用-创建工作负载](./config-map.assets/image-20210404230928074.png)
* 点击 **保存** * 点击 **保存**
@ -119,7 +126,7 @@ Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请
* 点击 **完成** * 点击 **完成**
****cloud-busybox*** 的工作负载查看界面,进入容器 ***busybox*** 的终端 ****busybox*** 的工作负载查看界面,进入容器 ***busybox*** 的终端
切换到 /bin/sh 终端 切换到 /bin/sh 终端
@ -139,7 +146,7 @@ Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请
可查看到 `KEY_1` `KEY_2` `KEY_3` 已经注入到该容器的环境变量中,如下图所示: 可查看到 `KEY_1` `KEY_2` `KEY_3` 已经注入到该容器的环境变量中,如下图所示:
![Kubernetes教程使用ConfigMap配置应用-执行export命令](./config-map.assets/image-20190829135734710.png) ![Kubernetes教程使用ConfigMap配置应用-执行export命令](./config-map.assets/image-20210404231254710.png)
## ConfigMap --> Command 参数 ## ConfigMap --> Command 参数
@ -157,11 +164,11 @@ Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请
| 容器名称 | busybox | | | 容器名称 | busybox | |
| 镜像 | busybox:1.29 | | | 镜像 | busybox:1.29 | |
| 抓取策略 | Always | | | 抓取策略 | Always | |
| Command | /bin/sh<br/>-c<br/>echo ${ENV_KEY_1} ${ENV_KEY_3} ; sleep ${ENV_KEY_3} | | | Command | /bin/sh -c 'echo ${ENV_KEY_1} ${ENV_KEY_3} ; sleep ${ENV_KEY_3}' | |
| 环境变量 | ENV_KEY_1 / ENV_KEY_3 | 选择 ConfigMap<br/> ConfigMap 填写 ***my-nginx-config*** <br/> Key 填写 ***KEY_1*** <br/> <br/> 同样的方法添加 ENV_KEY_3 | | 环境变量 | ENV_KEY_1 / ENV_KEY_3 | 选择 ConfigMap<br/> ConfigMap 填写 ***my-nginx-config*** <br/> Key 填写 ***KEY_1*** <br/> <br/> 同样的方法添加 ENV_KEY_3 |
如下图所示: 如下图所示:
![Kubernetes教程使用ConfigMap配置应用-Command参数](./config-map.assets/image-20190829141424670.png) ![Kubernetes教程使用ConfigMap配置应用-Command参数](./config-map.assets/image-20210404232651733.png)
* 点击 **保存** * 点击 **保存**
@ -170,7 +177,7 @@ Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请
* 点击 **完成** * 点击 **完成**
****cloud-busybox*** 的工作负载查看界面,进入容器 ***busybox*** 的日志界面,可查看到该命令输出的结果为 ****busybox*** 的工作负载查看界面,进入容器 ***busybox*** 的日志界面,可查看到该命令输出的结果为
``` sh ``` sh
value-1 3600 value-1 3600
@ -178,7 +185,9 @@ Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请
如下图所示 如下图所示
![Kubernetes教程使用ConfigMap配置应用-查看日志界面](./config-map.assets/image-20190829151912714.png) ![Kubernetes教程使用ConfigMap配置应用-查看日志界面](./config-map.assets/image-20210404232853214.png)
## ConfigMap --> 数据卷 ## ConfigMap --> 数据卷
@ -188,7 +197,7 @@ Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请
| 字段名称 | 填写内容 | 备注 | | 字段名称 | 填写内容 | 备注 |
| ------------ | ------------------ | ---------------------------------------------------- | | ------------ | ------------------ | ---------------------------------------------------- |
| 名称 | my-nginx-config | | | 名称 | my-config | |
| KEY_1 | value-1 | | | KEY_1 | value-1 | |
| KEY_2 | value-2 | | | KEY_2 | value-2 | |
| KEY_3 | 3600 | | | KEY_3 | 3600 | |
@ -213,33 +222,57 @@ Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请
![Kubernetes教程使用ConfigMap配置应用-数据卷配置](./config-map.assets/image-20190829144149253.png) ![Kubernetes教程使用ConfigMap配置应用-数据卷配置](./config-map.assets/image-20210404233115209.png)
* 创建 nginx Deployment 如下图所示: * 创建 nginx Deployment 如下图所示:
填写表单: * 填写 ***基本信息***
| 字段名称 | 填写内容 | 备注 | ![Kubernetes教程使用ConfigMap配置应用-数据卷配置](./config-map.assets/image-20210405084916819.png)
| ---------------------- | -------------------------------- | ------------------------------------------------------------ |
| 服务类型 | Deployment | | 填写表单:
| 服务分层 | 展现层 | |
| 服务名称 | nginx | | | 字段名称 | 填写内容 | 备注 |
| 服务描述 | Nginx部署 | | | ---------------------- | -------------------------------- | ------------------------------------------------------------ |
| 副本数量 | 1 | | | 服务类型 | Deployment | |
| 数据卷: | ---------- | ------------ | | 服务分层 | 展现层 | |
| 数据卷名称 | default-conf | | | 服务名称 | nginx | |
| 数据卷类型 | configMap | | | 服务描述 | Nginx部署 | |
| ConfigMap | my-nginx-config | | | 副本数量 | 1 | |
| KeyToPath | default_conf --> default.conf | 将数据卷内的 default_conf 的内容映射到路径 default.conf |
| 容器: | ---------- | ------------ | * 填写 ***容器信息***
| 容器名称 | nginx | |
| 镜像 | nginx:1.7.9 | | 如下图所示:
| 抓取策略 | Always | |
| 挂载点:容器内路径 | /etc/nginx/conf.d/default.conf | 容器内路径 | ![Kubernetes教程使用ConfigMap配置应用-数据卷配置](./config-map.assets/image-20210405084812474.png)
| 挂载点:数据卷 | default-conf | 选择上面已经定义的数据卷 |
| 挂载点:数据卷内子路径 | default.conf | 将数据卷内的 default.conf 映射到容器的 /etc/nginx/conf.d/default.conf | 填写表单:
| 字段名称 | 填写内容 | 备注 |
| ---------------------- | -------------------------------- | ------------------------------------------------------------ |
| 容器名称 | nginx | |
| 镜像 | nginx:1.7.9 | |
| 抓取策略 | Always | |
* 填写 ***存储挂载***
如下图所示:
![Kubernetes教程使用ConfigMap配置应用-数据卷配置](./config-map.assets/image-20210405092911957.png)
填写表单:
| 字段名称 | 填写内容 | 备注 |
| ----------------------------------- | ------------------------------ | ---------------------- |
| 数据卷名称 | 任意 | 可以使用默认生成的名称 |
| 数据卷类型 | 配置字典 | |
| ConfigMap | my-config | |
| KeyToPath : Key | default_conf | |
| KeyToPath : 子路径 | default.conf | |
| 挂载到容器 nginx | 只读 | |
| 挂载到容器 nginx : 挂载到容器内路径 | /etc/nginx/conf.d/default.conf | |
| 挂载到容器 nginx : 子路径 | default.conf | |
![Kubernetes教程使用ConfigMap配置应用-数据卷配置](./config-map.assets/image-20190829143229693.png)
* 点击 **保存** * 点击 **保存**
@ -247,7 +280,7 @@ Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请
* 点击 **完成** * 点击 **完成**
* 进入 ***终端*** 界面 * 进入 ***sh*** 终端界面
执行命令 执行命令
@ -260,7 +293,9 @@ Kubernetes 描述了多种 ConfigMap 的创建方法,本文不再复述,请
cat /default.conf cat /default.conf
``` ```
![Kubernetes教程使用ConfigMap配置应用-查看结果](./config-map.assets/image-20190829151744331.png) ![Kubernetes教程使用ConfigMap配置应用-查看结果](./config-map.assets/image-20210405085500623.png)
::: tip ::: tip

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

View File

@ -11,15 +11,9 @@ meta:
<AdSenseTitle/> <AdSenseTitle/>
通过 Kuboard可以直接设定 Deployment、StatefulSet、DaemonSet 等中容器的 securityContext 的内容。在 Kuboard 工作负载编辑器界面中点击 `容器` --> `安全设定` --> **编辑** 按钮, 通过 Kuboard可以直接设定 Deployment、StatefulSet、DaemonSet 等中容器的 securityContext 的内容。在 Kuboard 工作负载编辑器界面中切换到 ***容器信息*** 标签页,并勾选 ***容器安全上下文*** ,可查看到容器的 Security Context 设置界面,如下图所示:
<p style="max-width: 300px;"> ![Kubernetes教程_Kuboard中设置容器的SecurityContext](./con-kuboard.assets/image-20210404222940340.png)
<img src="./con-kuboard.assets/image-20191129162033296.png" alt="Kubernetes教程_Kuboard中设置容器的SecurityContext"/>
</p>
可查看到容器的 Security Context 设置界面,如下图所示:
![Kubernetes教程_Kuboard中设置容器的SecurityContext](./con-kuboard.assets/image-20191005230605496.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

View File

@ -11,15 +11,9 @@ meta:
<AdSenseTitle/> <AdSenseTitle/>
通过 Kuboard可以直接设定 Deployment、StatefulSet、DaemonSet 等中 Pod 模板的 securityContext 的内容。在 Kuboard 工作负载编辑器界面中点击 **容器组的更多设定** 按钮, 通过 Kuboard可以直接设定 Deployment、StatefulSet、DaemonSet 等中 Pod 模板的 securityContext 的内容。在 Kuboard 工作负载编辑器界面中切换到 ***高级设置*** 标签页,并勾选 ***容器组安全上下文*** ,可查看到 Pod 的 Security Context 设置界面,如下图所示:
<p style="max-width: 300px;"> ![Kubernetes教程_Kuboard中Pod的SecurityContext](./pod-kuboard.assets/image-20210404222653750.png)
<img src="./pod-kuboard.assets/image-20191129161044561.png" alt="Kubernetes教程_Kuboard中Pod的SecurityContext"/>
</p>
可查看到 Pod 的 Security Context 设置界面,如下图所示:
![Kubernetes教程_Kuboard中Pod的SecurityContext](./pod-kuboard.assets/image-20191004221427371.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

View File

@ -13,24 +13,19 @@ meta:
本文简要描述如何在 Kuboard 中创建 Kubernetes Secret。 本文简要描述如何在 Kuboard 中创建 Kubernetes Secret。
Kubernetes Secret 必须从属于某一个名称空间,进入 Kuboard 名称空间界面,Secret 列表在名称空间的左上角。如下图所示: * Kubernetes Secret 必须从属于某一个名称空间,进入 Kuboard 名称空间界面,在菜单中导航到 ***配置中心*** / ***密 文***如下图所示:
* 点击图中 Secrets 的文字,可刷新该列表 ![Kubernetes教程_使用Kuboard创建Secret](./create-kuboard.assets/image-20210404222214169.png)
* 点击放大按钮,可放大列表窗口
* 点击 **创建 Secret** 按钮,可显示 Secret 的创建界面,如下图所示:
![Kubernetes教程_使用Kuboard创建Secret](./create-kuboard.assets/image-20190925232823416.png) ![Kubernetes教程_使用Kuboard创建Secret](./create-kuboard.assets/image-20210404222346834.png)
* 点击 **创建** 按钮,可显示 Secret 的创建界面,如下图所示:
![Kubernetes教程_使用Kuboard创建Secret](./create-kuboard.assets/image-20190925232914884.png)
* 可以创建的 Secret 类型有: * 可以创建的 Secret 类型有:
* docker 仓库密码 * docker 仓库密码
* Opaque (可自定义 key / value) * Opaque (可自定义 key / value)
* TLS (可存放 HTTPS 证书等) * TLS (可存放 HTTPS 证书等)
* 可以显示的 Secret 类型有: * 可以显示的 Secret 类型有:
* Service Account Token * Service Account Token (通常由系统创建)
* Bootstrap Token - 通常由系统创建 * Bootstrap Token 通常由系统创建

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 KiB

View File

@ -21,15 +21,13 @@ meta:
## 创建Secret ## 创建Secret
* 在 Kuboard 界面中进入名称空间页,点击 **Secrets 创建** 按钮 * 在 Kuboard 界面中进入 ***配置中心*** / ***密 文*** ,点击 ***创建 Secret*** 按钮,填写表单,如下图所示:
填写表单,如下图所示:
* 选择类型为 TLS * 选择类型为 TLS
* 将 .key 文件中的内容填入 tls.key 字段 * 将 .key 文件中的内容填入 tls.key 字段
* 将 .pem 文件中的内容填入 tls.crt 字段 * 将 .pem 文件中的内容填入 tls.crt 字段
![Kubernetes教程_为Ingress创建Secret](./use-case-ingress-tls.assets/image-20191002145325899.png) ![Kubernetes教程_为Ingress创建Secret](./use-case-ingress-tls.assets/image-20210404221520087.png)
* 点击 **保存** 按钮 * 点击 **保存** 按钮
@ -37,11 +35,14 @@ meta:
* 在 Kuboard 界面中,点击要激活 HTTPS 的工作负载,进入编辑页面,如下图所示: * 在 Kuboard 界面中,点击要激活 HTTPS 的工作负载,进入编辑页面,如下图所示:
**互联网入口 Ingress** 区域,勾选 HTTPS并选择刚才创建好的 Secret **应用路由** 区域,勾选 HTTPS并选择刚才创建好的 Secret
![Kubernetes教程_在Ingress中使用Secret](./use-case-ingress-tls.assets/image-20191002145717667.png) ![Kubernetes教程_在Ingress中使用Secret](./use-case-ingress-tls.assets/image-20210404221914897.png)
![Kubernetes教程_在Ingress中使用Secret](./use-case-ingress-tls.assets/image-20210404221803476.png)
* 点击 **保存** 按钮 * 点击 **保存** 按钮
* 在浏览器打开对应的域名,验证 HTTPS 是否生效 * 在浏览器打开对应的域名,验证 HTTPS 是否生效
::: tip ::: tip

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

View File

@ -12,15 +12,11 @@ meta:
<AdSenseTitle/> <AdSenseTitle/>
> Kuboard v-1.0.5-beta.3 中增加了容忍的功能 > 下面的截图基于 `Kuboard v3.1.1.0`
在 Kubobard 工作负载编辑界面中点击 ***容器组的更多设定*** 按钮(下图左下角), 在 Kubobard 工作负载编辑界面中切换到 ***高级设置*** 标签页,可为工作负载设置容忍,如下图所示:
![Kubernetes教程_使用Kuboard置容忍](./kuboard-toleration.assets/image-20191130215407308.png) ![Kubernetes教程_Kuboard中设置容忍](./kuboard-toleration.assets/image-20210404211633381.png)
可为工作负载设置容忍,如下图所示:
![Kubernetes教程_在Kuboard中设置容忍](./kuboard-toleration.assets/image-20191130215717584.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

View File

@ -103,7 +103,7 @@ Kubernetes 对 Pod 进行调度时,以当时集群中各节点的可用资源
| NFS Server | 172.17.216.82 | 请使用您自己的NFS服务的IP地址 | | NFS Server | 172.17.216.82 | 请使用您自己的NFS服务的IP地址 |
| NFS Path | /root/nfs_root | 请使用您自己的NFS服务所共享的路径 | | NFS Path | /root/nfs_root | 请使用您自己的NFS服务所共享的路径 |
![Kubernetes教程_在Kuboard中创建NFS_StorageClass存储类](./nfs.assets/image-20191003183534076.png) ![Kubernetes教程_在Kuboard中创建NFS_StorageClass存储类](./nfs.assets/image-20210404194644944.png)
* 在场景中使用存储类 * 在场景中使用存储类

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

View File

@ -167,7 +167,7 @@ Kubernetes 支持 20 种存储卷类型(可参考 [Types of Persistent Volumes
在 Kuboard 中查看 PersistentVolume 的界面如下图所示: 在 Kuboard 中查看 PersistentVolume 的界面如下图所示:
![Kubernetes教程存储卷PersistentVolume-在Kuboard中查看](./pv.assets/image-20200913194907655.png) ![Kubernetes教程存储卷PersistentVolume-在Kuboard中查看](./pv.assets/image-20210404180415333.png)
PersistentVolume 字段描述如下表所示: PersistentVolume 字段描述如下表所示:
@ -187,7 +187,7 @@ PersistentVolume 字段描述如下表所示:
在 Kuboard 中查看存储卷声明的界面如下图所示: 在 Kuboard 中查看存储卷声明的界面如下图所示:
![Kubernetes教程存储卷PersistentVolume-在Kuboard中查看存储卷声明PersistentVolumeClaims](./pv.assets/image-20200913195026464.png) ![Kubernetes教程存储卷PersistentVolume-在Kuboard中查看存储卷声明PersistentVolumeClaims](./pv.assets/image-20210404180516539.png)
| 字段名称 | 可选项/备注 | | 字段名称 | 可选项/备注 |
| --------------------- | ------------------------------------------------------------ | | --------------------- | ------------------------------------------------------------ |
@ -202,4 +202,4 @@ PersistentVolume 字段描述如下表所示:
在您完成存储卷声明的定义后,您可以在 Kuboard 工作复杂编辑器的 ***数据卷 Volume*** 区域引用该存储卷声明,如下图所示: 在您完成存储卷声明的定义后,您可以在 Kuboard 工作复杂编辑器的 ***数据卷 Volume*** 区域引用该存储卷声明,如下图所示:
![Kubernetes教程存储卷PersistentVolume-使用存储卷声明](./pv.assets/image-20200913195201062.png) ![Kubernetes教程存储卷PersistentVolume-使用存储卷声明](./pv.assets/image-20210404180628506.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

View File

@ -47,7 +47,7 @@ Kuboard 支持的存储类的种类如下:
在 Kuboard 中查看存储类,如下图所示: 在 Kuboard 中查看存储类,如下图所示:
![Kubernetes教程在Kuboard中查看存储类](./storage-class.assets/image-20200913194251730.png) ![Kubernetes教程在Kuboard中查看存储类](./storage-class.assets/image-20210404180855976.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

View File

@ -60,9 +60,9 @@ spec:
同一个 volumeMounts 中 `subPath` 字段和 `subPathExpr` 字段不能同时使用。 同一个 volumeMounts 中 `subPath` 字段和 `subPathExpr` 字段不能同时使用。
> 在Kuboard界面中如果工作负载编辑器中挂载点的 subPath/subPathExpr 字段中包含 `$`,则 Kuboard 认为该字段为 subPathExpr否则被认为是 subPath。例如下图中的 $(podName) 将被认为是 subPathExpr <Badge type="default">Kuboard v1.0.6-beta.1</Badge> > 在Kuboard界面中如果工作负载编辑器中挂载点的 subPath/subPathExpr 字段中包含 `$`,则 Kuboard 认为该字段为 subPathExpr否则被认为是 subPath。例如下图中的 $(podName) 将被认为是 subPathExpr <Badge type="default">Kuboard v3.1.1.0</Badge>
> >
> ![./image-20200101173914313](./volume-mount-point.assets/image-20200101173914313.png) > ![image-20210404194435754](./volume-mount-point.assets/image-20210404194435754.png)
如下面的例子,该 Pod 使用 `subPathExpr` 在 hostPath 数据卷 `/var/log/pods` 中创建了一个目录 `pod1`该参数来自于Pod的名字。此时宿主机目录 `/var/log/pods/pod1` 挂载到了容器的 `/logs` 路径: 如下面的例子,该 Pod 使用 `subPathExpr` 在 hostPath 数据卷 `/var/log/pods` 中创建了一个目录 `pod1`该参数来自于Pod的名字。此时宿主机目录 `/var/log/pods/pod1` 挂载到了容器的 `/logs` 路径:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

View File

@ -60,7 +60,9 @@ Docker 里同样也存在一个 volume数据卷的概念但是 docker
::: :::
![Kubernetes教程数据卷Volume-概念结构](./volume.assets/image-20190904194501941.png)
![Kubernetes教程数据卷Volume-概念结构](./volume.assets/image-20210404180050704.png)
## 数据卷的类型 ## 数据卷的类型

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

View File

@ -49,59 +49,49 @@ docker pull my-registry.example.com:5000/example/web-example:v1.0.1
::: :::
## 配置 Secrets
* 打开 Kuboard 界面
* 进入您要工作的 **名称空间** 界面
* 点击 ***Secrets*** --> ***创建*** 按钮
填写表单:
| 字段名称 | 填写内容 | 备注 |
| --------------- | ---------------------------- | ---------------------------- |
| 名称 | my-registry-secret | 可以使用便于您自己记忆的名字 |
| 类型 | docker仓库密码 | |
| docker server | my-registry.example.com:5000 | |
| docker username | myusername | |
| docker password | mypassword | |
如下图所示
![Kubernetes教程使用私有仓库中的 docker 镜像](./private-registry.assets/image-20190923164105388.png)
* 点击 **保存** 按钮
## 创建工作负载 ## 创建工作负载
* 此处省略创建工作负载的详细描述,请参考 [部署 busybox](/guide/example/busybox.html) * 此处省略创建工作负载的详细描述,请参考 [部署 busybox](/guide/example/busybox.html)
* 如果要使用私有 registry 中的 docker 镜像,请正确填写如下两个字段 * 在 ***容器信息*** 标签页,为容器选择镜像仓库类型为 `docker private`,如下图所示
* **Docker仓库的用户名密码**:请选择刚才创建的 `my-registry-secret` ![Kubernetes教程使用私有仓库中的 docker 镜像](./private-registry.assets/image-20210404220002414.png)
* **镜像**:请填写 `my-registry.example.com:5000/example/web-example:v1.0.1` * 点击图中的创建镜像仓库密码,如下图所示:
该字段由如下几个部分组成: ![Kubernetes教程使用私有仓库中的 docker 镜像](./private-registry.assets/image-20210404220248314.png)
<font color="blue" weight="500">my-registry.example.com</font>:<font color="green" weight="500">5000</font>/<font color="purple" weight="500">example</font>/<font color="red" weight="500">web-example</font>:<font color="brown" weight="500">v1.0.1</font> 填写表单:
| 字段名称 | 填写内容 | 备注 |
| --------------- | ---------------------------- | ---------------------------- |
| 名称 | my-registry-secret | 可以使用便于您自己记忆的名字 |
| 类型 | docker仓库密码 | |
| docker server | my-registry.example.com:5000 | |
| docker username | myusername | |
| docker password | mypassword | |
* 在上图中点击保存后,选择刚创建的 ***Secret*** ,如下图所示:
![Kubernetes教程使用私有仓库中的 docker 镜像](./private-registry.assets/image-20210404220355442.png)
* 填写镜像的 ***路径*** 以及 ***标签***,如下图所示:
![Kubernetes教程使用私有仓库中的 docker 镜像](./private-registry.assets/image-20210404220517307.png)
* 蓝色部分registry 地址
* 绿色部分registry 端口
* 紫色部分repository 名字
* 红色部分image 名字
* 棕色部分image 标签
![Kubernetes教程使用私有仓库中的 docker 镜像](./private-registry.assets/image-20190923164229519.png)
::: tip ::: tip
* 工作负载只能引用同名称空间下的 Secrets * 工作负载只能引用同名称空间下的 Secrets
* 如果你想使用 hub.docker.com 上的私有 repository您在填写 ***镜像*** 这个字段时,只要省略 ***registry 地址*** 和 ***registry 端口*** 这两部分即可
* 可以在 ***配置中心*** / ***密 文*** 菜单中管理已经创建的 ***Secret*** 列表,如下图所示:
![Kubernetes教程使用私有仓库中的 docker 镜像](./private-registry.assets/image-20210404220855655.png)
::: :::

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 KiB

View File

@ -134,7 +134,7 @@ spec:
<b-card> <b-card>
<b-tabs content-class="mt-3"> <b-tabs content-class="mt-3">
<b-tab title="使用kubectl" active> <b-tab title="使用kubectl">
**创建文件 nginx-deployment.yaml** **创建文件 nginx-deployment.yaml**
``` sh ``` sh
@ -239,9 +239,11 @@ curl a.demo.kuboard.cn
``` ```
</b-tab> </b-tab>
<b-tab title="使用Kuboard"> <b-tab title="使用Kuboard" active>
* 在 default 名称空间 点击 ***创建工作负载*** * 在 default 名称空间 点击左侧菜单栏中的 ***创建工作负载***,如下图所示:
![Kubernetes教程创建工作负载并配置Ingress](./ingress.assets/image-20210404192614291.png)
填写表单如下: 填写表单如下:
@ -252,18 +254,34 @@ curl a.demo.kuboard.cn
| 服务名称 | web-nginx | | | 服务名称 | web-nginx | |
| 服务描述 | nginx部署 | | | 服务描述 | nginx部署 | |
| 副本数量 | 1 | 可以填写其他正整数 | | 副本数量 | 1 | 可以填写其他正整数 |
| 工作容器 | 容器名称nginx<br />镜像nginx:1.7.9<br />抓取策略Always | |
| 访问方式 | NodePortVPC内访问<br />协议: TCP服务端口: 80节点端口: 32601容器端口: 80 | 访问方式对应 Kubernetes Service对象<br />工作负载编辑器为其使用与 Deployment 相同的名字 web-nginx | * 切换到 ***容器信息*** Tab 页,如下图所示:
| 互联网入口 | 域名: a.demo.kuboard.cn<br />映射URL /<br />服务端口80 | 互联网入口对应 Kubernetes Ingress对象<br />工作负载编辑器为其使用与 Deployment 相同的名字 web-nginx |
![Kubernetes教程创建工作负载并配置Ingress](./ingress.assets/image-20210404193105147.png)
填写表单如下:
| 字段名称 | 填写内容 | 备注 |
| -------- | ----------- | ---- |
| 容器名称 | nginx | |
| 镜像 | nginx:1.7.9 | |
| 抓取策略 | Always | |
* 切换到 ***服务/应用路由*** Tab 页,如下图所示:
![Kubernetes教程创建工作负载并配置Ingress](./ingress.assets/image-20210404193435776.png)
填写表单如下:
| 字段名称 | 填写内容 | 备注 |
| -------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 服务 | NodePortVPC内访问<br />协议: TCPport: 80nodePort: 32601targetPort: 80 | 服务对应 Kubernetes Service对象<br />工作负载编辑器为其使用与 Deployment 相同的名字 web-nginx |
| 应用路由 | 域名: a.demo.kuboard.cn<br />映射URL /<br />服务端口80 | 应用路由对应 Kubernetes Ingress对象<br />工作负载编辑器为其使用与 Deployment 相同的名字 web-nginx |
* **如下图所示:**
![Kubernetes教程创建工作负载并配置Ingress](./ingress.assets/image-20190910225225179.png)
::: tip ::: tip
Kuboard 工作负载编辑器 kubernetes 中三个主要对象 Deployment/Service/Ingress 放在同一个编辑器界面中处理。 Kuboard 工作负载编辑器假设 kubernetes 中三个主要对象 Deployment/Service/Ingress 名称相同,并放在同一个编辑器界面中处理。
::: :::
* 点击 **保存** * 点击 **保存**

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Some files were not shown because too many files have changed in this diff Show More