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

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
2月前
|
存储 Kubernetes 持续交付
k8s学习
【10月更文挑战第1天】
89 4
|
2月前
|
Kubernetes 应用服务中间件 nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
|
2月前
|
Kubernetes 监控 测试技术
k8s学习--基于Ingress-nginx实现灰度发布系统
k8s学习--基于Ingress-nginx实现灰度发布系统
113 2
k8s学习--基于Ingress-nginx实现灰度发布系统
|
2月前
|
Prometheus Kubernetes 监控
k8s学习--kubernetes服务自动伸缩之水平伸缩(pod副本伸缩)HPA详细解释与案例应用
k8s学习--kubernetes服务自动伸缩之水平伸缩(pod副本伸缩)HPA详细解释与案例应用
113 1
k8s学习--kubernetes服务自动伸缩之水平伸缩(pod副本伸缩)HPA详细解释与案例应用
|
26天前
|
存储 Kubernetes 调度
K8S中的核心概念
【10月更文挑战第26天】云原生环境下的安全问题易被忽视,导致潜在风险。应用层渗透测试和漏洞扫描是检测安全的关键,尤其是对于CVE漏洞的修复。然而,常见误解认为安全由外部防护处理且不易引入问题。
|
2月前
|
存储 Kubernetes 调度
|
2月前
|
Kubernetes API 调度
k8s学习--pod的所有状态详解(图例展示)
k8s学习--pod的所有状态详解(图例展示)
170 1
|
2月前
|
Kubernetes JavaScript 前端开发
k8s学习--chart包开发(创建chart包)
k8s学习--chart包开发(创建chart包)
104 1
|
2月前
|
Kubernetes 应用服务中间件 nginx
k8s学习--Traffic Shifting 流量接入
k8s学习--Traffic Shifting 流量接入
|
2月前
|
Kubernetes 监控 数据可视化
k8s学习--使用argo-rollouts实现金丝雀发布
k8s学习--使用argo-rollouts实现金丝雀发布