k8s学习二:学习基本概念和搭建dashboard

简介: k8s学习二:学习基本概念和搭建dashboard

前言

在上一篇,我们已经搭建好了一个k8s的集群环境,现在开始整可视化

这个时候,我们可以了解一些名词

master

Master 节点是 Kubernetes 集群的控制节点,负责整个集群的管理和控制

我们之前搭建的就是master节点,可以通过docker ps,docker images看到它运行的组件:

image.png


image.png

这些组件具体有啥用暂时不讲,后面慢慢来

pod

Pod 是 Kubernetes 最基本的部署调度单元。每个 Pod 可以由一个或多个业务容器和一个根容器(Pause 容器)组成。一个 Pod 表示某个应用的一个实例

可以通过命令来查看当前运行的pod

root@test02:/home/tioncico# kubectl get pods --all-namespaces
NAMESPACE              NAME                                         READY   STATUS    RESTARTS   AGE
kube-flannel           kube-flannel-ds-rfx4q                        1/1     Running   0          58s
kube-system            coredns-6d8c4cb4d-575sw                      1/1     Running   0          66m
kube-system            coredns-6d8c4cb4d-p4nv8                      1/1     Running   0          66m
kube-system            etcd-master                                  1/1     Running   0          67m
kube-system            kube-apiserver-master                        1/1     Running   0          67m
kube-system            kube-controller-manager-master               1/1     Running   0          67m
kube-system            kube-proxy-n2n4n                             1/1     Running   0          66m
kube-system            kube-scheduler-master                        1/1     Running   0          67mReplicaSet

是 Pod 副本的抽象,用于解决 Pod 的扩容和伸缩

Deployment

Deployment 表示部署,在内部使用ReplicaSet 来实现。可以通过 Deployment 来生成相应的 ReplicaSet 完成 Pod 副本的创建

部署dashboard

Kubernetes Dashboard 是 k8s集群的一个 WEB UI管理工具,代码托管在 github 上,地址:https://github.com/kubernetes/dashboard

安装方式一:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.1/aio/deploy/recommended.yaml

安装方式二:

wget kubectl apply -f recommended.yaml

说明一下:k8s的管理基本是通过yaml配置,或者直接命令行来实现的,方式1和2其实一样,只是一个是直接下载安装,另一个是文件安装,我们可以查看文件的配置项

image.png

k8s的各种管理,都是可以通过yaml配置文件来决定的

安装好之后,可以通过 查看pod命令查看

root@test02:/home/tioncico# kubectl get pods -n kubernetes-dashboard
NAME                                         READY   STATUS    RESTARTS   AGE
dashboard-metrics-scraper-6f669b9c9b-86hm6   1/1     Running   0          31m
kubernetes-dashboard-54c5fb4776-qb2lf        1/1     Running   0          31m

这里的-n表示的是命名空间筛选,筛选的就是dashboard

访问dashboard

在k8s中,所有节点都是内部网络互通,docker容器互通,默认没有对外开启服务,但是可以通过nodeport,反向代理等方案对外提供服务

在dashboard官方中,建议直接使用kubectl proxy方案进行访问,由于我的环境是虚拟机,所以需要额外监听0.0.0.0

root@test02:/home/tioncico# kubectl proxy --address='0.0.0.0' --accept-hosts='^*$'&

同时需要宿主机开放端口

image.png

访问: http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

即可访问dashboard后台:

image.png

用户认证

k8s授权方案非常多,我们这边使用最简单的,生成一个serviceAccount

创建用户

kubectl create clusterrolebinding serviceaccount-cluster-admin --clusterrole=cluster-admin --user=system:serviceaccount:kubernetes-dashboard:kubernetes-dashboard

查看用户token:

kubectl describe secrets -n kubernetes-dashboard

image.png

将token复制到后台登陆界面,即可登陆成功:

image.png

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
3月前
|
Kubernetes 负载均衡 Perl
kubernetes—五个概念入门(二)
kubernetes—五个概念入门(二)
68 0
|
3月前
|
Kubernetes 应用服务中间件 数据中心
kubernetes—五个概念入门(一)
kubernetes—五个概念入门(一)
78 0
|
4月前
|
Kubernetes 容器
k8s学习-CKS真题-日志审计 log audit
k8s学习-CKS真题-日志审计 log audit
79 0
|
3月前
|
存储 Kubernetes 调度
Kubernetes 基本概念
Kubernetes 基本概念
60 0
|
3月前
|
Web App开发 Kubernetes 数据可视化
Kubernetes Dashboard 可视化插件部署 博主亲自实践可用
Kubernetes Dashboard 可视化插件部署 博主亲自实践可用
53 0
|
4天前
|
存储 Kubernetes Docker
Kubernetes(K8S)集群管理Docker容器(概念篇)
Kubernetes(K8S)集群管理Docker容器(概念篇)
|
2月前
|
Kubernetes 网络协议 API
玩转Kubernetes—基础概念篇
玩转Kubernetes—基础概念篇
60 1
|
3月前
|
运维 Kubernetes 监控
Kubernetes—DashBoard
Kubernetes—DashBoard
43 0
|
3月前
|
Kubernetes iOS开发 Docker
为什么你应该学习 Docker 🐋 和 Kubernetes ☸️?
如果您是一名开发人员,我相信您一定听说过这句话:“它可以在我的机器上运行”。当我们的代码在您的计算机上运行但在朋友的计算机上表现不佳时,这是令人心碎的。
28 0
|
4月前
|
Kubernetes API 容器