原创

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

温馨提示:
本文最后更新于 2022年09月07日,已超过 154 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

前言

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

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

master

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

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

仙士可博客

仙士可博客

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

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其实一样,只是一个是直接下载安装,另一个是文件安装,我们可以查看文件的配置项

仙士可博客

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='^*$'&

同时需要宿主机开放端口

仙士可博客

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

即可访问dashboard后台:

仙士可博客

用户认证

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

仙士可博客

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

仙士可博客

正文到此结束
本文目录