安装 kubernetes dashboard

This commit is contained in:
huanqing.shao
2019-10-08 20:50:00 +08:00
parent 5e20c42d5c
commit f513f22a73
19 changed files with 193 additions and 11 deletions

View File

@ -143,7 +143,8 @@ module.exports = {
title: '简介',
collapsable: false,
children: [
''
'',
'share-coder'
]
}, {
title: '概念',
@ -199,6 +200,7 @@ module.exports = {
children: [
'install-kubectl',
// 'config-kubectl',
'install-k8s-dashboard',
'install-dashboard',
'install-dashboard-upgrade'
]
@ -406,10 +408,18 @@ module.exports = {
},
{
title: 'Kubernetes 高级',
collapsable: false,
path: 'k8s-advanced/',
collapsable: true,
children: [
{
title: 'Kubernetes 日志',
collapsable: true,
children: [
'k8s-advanced/logs/',
'k8s-advanced/logs/basic',
'k8s-advanced/logs/node',
'k8s-advanced/logs/cluster',
]
}
]
},
{

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@ -0,0 +1,111 @@
---
vssueId: 126
description: Kubernetes升级_使用kubeadm升级K8S集群_到Kubernetes_v1.15.3
meta:
- name: keywords
content: Kubernetes Dashboard,安装Kubernetes Dashboard,K8S Dashboard,K8S管理界面
---
# 安装Kubernetes Dashboard
> 参考文档: [Web UI (Dashboard)](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/)
Kubernetes Dashboard 是 Kubernetes 的官方 Web UI。使用 Kubernetes Dashboard您可以
* 向 Kubernetes 集群部署容器化应用
* 诊断容器化应用的问题
* 管理集群的资源
* 查看集群上所运行的应用程序
* 创建、修改Kubernetes 上的资源(例如 Deployment、Job、DaemonSet等
* 展示集群上发生的错误
例如:您可以伸缩一个 Deployment、执行滚动更新、重启一个 Pod 或部署一个新的应用程序
以上文字翻译自 Kubernetes 官方文档。Kuboard 的定位和 Dashboard 是相似的,**主要的区别** 在于:
* Kuboard 关注微服务参考架构的视角对界面进行组织,参考 [Kuboard 简介](/overview/share-coder.html)
* Kuboard 中,不需要手工编写 YAML 文件,进一步降低 K8S 使用难度,提高便捷性
* Kuboard 可以导出整个微服务架构的部署信息,并在新的名称空间/集群导入配置信息
* Kuboard 的一个发展方向是,提供内建的 [监控套件](/guide/example/monitor.html)(目前的全局监控套件成熟度比较高)
为了帮助大家选择适合自己的工具,本文将详细描述如何在 Kubernetes 集群中安装 Kubernetes Dashboard。
## 安装 Kubernetes Dashboard
执行如下命令,以安装 Kubernetes Dashboard
``` sh
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta4/aio/deploy/recommended.yaml
```
## 访问 Kubernetes Dashboard UI
Kubernetes Dashboard 默认部署时,只配置了最低权限的 RBAC。当前只支持使用 Bearer Token登录。
* 创建 Service Account
``` yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
```
* 创建 ClusterRoleBinding
使用 `kubeadm` 安装集群时,默认创建了 ClusterRole `cluster-admin`。此时我们可以直接为刚才的 ServiceAccount 创建 ClusterRoleBinding。
``` yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
```
* 获取Bearer Token
执行命令:
```sh
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
```
输出信息如下所示:
``` {13}
Name: admin-user-token-v57nw
Namespace: kubernetes-dashboard
Labels: <none>
Annotations: kubernetes.io/service-account.name: admin-user
kubernetes.io/service-account.uid: 0303243c-4040-4a58-8a47-849ee9ba79c1
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1066 bytes
namespace: 20 bytes
token: eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLXY1N253Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIwMzAzMjQzYy00MDQwLTRhNTgtOGE0Ny04NDllZTliYTc5YzEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.Z2JrQlitASVwWbc-s6deLRFVk5DWD3P_vjUFXsqVSY10pbjFLG4njoZwh8p3tLxnX_VBsr7_6bwxhWSYChp9hwxznemD5x5HLtjb16kI9Z7yFWLtohzkTwuFbqmQaMoget_nYcQBUC5fDmBHRfFvNKePh_vSSb2h_aYXa8GV5AcfPQpY7r461itme1EXHQJqv-SN-zUnguDguCTjD80pFZ_CmnSE1z9QdMHPB8hoB4V68gtswR1VLa6mSYdgPwCHauuOobojALSaMc3RH7MmFUumAgguhqAkX3Omqd3rJbYOMRuMjhANqd08piDC3aIabINX6gP5-Tuuw2svnV6NYQ
```
* 执行 `kubectl proxy` 命令
您必须能够在自己的笔记本(工作电脑)上运行 kubectl 并访问您的集群。可参考文档 [安装Kubectl](./install/install-kubectl.html)
访问路径: `http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/`
* 将上一个步骤中获得的 Token 输入到登录界面中,点击 **Sign in** 按钮,完成登录
![Kubernetes教程_安装KubernetesDashboard](./install-k8s-dashboard.assets/signin.png)
* 登录成功后,界面如下图所示:
![Kubernetes教程_登录KubernetesDashboard](./install-k8s-dashboard.assets/overview.png)
:tada: :tada: :tada: Have Fun!

View File

@ -117,7 +117,7 @@ export default {
**网上那么多 Kubernetes 安装文档,为什么这篇文档更有参考价值?**
* **众多网友验证**
* 每天有超过 200 人参照此文档完成 Kubernetes 安装
* 每天有超过 300 人参照此文档完成 Kubernetes 安装
* 不断有网友对安装文档提出改进意见
* **持续更新和完善**

View File

@ -129,7 +129,7 @@ yum list --showduplicates kubeadm --disableexcludes=kubernetes
[upgrade/kubelet] Now that your control plane is upgraded, please proceed with upgrading your kubelets if you haven't already done so.
```
* 手动升级CNI插件
<!-- * 手动升级CNI插件 -->
### 升级其他 master 节点
@ -176,6 +176,8 @@ yum list --showduplicates kubeadm --disableexcludes=kubernetes
* 执行以下命令,将节点标记为 `不可调度的` 并驱逐节点上所有的 Pod
``` sh
# 在可以执行 kubectl 命令的位置执行(通常是第一个 master节点
# $NODE 代表一个变量,实际执行时,请用您的节点名替换
kubectl drain $NODE --ignore-daemonsets
```

View File

@ -86,9 +86,10 @@ meta:
## **Kubernetes 高级**
* Kubernetes 日志可视化
* [Kubernetes 日志](/learning/k8s-advanced/logs/)
* Kubernetes 监控
* Kubernetes 联邦
* 扩展 Kubernetes
## **Kubernetes 实战**

View File

@ -0,0 +1,12 @@
---
vssueId: 125
layout: LearningLayout
description: Kubernetes教程_本文介绍了如何使用kubectl_Kuboard查看和浏览Kubernetes上的节点_容器组_部署等信息_并依据这些信息作出问题诊断
meta:
- name: keywords
content: Kubernetes教程,K8S教程,日志,Logging
---
# 基本的日志
正在撰写...

View File

@ -0,0 +1,12 @@
---
vssueId: 125
layout: LearningLayout
description: Kubernetes教程_本文介绍了如何使用kubectl_Kuboard查看和浏览Kubernetes上的节点_容器组_部署等信息_并依据这些信息作出问题诊断
meta:
- name: keywords
content: Kubernetes教程,K8S教程,日志,Logging
---
# 集群级别的日志
正在撰写...

View File

@ -0,0 +1,20 @@
---
vssueId: 125
layout: LearningLayout
description: Kubernetes教程_本文介绍了如何使用kubectl_Kuboard查看和浏览Kubernetes上的节点_容器组_部署等信息_并依据这些信息作出问题诊断
meta:
- name: keywords
content: Kubernetes教程,K8S教程,日志,Logging
---
# 日志架构
当集群中出现任何问题时应用程序日志和系统日志是非常有效的定位问题的手段可以让我们知道集群中正在发生的事情。绝大多数的应用程序都有日志机制主流的容器引擎也都支持某种形式的日志。对容器化应用程序来说最简单也是被采纳得最多的一种日志方式是将日志写入到标准输出流例如Java中的 System.out.println() 语句,或 log4j 中的 Console Appender和标准错误流里例如Java中的 System.error.println() 语句)
然而容器引擎默认提供的功能通常不足以支撑一个完整的日志解决方案。例如如果一个容器崩溃了、一个Pod被驱逐了、或者一个节点停机了您通常仍然需要访问您应用程序的日志。为此您需要一个生命周期与节点、Pod、容器相对独立的存储空间来存储应用程序日志和系统日志。此时我们引入了一个新的概念`集群级别的日志 cluster-level-logging`。集群级别的日志需要一个独立的后端用于存储、分析、查询日志。Kubernetes默认不提供存储日志信息的方案但是有很多种现有的日志存储方案可以集成到 Kubernetes 集群中来。
请参考关于日志架构更详细的描述:
* [基本的日志](./basic.html)
* [节点级别的日志](./node.html)
* [集群级别的日志](.cluster.html)

View File

@ -0,0 +1,12 @@
---
vssueId: 125
layout: LearningLayout
description: Kubernetes教程_本文介绍了如何使用kubectl_Kuboard查看和浏览Kubernetes上的节点_容器组_部署等信息_并依据这些信息作出问题诊断
meta:
- name: keywords
content: Kubernetes教程,K8S教程,日志,Logging
---
# 节点级别的日志
正在撰写...

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -25,10 +25,10 @@ Kubernetes 容器编排已越来越被大家关注,然而学习 Kubernetes 的
Kuboard 官网地址:[https://kuboard.cn](https://kuboard.cn/#from_coder_toutiao)
Kuboard 发布不到两个月时间github star 已经迅速增长到 422,获得了许多用户的喜爱。
Kuboard 发布不到两个月时间github star 已经迅速增长到 461,获得了许多用户的喜爱。
<p style="max-width: 720px;">
<img src="./share-coder.assets/image-20191003230417140.png" alt="Kubernetes 教程" style="max-width: 100%"></img>
<img src="./share-coder.assets/image-20191008204458253.png" alt="Kubernetes 教程" style="max-width: 100%"></img>
</p>

View File

@ -9,7 +9,9 @@ Kuboard v1.0.x 的更新说明
* 工作负载编辑器 --> 容器组 --> 容忍 -- 正在开发
* kubernetes 1.16.1
* HostAliases
* https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
* Service --> SessionAffinity
--> clientIP.timeoutSeconds

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -24,14 +24,14 @@ description: Kubernetes教程_本文描述了如何获得Kuboard授权
<grid :rwd="{compact: 'stack'}">
<grid-item size="2/3" :rwd="{tablet: '1/1', compact: '1/1'}" style="padding: 1rem 0 1rem 1rem;">
<el-card style="height: 100%">
<img src="./index.assets/image-20191003231005043.png" alt="Kubernetes教程_Kuboard_Github_Star">
<img src="./index.assets/image-20191008204458253.f742de59.png" alt="Kubernetes教程_Kuboard_Github_Star">
</el-card>
</grid-item>
<grid-item size="1/3" :rwd="{tablet: '1/1', compact: '1/1'}" style="padding: 1rem 0 1rem 1rem;">
<el-card style="height: 100%; color: #2c3e50; line-height: 1.7;">
<li>Kuboard 诞生于大型微服务项目的落地实施,在其发布之前,就已经在许多个实际项目中经受住了考验</li>
<li>Kuboard 一经发布,就获得了广泛的关注</li>
<li>Kuboard 公开发布不到两个月时间,就已经获得了 422 Github Star如图所示</li>
<li>Kuboard 公开发布不到两个月时间,就已经获得了 461 Github Star如图所示</li>
<li>Kuboard 社群中,已有许多的用户将 Kuboard 用于自己的生产环境</li>
</el-card>
</grid-item>