sharing
This commit is contained in:
@ -1,9 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<!-- <div>
|
||||||
|
<slot></slot>
|
||||||
|
</!-->
|
||||||
<div style="border: solid 1px #E6A23C; background-color: rgb(253, 246, 236); padding: 1rem;">
|
<div style="border: solid 1px #E6A23C; background-color: rgb(253, 246, 236); padding: 1rem;">
|
||||||
<div v-show="!authorized" key="not">
|
<div v-show="!authorized" key="not">
|
||||||
|
<p style="color: red; font-weight: 500;">免费解锁全站文档:</p>
|
||||||
<p style="color: red">请扫描二维码加微信后,获得授权码,显示完整文档。(需分享朋友圈)</p>
|
<li>扫描二维码加微信获得验证码</li>
|
||||||
<p>一次验证,可查看全站所有内容</p>
|
<li>一次验证,可查看全站所有内容</li>
|
||||||
<grid :rwd="{compact: 'stack'}">
|
<grid :rwd="{compact: 'stack'}">
|
||||||
<grid-item size="1/3" :rwd="{tablet: '1/1', compact: '1/1'}" style="padding: 0rem 0 1rem 1rem;">
|
<grid-item size="1/3" :rwd="{tablet: '1/1', compact: '1/1'}" style="padding: 0rem 0 1rem 1rem;">
|
||||||
|
|
||||||
@ -15,14 +18,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</grid-item>
|
</grid-item>
|
||||||
<grid-item size="2/3" :rwd="{tablet: '1/1', compact: '1/1'}" style="padding: 1rem 1rem 1rem 1rem;">
|
<grid-item size="2/3" :rwd="{tablet: '1/1', compact: '1/1'}" style="padding: 1rem 1rem 1rem 1rem;">
|
||||||
<div style="display: inline-block; width: 480px; max-width: calc(100% - 2rem); overflow: hidden; line-height: 40px; background-color: rgba(255,229,100,0.3); padding: 1rem; margin-bottom: 20px; border: 1px solid #d7dae2;">
|
<div style="display: inline-block; max-width: calc(100% - 2rem); overflow: hidden; line-height: 40px; background-color: rgba(255,229,100,0.3); padding: 1rem; margin-bottom: 20px; border: 1px solid #d7dae2;">
|
||||||
<p>发送给Kuboard: <el-tag size="medium" effect="dark">{{code1}}{{code2}}</el-tag></p>
|
|
||||||
<el-form ref="envForm" style="text-align: left;" label-width="80px">
|
<el-form ref="envForm" style="text-align: left;" label-width="80px">
|
||||||
<!-- <el-form-item label="发给Kuboard">
|
<el-form-item label="随机码:">
|
||||||
{{code}}
|
<el-tag size="medium" effect="dark">{{code1}}{{code2}}</el-tag>
|
||||||
</el-form-item> -->
|
</el-form-item>
|
||||||
<el-form-item prop="checked" class="env-form-item" label="验证码:">
|
<el-form-item prop="checked" class="env-form-item" label="验证码:">
|
||||||
<el-input placeholder="Kuboard返回的查看码" v-model.number="authCode"></el-input>
|
<el-input placeholder="Kuboard返回的验证码" v-model.number="authCode"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@ -30,9 +32,7 @@
|
|||||||
</grid>
|
</grid>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- <el-collapse-transition> -->
|
|
||||||
<div v-show="authorized" key="ok">
|
<div v-show="authorized" key="ok">
|
||||||
<!-- <el-button style="margin-top: 10px;" @click="review" type="text">再看看我是否符合安装条件</el-button> -->
|
|
||||||
<el-alert
|
<el-alert
|
||||||
style="margin-bottom: 10px;"
|
style="margin-bottom: 10px;"
|
||||||
title="已为您解锁全站完整文档,感谢配合。"
|
title="已为您解锁全站完整文档,感谢配合。"
|
||||||
@ -42,7 +42,6 @@
|
|||||||
</el-alert>
|
</el-alert>
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</div>
|
</div>
|
||||||
<!-- </el-collapse-transition> -->
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@ -195,6 +195,14 @@ module.exports = {
|
|||||||
'k8s-intermediate/workload/wl-daemonset/update',
|
'k8s-intermediate/workload/wl-daemonset/update',
|
||||||
'k8s-intermediate/workload/wl-daemonset/alternative',
|
'k8s-intermediate/workload/wl-daemonset/alternative',
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '控制器 - Job',
|
||||||
|
collapsable: true,
|
||||||
|
children: [
|
||||||
|
'k8s-intermediate/workload/wl-job/',
|
||||||
|
'k8s-intermediate/workload/wl-job/spec',
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@ -27,6 +27,9 @@ spec:
|
|||||||
- name: kuboard
|
- name: kuboard
|
||||||
image: eipwork/kuboard:latest
|
image: eipwork/kuboard:latest
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
|
tolerations:
|
||||||
|
- key: node-role.kubernetes.io/master
|
||||||
|
effect: NoSchedule
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
|
|||||||
500
.vuepress/public/share.html
Executable file
500
.vuepress/public/share.html
Executable file
@ -0,0 +1,500 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>快速在 Kubernetes 上落地微服务</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<meta name="keywords" content="Kubernetes教程,K8S教程,Kubernetes安装,K8S安装,Kubernetes">
|
||||||
|
<meta name="description" content="Kuboard是一款免费的Kubernetes管理界面_同时该网站还提供Kubernetes安装文档_K8S_部署_入门_免费中文Kubernetes教程_以及在Kubernetes上部署SpringCloud的详细文档">
|
||||||
|
<meta name="author" content="邵欢庆">
|
||||||
|
<link rel="icon" href="/favicon.png">
|
||||||
|
<link rel="stylesheet" href="landing/css/googlefont.css">
|
||||||
|
<link rel="stylesheet" href="landing/css/font-awesome.min.css">
|
||||||
|
<link rel="stylesheet" href="landing/css/bootstrap.min.css">
|
||||||
|
<!-- Plugins -->
|
||||||
|
<!-- Venobox Lightbox slider -->
|
||||||
|
<link rel="stylesheet" href="landing/css/venobox.css">
|
||||||
|
<!-- Slick Slider-->
|
||||||
|
<link rel="stylesheet" href="landing/js/slick/slick.css">
|
||||||
|
<link rel="stylesheet" href="landing/js/slick/slick-theme.css">
|
||||||
|
<!-- AOS Animate -->
|
||||||
|
<link href="landing/css/aos.css" rel="stylesheet">
|
||||||
|
<!-- Custom Css -->
|
||||||
|
<link rel="stylesheet" href="landing/css/style.css">
|
||||||
|
<link rel="stylesheet" href="landing/css/components.css">
|
||||||
|
|
||||||
|
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||||
|
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-144196556-1"></script>
|
||||||
|
<script>
|
||||||
|
window.dataLayer = window.dataLayer || [];
|
||||||
|
function gtag(){dataLayer.push(arguments);}
|
||||||
|
gtag('js', new Date());
|
||||||
|
|
||||||
|
gtag('config', 'UA-144196556-1');
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var _hmt = _hmt || [];
|
||||||
|
(function() {
|
||||||
|
var hm = document.createElement("script");
|
||||||
|
hm.src = "https://hm.baidu.com/hm.js?5434e5c7a3fe924c0d6c5bd6f0eae56b";
|
||||||
|
var s = document.getElementsByTagName("script")[0];
|
||||||
|
s.parentNode.insertBefore(hm, s);
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<!-- Navigation -->
|
||||||
|
<div id="menu_area" class="menu-area fixed-top">
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<nav class="navbar navbar-light navbar-expand-lg mainmenu">
|
||||||
|
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
<a class="navbar-brand" href="/">Kuboard for K8S
|
||||||
|
<!-- <img src="/favicon.png" class="logo" alt="" height="60"> -->
|
||||||
|
</a>
|
||||||
|
<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="/guide/">使用</a> </li>
|
||||||
|
<li class="nav-item"> <a class="nav-link" href="/support/">支持</a> </li>
|
||||||
|
<!-- <li class="nav-item dropdown">
|
||||||
|
<a class="dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Pages</a>
|
||||||
|
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
|
||||||
|
<li><a href="index.html">Home Page 1</a></li>
|
||||||
|
<li><a href="home2.html">Home Page 2</a></li>
|
||||||
|
<li><a href="home3.html">Home Page 3</a></li>
|
||||||
|
<li><a href="home4.html">Home Page 4</a></li>
|
||||||
|
<li><a href="blog.html">Blog</a></li>
|
||||||
|
<li><a href="blog-single.html">Blog Single</a></li>
|
||||||
|
</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>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /Navigation -->
|
||||||
|
|
||||||
|
<!-- Header -->
|
||||||
|
<header class="fixed-top-added">
|
||||||
|
<div class="container">
|
||||||
|
<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>
|
||||||
|
<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>
|
||||||
|
</ul>
|
||||||
|
<p style="margin-top: 20px;"><a aria-label="github"><iframe src="https://ghbtns.com/github-btn.html?user=eip-work&repo=kuboard-press&type=star&count=true&size=small" frameborder="0" scrolling="0" width="100px" height="20px" style="display:inline-block;vertical-align:middle;"></iframe></a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 col-md-5">
|
||||||
|
<img src="landing/images/hero-img.png" alt="" class="hero-img img-fluid cs-fade-in-up">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<!-- /Header -->
|
||||||
|
|
||||||
|
<!-- Material Pills <Start> -->
|
||||||
|
<div class="bg-gray py-80">
|
||||||
|
<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>
|
||||||
|
</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>
|
||||||
|
</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="row">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<img src="landing/images/tutorial.png" class="img-fluid" alt="">
|
||||||
|
</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>
|
||||||
|
</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>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Material Pills </End> -->
|
||||||
|
|
||||||
|
<!-- Media Call Action <Start> -->
|
||||||
|
<div class="bg-gray">
|
||||||
|
<div class="container">
|
||||||
|
<div class="call-action-media">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="media">
|
||||||
|
<div class="media-left"> <img src="/favicon.png" alt="img" class="img-fluid" width="90"> </div>
|
||||||
|
<div class="media-body">
|
||||||
|
<h3 class="text-primary">掌握 Kubernetes,为未来加分!</h3>
|
||||||
|
<p class="call-action-media-text">在 <span style="color: #007af5;">www.kuboard.cn</span> 您学会的不仅仅是一项技能,还有在实践中运用这项技能的实战经验。</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="mt-4"><a href="/learning/" class="cbtn btn-grad btn-width btn-round">立刻开始学习</a></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Media Call Action </End> -->
|
||||||
|
|
||||||
|
<!-- Features -->
|
||||||
|
<div class="py-80" id="features">
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="section-head text-center">
|
||||||
|
<h1 class="text-primary">Kuboard for Kubernetes</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<!-- InfoBox Center <Start> -->
|
||||||
|
<div class="cs-infobox-left mt-4" data-aos="fade-up" data-aos-anchor-placement="top-bottom" data-aos-duration="2000">
|
||||||
|
<img src="landing/images/icn6.svg" alt="" class="img-fluid">
|
||||||
|
<h4 class="text-primary">免费使用</h4>
|
||||||
|
<p>无需缴纳高昂培训费,获得更高质量的免费 Kubernetes 教程</p>
|
||||||
|
</div>
|
||||||
|
<!-- InfoBox Center </End> -->
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<!-- InfoBox Center <Start> -->
|
||||||
|
<div class="cs-infobox-left mt-4" data-aos="fade-up" data-aos-anchor-placement="top-bottom" data-aos-duration="1600">
|
||||||
|
<img src="landing/images/icn4.svg" alt="" class="img-fluid">
|
||||||
|
<h4 class="text-primary">快速安装</h4>
|
||||||
|
<p>使用每天有 300 多人验证的 Kubernetes 安装文档,快速完成安装,避免落坑。</p>
|
||||||
|
</div>
|
||||||
|
<!-- InfoBox Center </End> -->
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<!-- InfoBox Left <Start> -->
|
||||||
|
<div class="cs-infobox-left mt-4" data-aos="fade-up" data-aos-anchor-placement="top-bottom" data-aos-duration="1000">
|
||||||
|
<img src="landing/images/icn1.svg" alt="" class="img-fluid">
|
||||||
|
<h4 class="text-primary">活跃的QQ社群</h4>
|
||||||
|
<p>每天入群人数20人,发言记录6000+,各路大佬帮你解决问题。</p>
|
||||||
|
</div>
|
||||||
|
<!-- InfoBox Left </End> -->
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<!-- InfoBox Center <Start> -->
|
||||||
|
<div class="cs-infobox-left mt-4" data-aos="fade-up" data-aos-anchor-placement="top-bottom" data-aos-duration="1800">
|
||||||
|
<img src="landing/images/icn5.svg" alt="" class="img-fluid">
|
||||||
|
<h4 class="text-primary">管理面板</h4>
|
||||||
|
<p>免费授权的 Kubernetes 微服务管理面板,降低 Kubernetes 的使用门槛,提升运维管理效率</p>
|
||||||
|
</div>
|
||||||
|
<!-- InfoBox Center </End> -->
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<!-- InfoBox Center <Start> -->
|
||||||
|
<div class="cs-infobox-left mt-4" data-aos="fade-up" data-aos-anchor-placement="top-bottom" data-aos-duration="1200">
|
||||||
|
<img src="landing/images/icn5.svg" alt="" class="img-fluid">
|
||||||
|
<h4 class="text-primary">微服务参考架构</h4>
|
||||||
|
<p>互联网企业微服务经典参考架构,无需反复摸索,快速起步</p>
|
||||||
|
</div>
|
||||||
|
<!-- InfoBox Center </End> -->
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<!-- InfoBox Center <Start> -->
|
||||||
|
<div class="cs-infobox-left mt-4" data-aos="fade-up" data-aos-anchor-placement="top-bottom" data-aos-duration="1400">
|
||||||
|
<img src="landing/images/icn3.svg" alt="" class="img-fluid">
|
||||||
|
<h4 class="text-primary">Spring Cloud 部署实战</h4>
|
||||||
|
<p>使用 Kuboard 快速 Kubernetes 上完成 Spring Cloud 的部署和管理</p>
|
||||||
|
</div>
|
||||||
|
<!-- InfoBox Center </End> -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /Features -->
|
||||||
|
|
||||||
|
<!-- Video Block & Testimonials -->
|
||||||
|
<div class="py-80 bg-gray">
|
||||||
|
<div class="box-shadow custom-witdth-box">
|
||||||
|
<div class="floated-box">
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12 text-center">
|
||||||
|
<img src="landing/images/trend.png" alt="" class="img-fluid" style="border: solid 1px #eee;">
|
||||||
|
<!-- <a class="venobox vbox-item video-play" data-autoplay="true" data-vbtype="video" href="https://youtu.be/kubGCSj5y3k">
|
||||||
|
<img src="landing/images/trend.png" alt="" class="img-fluid" style="border: solid 1px #eee;">
|
||||||
|
<div class="vid-fixed-icn"><img src="landing/images/video-thumb.png" alt="" class="img-fluid"></div>
|
||||||
|
</a> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<p style="margin-top: 20px; text-align: center;"><a aria-label="github"><iframe src="https://ghbtns.com/github-btn.html?user=eip-work&repo=kuboard-press&type=star&count=true&size=small" frameborder="0" scrolling="0" width="100px" height="20px" style="display:inline-block;vertical-align:middle;"></iframe></a></p>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="slider single-item">
|
||||||
|
<div class="slider-item">
|
||||||
|
<div class="testimonial-default">
|
||||||
|
<!-- <div class="testimonial-default-img"><img src="landing/images/female-75.jpg" alt="" class="center-block img-fluid"></div> -->
|
||||||
|
<h4>2019年8月3日推出 Kuboard</h4>
|
||||||
|
<h5>获得种子用户,解决一些兼容性问题</h5>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="slider-item">
|
||||||
|
<div class="testimonial-default">
|
||||||
|
<!-- <div class="testimonial-default-img"><img src="landing/images/male-14.jpg" alt="" class="center-block img-fluid"></div> -->
|
||||||
|
<h4>Kubernetes安装文档及教程</h4>
|
||||||
|
<h5>不断完善 Kubernetes 安装文档,推出免费 Kubernetes 教程</h5>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="slider-item">
|
||||||
|
<div class="testimonial-default">
|
||||||
|
<!-- <div class="testimonial-default-img"><img src="landing/images/29.jpg" alt="" class="center-block img-fluid"></div> -->
|
||||||
|
<h4>2019年10月20日</h4>
|
||||||
|
<h5>获得第 629 颗 Github Star</h5>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /Video Block & Testimonials -->
|
||||||
|
|
||||||
|
<!-- Media Call Action <Start> -->
|
||||||
|
<div class="bg-gray">
|
||||||
|
<div class="container">
|
||||||
|
<div class="call-action-media">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<div class="media">
|
||||||
|
<div class="media-left"> <img src="/favicon.png" alt="img" class="img-fluid" width="90"> </div>
|
||||||
|
<div class="media-body">
|
||||||
|
<h3 class="text-primary">紧跟容器化趋势,不能掉队!</h3>
|
||||||
|
<p class="call-action-media-text"><span style="color: #007af5;">www.kuboard.cn</span> 以 Kubernetes 官方网站和 Kubernetes 实战经验为主要依据,提供优质的 Kubernetes 学习资料。</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="mt-4"><a href="/learning/" class="cbtn btn-grad btn-width btn-round">立刻开始学习</a></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Media Call Action </End> -->
|
||||||
|
|
||||||
|
<div class="py-80">
|
||||||
|
<div class="custom-witdth-box" style="box-shadow: 2px 4px 20px 0px rgba(0, 0, 0, 0.1);">
|
||||||
|
<div class="content__default"><h1 id="kuboard简介"><a href="#kuboard简介" class="header-anchor">#</a> Kuboard简介</h1> <p>Kuboard 是一款基于 Kubernetes 的微服务管理界面。目的是帮助用户快速在 Kubernetes 上落地微服务。在 <a href="https://kuboard.cn" target="_blank" rel="nofollow" onclick="openOutboundLink(this)">https://kuboard.cn<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a> 上,您可以获得:</p> <ul><li>最新版本的 Kubernetes 安装文档</li> <li>免费的 Kubernetes 中文教程</li> <li>免费的 Kubernetes 图形化管理界面 Kuboard</li> <li>在 Kubernetes 上部署 Spring Cloud 的实战分享</li></ul> <h2 id="kubernetes安装文档"><a href="#kubernetes安装文档" class="header-anchor">#</a> Kubernetes安装文档</h2> <ul><li><a href="https://kuboard.cn/install/install-k8s.html">Kubernetes (K8S)v1.16.2 安装文档</a> <ul><li>每天超过 300 名网友参考此文档完成Kubernetes安装</li> <li>QQ群在线答疑</li></ul></li> <li><a href="https://kuboard.cn/install/install-kubernetes.html">Kubernetes 高可用安装文档</a></li> <li><a href="https://kuboard.cn/install/upgrade-k8s/1.15.x-1.16.x.html">Kubernetes升级到1.16.x</a></li> <li><a href="https://kuboard.cn/install/install-dashboard.html">Kuboard 安装文档</a></li></ul> <h2 id="kubernetes免费教程"><a href="#kubernetes免费教程" class="header-anchor">#</a> Kubernetes免费教程</h2> <p>Kubernetes教程的主要依据是:Kubernetes 官网文档,以及使用 Kuboard 落地 Spring Cloud 微服务的实战经验</p> <h3 id="kubernetes-介绍"><a href="#kubernetes-介绍" class="header-anchor">#</a> <strong>Kubernetes 介绍</strong></h3> <ul><li><a href="https://kuboard.cn/learning/k8s-bg/what-is-k8s.html">什么是Kubernetes</a></li> <li><a href="https://kuboard.cn/learning/k8s-bg/component.html">Kubernetes组件</a></li></ul> <h3 id="kubernetes入门"><a href="#kubernetes入门" class="header-anchor">#</a> Kubernetes入门</h3> <ul><li><a href="https://kuboard.cn/learning/k8s-basics/kubernetes-basics.html">0. 学习Kubernetes基础知识</a> (10分钟)
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-basics/deploy-app.html">1. 部署一个应用程序</a> (5分钟)</li> <li><a href="https://kuboard.cn/learning/k8s-basics/explore.html">2. 查看 Pods / Nodes</a> (10分钟)</li> <li><a href="https://kuboard.cn/learning/k8s-basics/expose.html">3. 公布应用程序</a> (10分钟)</li> <li><a href="https://kuboard.cn/learning/k8s-basics/scale.html">4. 伸缩应用程序</a> (10分钟)</li> <li><a href="https://kuboard.cn/learning/k8s-basics/update.html">5. 执行滚动更新</a> (10分钟)</li></ul></li> <li><a href="https://kuboard.cn/learning/k8s-basics/k8s-core-concepts.html">6. 复习Kubernetes核心概念</a> (10分钟)</li></ul> <h3 id="kubernetes进阶"><a href="#kubernetes进阶" class="header-anchor">#</a> Kubernetes进阶</h3> <ul><li>架构
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-bg/architecture/nodes.html">节点</a></li> <li><a href="https://kuboard.cn/learning/k8s-bg/architecture/com.html">集群内通信</a></li> <li><a href="https://kuboard.cn/learning/k8s-bg/architecture/controller.html">控制器</a></li></ul></li> <li>操作Kubernetes
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-intermediate/obj/k8s-object.html">什么是Kubernetes对象</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/obj/manage.html">管理Kubernetes对象</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/obj/names.html">名称</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/obj/namespaces.html">名称空间</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/obj/namespace-op.html">使用名称空间共享集群</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/obj/labels.html">标签和选择器</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/obj/annotations.html">注解</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/obj/field.html">字段选择器</a></li></ul></li> <li>容器
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-intermediate/container/images.html">容器镜像</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/container/env.html">容器的环境变量</a></li></ul></li> <li>工作负载
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-intermediate/workload/pod.html">容器组 - 概述</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/workload/pod-lifecycle.html">容器组 - 生命周期</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/workload/init-container.html">容器组 - 初始化容器</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/workload/workload.html">控制器 - 概述</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/workload/wl-deployment/">控制器 - Deployment</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/workload/wl-statefulset/">控制器 - StatefulSet</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/workload/wl-daemonset/">控制器 - DaemonSet</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/workload/wl-job/">控制器 - Job</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/workload/wl-cronjob/">控制器 - CronJob</a></li></ul></li> <li>服务发现、负载均衡、网络
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-intermediate/service/service.html">Service</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/service/service-details.html">Service 详细描述</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/service/service-types.html">Service 类型</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/service/dns.html">Service/Pod 的 DNS</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/service/host-alias.html">配置Pod的 /etc/hosts</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/service/connecting.html">Service 连接应用程序</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/service/ingress.html">Ingress 通过互联网访问您的应用</a></li></ul></li> <li>存储
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-intermediate/persistent/volume.html">数据卷 Volume</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/persistent/pv.html">存储卷 PV 和存储卷声明 PVC</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/persistent/storage-class.html">存储类 StorageClass</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/persistent/nfs.html">自建 NFS 服务</a></li></ul></li> <li>配置
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-intermediate/private-registry.html">使用私有 registry 中的 docker 镜像</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/config/config-map.html">使用 ConfigMap 配置您的应用程序</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/config/computing-resource.html">管理容器的计算资源</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/config/assign-pod-node.html">将容器调度到指定的节点</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/config/taints-toleration/">污点和容忍 taints and toleration</a></li> <li><a href="https://kuboard.cn/learning/k8s-intermediate/config/secrets/">Secrets</a></li></ul></li></ul> <h3 id="kubernetes高级"><a href="#kubernetes高级" class="header-anchor">#</a> Kubernetes高级</h3> <ul><li>问题诊断
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-advanced/ts/application.html">诊断应用程序</a></li> <li><a href="https://kuboard.cn/learning/k8s-advanced/ts/cluster.html">诊断集群问题</a></li></ul></li> <li>日志
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-advanced/logs/">日志</a></li></ul></li> <li>调度
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-advanced/schedule/">调度</a></li> <li><a href="https://kuboard.cn/learning/k8s-advanced/schedule/tuning.html">调度调优</a></li> <li><a href="https://kuboard.cn/learning/k8s-advanced/schedule/framework.html">调度框架</a></li></ul></li> <li>策略
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-advanced/policy/lr.html">Limit Range</a></li> <li><a href="https://kuboard.cn/learning/k8s-advanced/policy/rq.html">Resource Quota</a></li></ul></li> <li>安全</li> <li>监控</li> <li>联邦</li></ul> <h3 id="kubernetes实战"><a href="#kubernetes实战" class="header-anchor">#</a> Kubernetes实战</h3> <p>在 Kubernetes 上部署 Spring Cloud 微服务:</p> <ul><li><a href="https://kuboard.cn/learning/k8s-practice/spring-cloud/">概述</a></li></ul> <p>在 Kubernetes 上部署 Spring Cloud 微服务:(Open Capacity Platform)</p> <ul><li>准备
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-practice/ocp/prepare.html">准备OCP的构建环境和部署环境</a></li> <li><a href="https://kuboard.cn/learning/k8s-practice/ocp/build.html">构建docker镜像并推送到仓库</a></li></ul></li> <li>部署
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-practice/ocp/sequence.html">部署顺序</a></li> <li><a href="https://kuboard.cn/learning/k8s-practice/ocp/eureka-server.html">在K8S上部署eureka-server</a></li> <li><a href="https://kuboard.cn/learning/k8s-practice/ocp/mysql.html">在K8S上部署mysql</a></li> <li><a href="https://kuboard.cn/learning/k8s-practice/ocp/redis.html">在K8S上部署redis</a></li> <li><a href="https://kuboard.cn/learning/k8s-practice/ocp/auth-server.html">在K8S上部署auth-server</a></li> <li><a href="https://kuboard.cn/learning/k8s-practice/ocp/user-center.html">在K8S上部署user-center</a></li> <li><a href="https://kuboard.cn/learning/k8s-practice/ocp/api-gateway.html">在K8S上部署api-gateway</a></li> <li><a href="https://kuboard.cn/learning/k8s-practice/ocp/back-center.html">在K8S上部署back-center</a></li> <li><a href="https://kuboard.cn/learning/k8s-practice/ocp/review.html">重新审视配置信息</a></li></ul></li> <li>多环境
|
||||||
|
<ul><li><a href="https://kuboard.cn/learning/k8s-practice/ocp/export.html">导出部署配置</a></li> <li><a href="https://kuboard.cn/learning/k8s-practice/ocp/import.html">导入部署配置</a></li></ul></li></ul> <p>Kuboard官网免费提供Kubernetes教程、K8S教程、K8S安装文档、Kubernetes+SpringCloud实战文档,学习过程中如有疑问,请加QQ群在线答疑。</p></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Animated Dots -->
|
||||||
|
<div class="dots">
|
||||||
|
<div class="dot one"></div>
|
||||||
|
<div class="dot two"></div>
|
||||||
|
<div class="dot three"></div>
|
||||||
|
<div class="dot four"></div>
|
||||||
|
<div class="dot five"></div>
|
||||||
|
<div class="dot six"></div>
|
||||||
|
<div class="dot seven"></div>
|
||||||
|
<div class="dot eight"></div>
|
||||||
|
<div class="dot nine"></div>
|
||||||
|
<div class="dot ten"></div>
|
||||||
|
</div>
|
||||||
|
<!-- Animated Dots -->
|
||||||
|
|
||||||
|
<!-- Footer -->
|
||||||
|
<footer>
|
||||||
|
<div class="container">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-6 col-md-4 col-lg-3">
|
||||||
|
<h4 class="footer-head">关于产品</h4>
|
||||||
|
<ul class="footer-links">
|
||||||
|
<li><a href="/support/" title="Link">授权与支持</a></li>
|
||||||
|
<li><a href="/support/" title="Link">联系信息</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 col-md-4 col-lg-3">
|
||||||
|
<h4 class="footer-head">友情链接</h4>
|
||||||
|
<ul class="footer-links">
|
||||||
|
<li><a href="https://www.kubernetes.io" rel="nofollow" target="_blank" title="Link">Kubernetes 官网</a></li>
|
||||||
|
<li><a href="http://store.lameleg.com/?referrer=shaohq" target="_blank" title="Link">Sealyun 一键离线安装K8S</a></li>
|
||||||
|
<li><a href="https://www.yangcs.net/?utm_source=kuboard.cn" target="_blank" title="Link">云原生实验室</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 col-md-4 col-lg-3">
|
||||||
|
<h4 class="footer-head">公司信息</h4>
|
||||||
|
<ul class="footer-links">
|
||||||
|
<li><a href="http://www.eigpay.com/" target="_blank" title="Link">仁聚汇通</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 col-md-4 col-lg-3">
|
||||||
|
<h4 class="footer-head">联系我们</h4>
|
||||||
|
<ul class="footer-links">
|
||||||
|
<li><a href="mailto:shaohq@foxmail.com" title="Link">shaohq@foxmail.com</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="copyright-bar clearfix" style="margin-bottom: 50px;">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<h1 class="mt-0 mb-0 text-primary">Kuboard ™</h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<div class="copy-text">© 2019 邵欢庆 All Right Reserved | 京ICP备19008693号-2</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<!-- Back to Top -->
|
||||||
|
<a href="#0" class="cd-top js-cd-top"><i class="fa fa-angle-up"></i></a>
|
||||||
|
<!-- Back to Top ends-->
|
||||||
|
|
||||||
|
<script src="landing/js/jquery-2.2.4.min.js"></script>
|
||||||
|
<script src="landing/js/bootstrap.min.js"></script>
|
||||||
|
<script src="landing/js/popper.min.js"></script>
|
||||||
|
<script src="landing/js/pace.min.js"></script>
|
||||||
|
<!-- Plugins -->
|
||||||
|
<script src="landing/js/back-to-top.js"></script>
|
||||||
|
<!-- Venobox Lightbox slider -->
|
||||||
|
<script src="landing/js/venobox.min.js"></script>
|
||||||
|
<!-- Slick Slider -->
|
||||||
|
<script src="landing/js/slick/slick.min.js"></script>
|
||||||
|
<!-- AOS Animate -->
|
||||||
|
<script src="landing/js/aos/2.1.1/aos.js"></script>
|
||||||
|
<!-- Custom JS -->
|
||||||
|
<script src="landing/js/main.js"></script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
13
.vuepress/public/statics/learning/job/job.yaml
Normal file
13
.vuepress/public/statics/learning/job/job.yaml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: batch/v1
|
||||||
|
kind: Job
|
||||||
|
metadata:
|
||||||
|
name: pi
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: pi
|
||||||
|
image: perl
|
||||||
|
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
|
||||||
|
restartPolicy: Never
|
||||||
|
backoffLimit: 4
|
||||||
@ -18,7 +18,7 @@
|
|||||||
<h4>微信群</h4>
|
<h4>微信群</h4>
|
||||||
<div>
|
<div>
|
||||||
<div style="margin-top: 10px;">
|
<div style="margin-top: 10px;">
|
||||||
<span>微信扫码进群聊(需分享图片到朋友圈)</span>
|
<span>微信扫码后,发送“加群”</span>
|
||||||
<p style="margin-top: 10px; margin-bottom: 0; text-align: center;">
|
<p style="margin-top: 10px; margin-bottom: 0; text-align: center;">
|
||||||
<!-- <img src="/images/dz.png" style="width: 150px;"></img> -->
|
<!-- <img src="/images/dz.png" style="width: 150px;"></img> -->
|
||||||
<img src="/images/dz2.jpeg" style="width: 150px;"></img>
|
<img src="/images/dz2.jpeg" style="width: 150px;"></img>
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<div class="page-nav" style="max-width: 1000px; margin-top: 56px;">
|
<div class="page-nav" style="max-width: 1000px; margin-top: 56px;">
|
||||||
<AdSensePageTop></AdSensePageTop>
|
<AdSensePageTop></AdSensePageTop>
|
||||||
</div>
|
</div>
|
||||||
<div class="page-nav" style="max-width: 1000px; margin: auto;">
|
<div v-if="!$frontmatter.lessAds" class="page-nav" style="max-width: 1000px; margin: auto;">
|
||||||
<div class="tip custom-block" style=" padding: 1rem; margin-top: 0;">
|
<div class="tip custom-block" style=" padding: 1rem; margin-top: 0;">
|
||||||
<div style="display: inline-block; vertical-align: top; line-height: 1.6rem;">
|
<div style="display: inline-block; vertical-align: top; line-height: 1.6rem;">
|
||||||
<li>
|
<li>
|
||||||
|
|||||||
@ -33,7 +33,7 @@ description: 使用Kuboard在Kubernetes上安装监控套件,并对example微
|
|||||||
许多网友自己搭建 NFS 测试环境,再创建 NFS存储类,经常碰到 `access denied` 这类权限问题。为了帮助大家更快地完成 NFS 测试环境搭建,Kuboard提供了一篇NFS相关的简明文档,请参考 [搭建NFS Server](/learning/k8s-intermediate/persistent/nfs.html)
|
许多网友自己搭建 NFS 测试环境,再创建 NFS存储类,经常碰到 `access denied` 这类权限问题。为了帮助大家更快地完成 NFS 测试环境搭建,Kuboard提供了一篇NFS相关的简明文档,请参考 [搭建NFS Server](/learning/k8s-intermediate/persistent/nfs.html)
|
||||||
:::
|
:::
|
||||||
|
|
||||||
* 在 master 节点执行
|
* 在 master 节点执行 <Badge type="error">此步骤不可忽略</Badge>
|
||||||
|
|
||||||
```bash
|
```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
|
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
|
||||||
@ -41,41 +41,43 @@ kubectl -n kube-system create secret generic etcd-certs --from-file=/etc/kuberne
|
|||||||
|
|
||||||
* 将鼠标移到 ***设置*** 菜单
|
* 将鼠标移到 ***设置*** 菜单
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* 点击 ***监控套件 - example***
|
* 点击 ***监控套件 - example***
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
* 点击 ***全局监控套件 / 查找并安装***
|
* 点击 ***全局监控套件 / 查找并安装***
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
* 点击 ***资源层监控套件 / 安装***
|
* 点击 ***资源层监控套件 / 安装***
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
* 点击 ***全局监控套件 / 资源层监控套件 / 安装***
|
* 点击 ***全局监控套件 / 资源层监控套件 / 安装***
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
* 根据向导提示,完成工作负载的导入
|
* 根据向导提示,完成工作负载的导入
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
* 点击 ***资源层监控套件 / 初始化***
|
* 点击 ***资源层监控套件 / 初始化***
|
||||||
|
|
||||||
由于下载镜像需要时间,您可能需要等待5-10分钟后,才能成功执行初始化。初始化成功的话,您将看到如下提示信息。
|
::: danger 需要时间
|
||||||
|
由于下载镜像需要时间,您可能需要等待5-10分钟后,才能完成监控套件对应 Pod 的启动。请在所有 Pod 成功启动后再执行初始化。初始化成功的话,您将看到如下提示信息。(如果第一次初始化没有看到 “创建 dashboard 成功” 的消息,可等候一段时间,监控 Pod 启动成功后再“重新初始化”)
|
||||||
|
:::
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 安装名称空间监控套件
|
### 安装名称空间监控套件
|
||||||
|
|
||||||
* 点击 ***名称空间监控套件 example / 查找并安装***
|
* 点击 ***名称空间监控套件 example / 查找并安装***
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
* 重复前述过程,安装监控套件
|
* 重复前述过程,安装监控套件
|
||||||
|
|
||||||
@ -87,7 +89,7 @@ kubectl -n kube-system create secret generic etcd-certs --from-file=/etc/kuberne
|
|||||||
|
|
||||||
安装完成后,界面如下图所示:
|
安装完成后,界面如下图所示:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 查看监控套件的工作负载
|
### 查看监控套件的工作负载
|
||||||
|
|
||||||
@ -97,7 +99,7 @@ kubectl -n kube-system create secret generic etcd-certs --from-file=/etc/kuberne
|
|||||||
|
|
||||||
> 全局监控套件安装在 kube-system 名称空间
|
> 全局监控套件安装在 kube-system 名称空间
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 重启 example 容器组
|
## 重启 example 容器组
|
||||||
|
|
||||||
@ -119,7 +121,7 @@ kubectl -n kube-system create secret generic etcd-certs --from-file=/etc/kuberne
|
|||||||
> * Kubernetes 在启动容器组时,根据 imagePullPolicy 的设置 Always,将会尝试从镜像仓库抓取最新镜像,这一特性,可以用于开发环境和测试环境的版本更新,因为您的 devops 系统肯能不会为 daily build 生成新的镜像标签;
|
> * Kubernetes 在启动容器组时,根据 imagePullPolicy 的设置 Always,将会尝试从镜像仓库抓取最新镜像,这一特性,可以用于开发环境和测试环境的版本更新,因为您的 devops 系统肯能不会为 daily build 生成新的镜像标签;
|
||||||
> * 此处删除容器组的目的是,重新启动容器,以便容器中的监控探针能够检测到其对应监控套件的存在。
|
> * 此处删除容器组的目的是,重新启动容器,以便容器中的监控探针能够检测到其对应监控套件的存在。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
* 在列表中选择
|
* 在列表中选择
|
||||||
|
|
||||||
@ -135,31 +137,31 @@ kubectl -n kube-system create secret generic etcd-certs --from-file=/etc/kuberne
|
|||||||
|
|
||||||
* web-example-xxxxxx-xxxx
|
* web-example-xxxxxx-xxxx
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
* 点击 ***删除*** 按钮
|
* 点击 ***删除*** 按钮
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* 点击 ***确定***
|
* 点击 ***确定***
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* 点击 ***应用***
|
* 点击 ***应用***
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
* 等待,直到容器组调整完成
|
* 等待,直到容器组调整完成
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
* 点击 ***后退***
|
* 点击 ***后退***
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 查看监控信息
|
## 查看监控信息
|
||||||
|
|
||||||
@ -169,13 +171,13 @@ kubectl -n kube-system create secret generic etcd-certs --from-file=/etc/kuberne
|
|||||||
|
|
||||||
如果您在下图中没有看到 ***Nginx 监控***, ***容器组监控*** 等,请刷新您的页面,因为监控套件初始化之后需要刷新页面才能加载并显示。
|
如果您在下图中没有看到 ***Nginx 监控***, ***容器组监控*** 等,请刷新您的页面,因为监控套件初始化之后需要刷新页面才能加载并显示。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
* 点击 ***所在节点监控***
|
* 点击 ***所在节点监控***
|
||||||
|
|
||||||
可查看所在节点的资源使用情况监控信息
|
可查看所在节点的资源使用情况监控信息
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -187,7 +189,7 @@ kubectl -n kube-system create secret generic etcd-certs --from-file=/etc/kuberne
|
|||||||
|
|
||||||
* 点击 Nginx 监控
|
* 点击 Nginx 监控
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -197,7 +199,7 @@ kubectl -n kube-system create secret generic etcd-certs --from-file=/etc/kuberne
|
|||||||
* 点击 ***持久层 / example db***
|
* 点击 ***持久层 / example db***
|
||||||
* 点击 ***MySQL 监控***
|
* 点击 ***MySQL 监控***
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -207,7 +209,7 @@ kubectl -n kube-system create secret generic etcd-certs --from-file=/etc/kuberne
|
|||||||
* 点击 ***微服务层 / example***
|
* 点击 ***微服务层 / example***
|
||||||
* 点击 ***Java 虚拟机监控***
|
* 点击 ***Java 虚拟机监控***
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -215,10 +217,10 @@ kubectl -n kube-system create secret generic etcd-certs --from-file=/etc/kuberne
|
|||||||
|
|
||||||
* 在 ***微服务层 / example*** 中点击 ***链路追踪***
|
* 在 ***微服务层 / example*** 中点击 ***链路追踪***
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||

|

|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
# vssueId: 13
|
vssueId: 150
|
||||||
description: Kuboard_的日志界面和终端界面都使用了WebSocket与服务器进行通信_在部分情况下_可能出现连通性问题_本文描述了一种解决此问题的办法
|
description: Kuboard_的日志界面和终端界面都使用了WebSocket与服务器进行通信_在部分情况下_可能出现连通性问题_本文描述了一种解决此问题的办法
|
||||||
meta:
|
meta:
|
||||||
- name: keywords
|
- name: keywords
|
||||||
@ -8,7 +8,9 @@ meta:
|
|||||||
|
|
||||||
# 日志终端访问的问题
|
# 日志终端访问的问题
|
||||||
|
|
||||||
极少数情况下,您可能会碰到能够正常访问 Kuboard 和使用 Kuboard 的各项功能,但是,访问 Kuboard 的日志界面和终端界面时,始终会出现弹窗提示,并将您指引到了现在的这个页面上来。
|
极少数情况下,您可能会碰到能够正常访问 Kuboard 和使用 Kuboard 的各项功能,但是,访问 Kuboard 的日志界面和终端界面时,始终会出现弹窗提示,并将您指引到了现在的这个页面上来。本文描述了如何排查 Kuboard 日志/终端界面不能访问的问题
|
||||||
|
|
||||||
|
## 第一步
|
||||||
|
|
||||||
Kuboard 日志界面和终端界面都使用了 websocket 与服务器端通信,正常情况下,会工作得很好,但是当出现如下几种情况时,websocket 的连接就会出现问题:
|
Kuboard 日志界面和终端界面都使用了 websocket 与服务器端通信,正常情况下,会工作得很好,但是当出现如下几种情况时,websocket 的连接就会出现问题:
|
||||||
* 您所访问的容器已经停止
|
* 您所访问的容器已经停止
|
||||||
@ -17,6 +19,8 @@ Kuboard 日志界面和终端界面都使用了 websocket 与服务器端通信
|
|||||||
如果您还有问题,请尝试:
|
如果您还有问题,请尝试:
|
||||||
* 清空浏览器缓存,重新登录 Kuboard
|
* 清空浏览器缓存,重新登录 Kuboard
|
||||||
|
|
||||||
|
## 第二步
|
||||||
|
|
||||||
当您排除了上述两个问题之后,剩下极有可能的情况就是:
|
当您排除了上述两个问题之后,剩下极有可能的情况就是:
|
||||||
* 您访问服务器时,网络链路上存在代理,比如:
|
* 您访问服务器时,网络链路上存在代理,比如:
|
||||||
* 您配置了 Nginx 反向代理,通过 Nginx 将请求转发到 Kuboard 的节点端口 32567
|
* 您配置了 Nginx 反向代理,通过 Nginx 将请求转发到 Kuboard 的节点端口 32567
|
||||||
@ -25,6 +29,8 @@ Kuboard 日志界面和终端界面都使用了 websocket 与服务器端通信
|
|||||||
* 您通过 VPN 接入到服务器所在的网络,然后访问 Kuboard 的节点端口 32567
|
* 您通过 VPN 接入到服务器所在的网络,然后访问 Kuboard 的节点端口 32567
|
||||||
* 您的网络运营商(如长城宽带、小区宽带、电力猫等)为了节省出口带宽,对所有的 HTTP 服务都做了代理和缓存
|
* 您的网络运营商(如长城宽带、小区宽带、电力猫等)为了节省出口带宽,对所有的 HTTP 服务都做了代理和缓存
|
||||||
|
|
||||||
|
## 第三步
|
||||||
|
|
||||||
此时,您可以尝试使用 kubectl port-forward 的方式来访问 Kuboard。具体步骤如下:
|
此时,您可以尝试使用 kubectl port-forward 的方式来访问 Kuboard。具体步骤如下:
|
||||||
|
|
||||||
* 请参考 [在客户端电脑安装 kubectl](/install/install-kubectl.html)
|
* 请参考 [在客户端电脑安装 kubectl](/install/install-kubectl.html)
|
||||||
@ -36,3 +42,7 @@ Kuboard 日志界面和终端界面都使用了 websocket 与服务器端通信
|
|||||||
* 在 chrome 打开地址 `http://localhost:8000/
|
* 在 chrome 打开地址 `http://localhost:8000/
|
||||||
|
|
||||||
登录重试,此时应该能够正常访问 kuboard 的日志界面和终端界面。
|
登录重试,此时应该能够正常访问 kuboard 的日志界面和终端界面。
|
||||||
|
|
||||||
|
::: tip 如果还解决不了
|
||||||
|
请参考本文末尾的方式联系 Kuboard 团队
|
||||||
|
:::
|
||||||
|
|||||||
@ -86,9 +86,9 @@ meta:
|
|||||||
|
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
[领取腾讯云最高2860元代金券](https://cloud.tencent.com/act/cps/redirect?redirect=1040&cps_key=2ee6baa049659f4713ddc55a51314372&from=console)
|
<!-- [领取腾讯云最高2860元代金券](https://cloud.tencent.com/act/cps/redirect?redirect=1040&cps_key=2ee6baa049659f4713ddc55a51314372&from=console)
|
||||||
|
|
||||||
[腾讯云限时1折秒杀](https://cloud.tencent.com/act/cps/redirect?redirect=1044&cps_key=2ee6baa049659f4713ddc55a51314372&from=console)
|
[腾讯云限时1折秒杀](https://cloud.tencent.com/act/cps/redirect?redirect=1044&cps_key=2ee6baa049659f4713ddc55a51314372&from=console) -->
|
||||||
|
|
||||||
[领取阿里云最高2000元红包](https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=obezo3pg)
|
[领取阿里云最高2000元红包](https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=obezo3pg)
|
||||||
|
|
||||||
@ -195,6 +195,8 @@ echo "127.0.0.1 $(hostname)" >> /etc/hosts
|
|||||||
|
|
||||||
## 安装 docker / kubelet
|
## 安装 docker / kubelet
|
||||||
|
|
||||||
|
<!-- <SharingBlock> -->
|
||||||
|
|
||||||
<InstallEnvCheck type="k8s">
|
<InstallEnvCheck type="k8s">
|
||||||
|
|
||||||
使用 root 身份在所有节点执行如下代码,以安装软件:
|
使用 root 身份在所有节点执行如下代码,以安装软件:
|
||||||
@ -228,6 +230,9 @@ curl -sSL https://kuboard.cn/install-script/v1.16.2/install_kubelet.sh | sh
|
|||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
</InstallEnvCheck>
|
</InstallEnvCheck>
|
||||||
|
|
||||||
|
<!-- </SharingBlock> -->
|
||||||
|
|
||||||
<!-- </div>
|
<!-- </div>
|
||||||
|
|
||||||
<div slot="step3"> -->
|
<div slot="step3"> -->
|
||||||
|
|||||||
@ -48,10 +48,12 @@ meta:
|
|||||||
* [4. 伸缩应用程序](/learning/k8s-basics/scale.html) (10分钟)
|
* [4. 伸缩应用程序](/learning/k8s-basics/scale.html) (10分钟)
|
||||||
* [5. 执行滚动更新](/learning/k8s-basics/update.html) (10分钟)
|
* [5. 执行滚动更新](/learning/k8s-basics/update.html) (10分钟)
|
||||||
* [6. 复习Kubernetes核心概念](/learning/k8s-basics/k8s-core-concepts.html) (10分钟)
|
* [6. 复习Kubernetes核心概念](/learning/k8s-basics/k8s-core-concepts.html) (10分钟)
|
||||||
::: tip
|
::: tip 学习路径建议
|
||||||
* 入门教程是经典。推荐初学者学习入门教程 2 - 3 遍,甚至更多。
|
* 入门教程是经典。推荐初学者学习入门教程 2 - 3 遍,甚至更多。
|
||||||
* 完成入门教程之后,建议首先阅读的文章内容是:
|
* 完成入门教程之后,建议首先阅读的文章内容是:
|
||||||
* [控制器](/learning/k8s-bg/architecture/controller.html)
|
* [控制器](/learning/k8s-bg/architecture/controller.html)
|
||||||
|
* [Pod容器组](/learning/k8s-intermediate/workload/pod.html)
|
||||||
|
* [Deployment](/learning/k8s-intermediate/workload/wl-deployment/)
|
||||||
* [诊断应用程序](/learning/k8s-advanced/ts/application.html)
|
* [诊断应用程序](/learning/k8s-advanced/ts/application.html)
|
||||||
* [使用私有 registry 中的 docker 镜像](/learning/k8s-intermediate/private-registry.html)
|
* [使用私有 registry 中的 docker 镜像](/learning/k8s-intermediate/private-registry.html)
|
||||||
* [Service 连接应用程序](/learning/k8s-intermediate/service/connecting.html)
|
* [Service 连接应用程序](/learning/k8s-intermediate/service/connecting.html)
|
||||||
@ -85,7 +87,7 @@ meta:
|
|||||||
* [控制器 - Deployment](/learning/k8s-intermediate/workload/wl-deployment/)
|
* [控制器 - Deployment](/learning/k8s-intermediate/workload/wl-deployment/)
|
||||||
* [控制器 - StatefulSet](/learning/k8s-intermediate/workload/wl-statefulset/)
|
* [控制器 - StatefulSet](/learning/k8s-intermediate/workload/wl-statefulset/)
|
||||||
* [控制器 - DaemonSet](/learning/k8s-intermediate/workload/wl-daemonset/)
|
* [控制器 - DaemonSet](/learning/k8s-intermediate/workload/wl-daemonset/)
|
||||||
* [控制器 - Job](/learning/k8s-intermediate/workload/wl-job/) <Badge text="正在撰写" type="warn"/>
|
* [控制器 - Job](/learning/k8s-intermediate/workload/wl-job/)
|
||||||
* [控制器 - CronJob](/learning/k8s-intermediate/workload/wl-cronjob/) <Badge text="正在撰写" type="warn"/>
|
* [控制器 - CronJob](/learning/k8s-intermediate/workload/wl-cronjob/) <Badge text="正在撰写" type="warn"/>
|
||||||
* 服务发现、负载均衡、网络
|
* 服务发现、负载均衡、网络
|
||||||
* [Service 概述](/learning/k8s-intermediate/service/service.html)
|
* [Service 概述](/learning/k8s-intermediate/service/service.html)
|
||||||
|
|||||||
@ -82,6 +82,18 @@ Pod(容器组)总是在 **Node(节点)** 上运行。Node(节点)是
|
|||||||
kubectl get nodes
|
kubectl get nodes
|
||||||
```
|
```
|
||||||
|
|
||||||
|
::: tip 名称空间
|
||||||
|
在命令后增加 `-A` 或 `--all-namespaces` 可查看所有 [名称空间中](/learning/k8s-intermediate/obj/namespaces.html) 的对象,使用参数 `-n` 可查看指定名称空间的对象,例如
|
||||||
|
``` sh
|
||||||
|
# 查看所有名称空间的 Deployment
|
||||||
|
kubectl get deployments -A
|
||||||
|
kubectl get deployments --all-namespaces
|
||||||
|
# 查看 kube-system 名称空间的 Deployment
|
||||||
|
kubectl get deployments -n kube-system
|
||||||
|
```
|
||||||
|
> [并非所有对象都在名称空间里](/learning/k8s-intermediate/obj/namespaces.html#并非所有对象都在名称空间里)
|
||||||
|
:::
|
||||||
|
|
||||||
- **kubectl describe** - 显示有关资源的详细信息
|
- **kubectl describe** - 显示有关资源的详细信息
|
||||||
|
|
||||||
``` sh
|
``` sh
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
# vssueId: 59
|
vssueId: 152
|
||||||
layout: LearningLayout
|
layout: LearningLayout
|
||||||
description: Kubernetes教程_本文介绍Kubernetes中Volume(数据卷)的基本概念_用法以及支持的数据卷类型
|
description: Kubernetes教程_本文介绍Kubernetes中Volume(数据卷)的基本概念_用法以及支持的数据卷类型
|
||||||
meta:
|
meta:
|
||||||
|
|||||||
@ -420,6 +420,8 @@ Hit enter for command prompt
|
|||||||
|
|
||||||
## 暴露 Service
|
## 暴露 Service
|
||||||
|
|
||||||
|
<SharingBlock>
|
||||||
|
|
||||||
在您的应用程序中,可能有一部分功能需要通过 Service 发布到一个外部的 IP 地址上。Kubernetes 支持如下两种方式:
|
在您的应用程序中,可能有一部分功能需要通过 Service 发布到一个外部的 IP 地址上。Kubernetes 支持如下两种方式:
|
||||||
* [NodePort](./service-types.html#nodeport)
|
* [NodePort](./service-types.html#nodeport)
|
||||||
* [LoadBalancer](./service-types.html#loadbalancer)
|
* [LoadBalancer](./service-types.html#loadbalancer)
|
||||||
@ -458,3 +460,5 @@ spec:
|
|||||||
* 对于 HTTP、HTTPS 形式的访问推荐使用 Ingress 替代这种用法,参考 [Ingress通过互联网访问您的应用](./ingress.html)
|
* 对于 HTTP、HTTPS 形式的访问推荐使用 Ingress 替代这种用法,参考 [Ingress通过互联网访问您的应用](./ingress.html)
|
||||||
* 对于 TCP、UDP 等形式的访问,您仍然应该使用 Service NodePort
|
* 对于 TCP、UDP 等形式的访问,您仍然应该使用 Service NodePort
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
</SharingBlock>
|
||||||
|
|||||||
@ -108,6 +108,8 @@ fe00::2 ip6-allrouters
|
|||||||
|
|
||||||
## 为什么kubelet要管理hosts文件
|
## 为什么kubelet要管理hosts文件
|
||||||
|
|
||||||
|
<SharingBlock>
|
||||||
|
|
||||||
Kubelet [管理](https://github.com/kubernetes/kubernetes/issues/14633) `hosts` Pod 中每个容器的 hosts 文件,以便可以阻止 Docker 在容器启动以后 [修改](https://github.com/moby/moby/issues/17190) 该文件。
|
Kubelet [管理](https://github.com/kubernetes/kubernetes/issues/14633) `hosts` Pod 中每个容器的 hosts 文件,以便可以阻止 Docker 在容器启动以后 [修改](https://github.com/moby/moby/issues/17190) 该文件。
|
||||||
|
|
||||||
细节情况请参考两个 github issue:
|
细节情况请参考两个 github issue:
|
||||||
@ -117,3 +119,5 @@ Kubelet [管理](https://github.com/kubernetes/kubernetes/issues/14633) `hosts`
|
|||||||
[https://github.com/moby/moby/issues/17190](https://github.com/moby/moby/issues/17190)
|
[https://github.com/moby/moby/issues/17190](https://github.com/moby/moby/issues/17190)
|
||||||
|
|
||||||
由于该文件已经被 Kubelet 管理起来,任何对该文件手工修改的内容,都将在 Kubelet 重启容器或者 Pod 重新调度时被覆盖。因此,最好是通过 `hostAliases` 修改 Pod 的 /etc/hosts 文件,而不是手工修改。
|
由于该文件已经被 Kubelet 管理起来,任何对该文件手工修改的内容,都将在 Kubelet 重启容器或者 Pod 重新调度时被覆盖。因此,最好是通过 `hostAliases` 修改 Pod 的 /etc/hosts 文件,而不是手工修改。
|
||||||
|
|
||||||
|
</SharingBlock>
|
||||||
|
|||||||
@ -1,11 +1,98 @@
|
|||||||
---
|
---
|
||||||
|
vssueId: 151
|
||||||
layout: LearningLayout
|
layout: LearningLayout
|
||||||
description: 本文描述了 Kubernetes Job 的概念、行为及用法
|
description: Kubernetes中的Job对象将创建一个或多个Pod_并确保指定数量的Pod可以成功执行到进程正常结束_当Job创建的 Pod执行成功并正常结束时_Job将记录成功结束的Pod数量_当成功结束的Pod达到指定的数量时_Job将完成执行
|
||||||
meta:
|
meta:
|
||||||
- name: keywords
|
- name: keywords
|
||||||
content: Kubernetes教程,K8S教程,Kubernetes Job
|
content: Kubernetes教程,K8S教程,K8S培训,Kubernetes Job
|
||||||
---
|
---
|
||||||
|
|
||||||
# 控制器 - Job
|
# 控制器 - Job
|
||||||
|
|
||||||
正在撰写...
|
<AdSenseTitle>
|
||||||
|
|
||||||
|
</AdSenseTitle>
|
||||||
|
|
||||||
|
Kubernetes中的 Job 对象将创建一个或多个 Pod,并确保指定数量的 Pod 可以成功执行到进程正常结束:
|
||||||
|
* 当 Job 创建的 Pod 执行成功并正常结束时,Job 将记录成功结束的 Pod 数量
|
||||||
|
* 当成功结束的 Pod 达到指定的数量时,Job 将完成执行
|
||||||
|
* 删除 Job 对象时,将清理掉由 Job 创建的 Pod
|
||||||
|
|
||||||
|
一个简单的例子是:创建一个 Job 对象用来确保一个 Pod 的成功执行并结束。在第一个 Pod 执行失败或者被删除(例如,节点硬件故障或机器重启)的情况下,该 Job 对象将创建一个新的 Pod 以重新执行。
|
||||||
|
|
||||||
|
当然,您也可以使用 Job 对象并行执行多个 Pod。
|
||||||
|
|
||||||
|
|
||||||
|
## 运行一个Job的例子
|
||||||
|
|
||||||
|
在下面这个 Job 的例子中,Pod 执行了一个跟 π 相关的计算,并打印出最终结果,该计算大约需要 10 秒钟执行结束。
|
||||||
|
|
||||||
|
<<< @/.vuepress/public/statics/learning/job/job.yaml
|
||||||
|
|
||||||
|
* 执行如下命令创建该对象:
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
kubectl apply -f https://kuboard.cn/statics/learning/job/job.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
* 执行命令查看创建结果
|
||||||
|
``` sh
|
||||||
|
kubectl describe jobs/pi
|
||||||
|
```
|
||||||
|
输出结果如下
|
||||||
|
```
|
||||||
|
Name: pi
|
||||||
|
Namespace: default
|
||||||
|
Selector: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495
|
||||||
|
Labels: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495
|
||||||
|
job-name=pi
|
||||||
|
Annotations: <none>
|
||||||
|
Parallelism: 1
|
||||||
|
Completions: 1
|
||||||
|
Start Time: Tue, 07 Jun 2016 10:56:16 +0200
|
||||||
|
Pods Statuses: 0 Running / 1 Succeeded / 0 Failed
|
||||||
|
Pod Template:
|
||||||
|
Labels: controller-uid=b1db589a-2c8d-11e6-b324-0209dc45a495
|
||||||
|
job-name=pi
|
||||||
|
Containers:
|
||||||
|
pi:
|
||||||
|
Image: perl
|
||||||
|
Port:
|
||||||
|
Command:
|
||||||
|
perl
|
||||||
|
-Mbignum=bpi
|
||||||
|
-wle
|
||||||
|
print bpi(2000)
|
||||||
|
Environment: <none>
|
||||||
|
Mounts: <none>
|
||||||
|
Volumes: <none>
|
||||||
|
Events:
|
||||||
|
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
|
||||||
|
--------- -------- ----- ---- ------------- -------- ------ -------
|
||||||
|
1m 1m 1 {job-controller } Normal SuccessfulCreate Created pod: pi-dtn4q
|
||||||
|
```
|
||||||
|
|
||||||
|
* 执行以下命令可查看所有结束的 Pod
|
||||||
|
``` sh
|
||||||
|
kubectl get pods
|
||||||
|
```
|
||||||
|
* 执行以下命令可获得该 Job 所有 Pod 的名字:
|
||||||
|
``` sh
|
||||||
|
pods=$(kubectl get pods --selector=job-name=pi --output=jsonpath='{.items[*].metadata.name}')
|
||||||
|
echo $pods
|
||||||
|
```
|
||||||
|
输出结果如下
|
||||||
|
```
|
||||||
|
pi-aiw0a
|
||||||
|
```
|
||||||
|
在这个命令中:
|
||||||
|
* selector 与 Job 定义中的 selector 相同
|
||||||
|
* `--output=jsonpath` 选项指定了一个表达式,该表达式从返回结果列表中的每一个 Pod 的信息中定位出 `name` 字段的取值
|
||||||
|
* 执行以下命令可查看 Pod 的日志:
|
||||||
|
``` sh
|
||||||
|
kubectl logs $pods
|
||||||
|
```
|
||||||
|
输出结果如下:
|
||||||
|
```
|
||||||
|
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632788659361533818279682303019520353018529689957736225994138912497217752834791315155748572424541506959508295331168617278558890750983817546374649393192550604009277016711390098488240128583616035637076601047101819429555961989467678374494482553797747268471040475346462080466842590694912933136770289891521047521620569660240580381501935112533824300355876402474964732639141992726042699227967823547816360093417216412199245863150302861829745557067498385054945885869269956909272107975093029553211653449872027559602364806654991198818347977535663698074265425278625518184175746728909777727938000816470600161452491921732172147723501414419735685481613611573525521334757418494684385233239073941433345477624168625189835694855620992192221842725502542568876717904946016534668049886272327917860857843838279679766814541009538837863609506800642251252051173929848960841284886269456042419652850222106611863067442786220391949450471237137869609563643719172874677646575739624138908658326459958133904780275901
|
||||||
|
```
|
||||||
|
|||||||
71
learning/k8s-intermediate/workload/wl-job/spec.md
Normal file
71
learning/k8s-intermediate/workload/wl-job/spec.md
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
---
|
||||||
|
vssueId: 151
|
||||||
|
layout: LearningLayout
|
||||||
|
description: Kubernetes中的Job对象将创建一个或多个Pod_并确保指定数量的Pod可以成功执行到进程正常结束_当Job创建的 Pod执行成功并正常结束时_Job将记录成功结束的Pod数量_当成功结束的Pod达到指定的数量时_Job将完成执行
|
||||||
|
meta:
|
||||||
|
- name: keywords
|
||||||
|
content: Kubernetes教程,K8S教程,K8S培训,Kubernetes Job
|
||||||
|
---
|
||||||
|
|
||||||
|
# 编写Job的定义
|
||||||
|
|
||||||
|
<AdSenseTitle>
|
||||||
|
|
||||||
|
与所有的 Kubernetes 对象一样,Job 对象的 YAML 文件中,都需要包括如下三个字段:
|
||||||
|
* `.apiVersion`
|
||||||
|
* `.kind`
|
||||||
|
* `.metadata`
|
||||||
|
|
||||||
|
Job 对象的 YAML 文件,还需要一个 `.spec` 字段。
|
||||||
|
|
||||||
|
</AdSenseTitle>
|
||||||
|
|
||||||
|
## Pod Template
|
||||||
|
|
||||||
|
`.spec.template` 是必填字段:
|
||||||
|
* 用于定义 [pod template](/learning/k8s-intermediate/workload/pod.html#容器组和控制器)
|
||||||
|
* 与 Pod 有相同的字段内容,但由于是内嵌元素,pod template 不包括阿 `apiVersion` 字段和 `kind` 字段
|
||||||
|
* 除了 Pod 所需的必填字段之外,Job 中的 pod template 必须指定
|
||||||
|
* 合适的标签 `.spec.template.spec.labels`,参考 [Pod Selector](#pod-selector)
|
||||||
|
* 指定合适的[重启策略 restartPolicy](/learning/k8s-intermediate/workload/pod-lifecycle.html#重启策略) `.spec.template.spec.restartPolicy`,此处只允许使用 `Never` 和 `OnFailure` 两个取值
|
||||||
|
|
||||||
|
## Pod Selector
|
||||||
|
|
||||||
|
`.spec.selector` 字段是可选的。绝大部分情况下,您不需要指定该字段。
|
||||||
|
|
||||||
|
|
||||||
|
## Parallel Jobs
|
||||||
|
|
||||||
|
有三种主要的任务类型适合使用 Job 运行:
|
||||||
|
* Non-parallel Jobs
|
||||||
|
* 通常,只启动一个 Pod,除非该 Pod 执行失败
|
||||||
|
* Pod 执行成功并结束以后,Job 也立刻进入完成 completed 状态
|
||||||
|
* Parallel Jobs with a fixed completion count
|
||||||
|
* `.spec.completions` 为一个非零正整数
|
||||||
|
* Job 将创建至少 `.spec.completions` 个 Pod,编号为 1 - `.spec.completions` <Badge type="error">尚未实现</Badge>
|
||||||
|
* Job 记录了任务的整体执行情况,当 1 - `.spec.completions` 中每一个编号都有一个对应的 Pod 执行成功时,Job 进入完成状态
|
||||||
|
* Parallel Jobs with a work queue
|
||||||
|
* 不指定 `.spec.completions`,使用 `.spec.parallelism`
|
||||||
|
* Pod 之间必须相互之间自行协调并发,或者使用一个外部服务决定每个 Pod 各自执行哪些任务。例如,某个Pod可能从带工作队列(work queue)中取出最多N个条目的批次数据
|
||||||
|
* 每个 Pod 都可以独立判断其他同僚(peers)是否完成,并确定整个Job是否完成
|
||||||
|
* 当 Job 中任何一个 Pod 成功结束,将不再为其创建新的 Pod
|
||||||
|
* 当所有的 Pod 都结束了,且至少有一个 Pod 执行成功后才结束,则 Job 判定为成功结束
|
||||||
|
* 一旦任何一个 Pod 执行成功并退出,Job 中的任何其他 Pod 都应停止工作和输出信息,并开始终止该 Pod 的进程
|
||||||
|
|
||||||
|
completions 和 parallelism
|
||||||
|
* 对于 non-parallel Job,`.spec.completions` 和 `.spec.parallelism` 可以不填写,默认值都为 1
|
||||||
|
* 对于 fixed completion count Job,需要设置 `.spec.completions` 为您期望的个数;同时不设置 `.spec.parallelism` 字段(默认值为 1)
|
||||||
|
* 对于 work queue Job,不能设置 `.spec.completions` 字段,且必须设置 `.spec.parallelism` 为0或任何正整数
|
||||||
|
|
||||||
|
## Controlling Parallelism 并发控制
|
||||||
|
|
||||||
|
并发数 `.spec.parallelism` 可以被设置为0或者任何正整数,如果不设置,默认为1,如果设置为 0,则 Job 被暂停,直到该数字被调整为一个正整数。
|
||||||
|
|
||||||
|
实际的并发数(同一时刻正在运行的 Pod 数量)可能比设定的并发数 `.spec.parallelism` 要大一些或小一些,不一定严格相等,主要的原因有:
|
||||||
|
|
||||||
|
* 对于 fixed completion count Job,实际并发运行的 Pod 数量不会超过剩余未完成的数量。如果 `.spec.parallelism` 比这个数字更大,将被忽略
|
||||||
|
* 对于 work queue Job,任何一个 Pod 成功执行后,将不再创建新的 Pod (剩余的 Pod 将继续执行)
|
||||||
|
* Job 控制器可能没有足够的时间处理并发控制
|
||||||
|
* 如果 Job 控制器创建 Pod 失败(例如,[ResourceQuota](/learning/k8s-advanced/policy/rq.html) 不够用,没有足够的权限等)
|
||||||
|
* 同一个Job中,在已创建的 Pod 出现大量失败的情况下,Job 控制器可能限制 Pod 的创建
|
||||||
|
* 当 Pod 被优雅地关闭时(gracefully shut down),需要等候一段时间才能结束
|
||||||
@ -1,13 +1,14 @@
|
|||||||
---
|
---
|
||||||
vssueId: 67
|
vssueId: 67
|
||||||
layout: LearningLayout
|
layout: LearningLayout
|
||||||
|
lessAds: true
|
||||||
description: Kubernetes教程_本文描述了一个经典微服务参考架构_并且通过三个视图(集群概览、名称空间、工作负载)理解微服务与Kubernetes的映射关系。
|
description: Kubernetes教程_本文描述了一个经典微服务参考架构_并且通过三个视图(集群概览、名称空间、工作负载)理解微服务与Kubernetes的映射关系。
|
||||||
meta:
|
meta:
|
||||||
- name: keywords
|
- name: keywords
|
||||||
content: Kubernetes教程,K8S教程,Kubernetes微服务,K8S培训,K8S教程
|
content: Kubernetes教程,K8S教程,Kubernetes微服务,K8S培训,K8S教程
|
||||||
---
|
---
|
||||||
|
|
||||||
# 从微服务视角看Kubernetes
|
# 从微服务视角理解Kubernetes,并快速在K8S上落地微服务
|
||||||
|
|
||||||
<AdSenseTitle/>
|
<AdSenseTitle/>
|
||||||
|
|
||||||
@ -20,7 +21,24 @@ meta:
|
|||||||
* 更多的部署单元
|
* 更多的部署单元
|
||||||
* 更复杂的部署脚本
|
* 更复杂的部署脚本
|
||||||
|
|
||||||
作者在落地 Spring Cloud 微服务的过程中,设计了如下图所示的微服务参考架构:
|
Kuboard 为了降低 Kubernetes 学习使用门槛,提供了:
|
||||||
|
* **K8S快速安装文档**
|
||||||
|
|
||||||
|
过去仅仅是安装 Kubernetes 这件事情,初学者都需要用 1 个星期甚至 1 个月才能搞定。如今 Kuboard 提供了安装文档,每天有300多人验证的,初学者30分钟即可完成安装,碰到问题还可在QQ社群在线免费答疑。
|
||||||
|
|
||||||
|
* **免费K8S教程**
|
||||||
|
|
||||||
|
Kubernetes 作为一款开源软件,其官方文档为英文,市面上大部分中文书籍与当前最新的版本存在出入。kuboard.cn 提供了最新的 K8S 免费中文教程,整理了最佳学习路径,帮助初学者快速完成从入门到投产的过程。
|
||||||
|
|
||||||
|
* **管理面板**
|
||||||
|
|
||||||
|
使用 Kuboard 作为 Kubernetes 管理面板,无需编写 yaml 文件,直接以图形界面完成 Kubernetes 的管理和运维任务
|
||||||
|
|
||||||
|
* **微服务实战**
|
||||||
|
|
||||||
|
以当下主流的 Spring Cloud 微服务架构作为例子,完成在 Kubernetes 上落地微服务架构的任务。
|
||||||
|
|
||||||
|
Kuboard 在落地 Spring Cloud 微服务的过程中,设计了如下图所示的微服务参考架构:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|||||||
@ -1,28 +1,11 @@
|
|||||||
Kuboard v1.0.x 的更新说明
|
Kuboard v1.0.x 的更新说明
|
||||||
|
|
||||||
|
* NFS 使用优化
|
||||||
## v1.0.4-beta.4
|
* 下载日志文件
|
||||||
|
* 配置 nfs 时,提示需要能够在节点上 mount,并给出 mount 语句
|
||||||
**发布日期**
|
|
||||||
|
|
||||||
2019年10月13日
|
|
||||||
|
|
||||||
**新特性**
|
|
||||||
|
|
||||||
**优化**
|
|
||||||
|
|
||||||
* 修改提示:创建 docker 仓库的 Secret --> 填写 docker 仓库地址时,请以 http:// 或 https:// 开头
|
|
||||||
|
|
||||||
**BUG 修复**
|
|
||||||
|
|
||||||
* 工作负载编辑器 --> Ingress --> 注解被错误写成标签了
|
|
||||||
|
|
||||||
* 打开监控界面时,应该使用 a 标签,而不是window.open 避免被浏览器屏蔽
|
|
||||||
* PV可以不与StorageClass关联(手工创建PV的情况)
|
|
||||||
* 导入工作负载时,如果存储类没有 annotations,不应该报错
|
* 导入工作负载时,如果存储类没有 annotations,不应该报错
|
||||||
* 表单校验:数据卷名不能带小数点
|
* 表单校验:数据卷名不能带小数点
|
||||||
* Kubernetes 体验的安装文档需要优化。
|
* Kubernetes 体验的安装文档需要优化
|
||||||
* 点击空白处,不关闭对话框
|
|
||||||
* Prometheus 监控
|
* Prometheus 监控
|
||||||
* 工作负载编辑器 --> 容器组 --> 容忍 -- 正在开发
|
* 工作负载编辑器 --> 容器组 --> 容忍 -- 正在开发
|
||||||
* HostAliases
|
* HostAliases
|
||||||
@ -40,7 +23,6 @@ Kuboard v1.0.x 的更新说明
|
|||||||
|
|
||||||
* PV 中支持 hostPath
|
* PV 中支持 hostPath
|
||||||
|
|
||||||
* 创建工作负载时,不追加前缀
|
|
||||||
* 存储卷声明去掉分配模式的字段
|
* 存储卷声明去掉分配模式的字段
|
||||||
* 删除容器组时 - graceful period
|
* 删除容器组时 - graceful period
|
||||||
* Pod Conditions: lastProbeTime/reason/message
|
* Pod Conditions: lastProbeTime/reason/message
|
||||||
|
|||||||
@ -9,6 +9,26 @@ description: 本文描述了Kuboard_v1.0.x的版本变更说明
|
|||||||
|
|
||||||
Kuboard v1.0.x 的更新说明
|
Kuboard v1.0.x 的更新说明
|
||||||
|
|
||||||
|
## v1.0.4-beta.5
|
||||||
|
|
||||||
|
**发布日期**
|
||||||
|
|
||||||
|
2019年10月27日
|
||||||
|
|
||||||
|
**优化**
|
||||||
|
|
||||||
|
* 设置页面 favicon
|
||||||
|
* 修改提示:创建 docker 仓库的 Secret --> 填写 docker 仓库地址时,请以 http:// 或 https:// 开头
|
||||||
|
* 点击空白处,不关闭对话框
|
||||||
|
* 日志/终端不能访问时,引导用户到问题诊断页面
|
||||||
|
* 监控套件提示--浏览器不能禁用弹出窗口 window.open
|
||||||
|
* 对话框打开时,点击空白处不能关闭对话框,必须点击“关闭”或“返回”按钮才能关闭。避免误操作
|
||||||
|
|
||||||
|
**BUG 修复**
|
||||||
|
|
||||||
|
* 工作负载编辑器 --> Ingress --> 注解被错误写成标签了
|
||||||
|
* 集群概览中,可以显示手工创建的不与StorageClass关联的PV
|
||||||
|
|
||||||
## v1.0.4-beta.4
|
## v1.0.4-beta.4
|
||||||
|
|
||||||
**发布日期**
|
**发布日期**
|
||||||
|
|||||||
Reference in New Issue
Block a user