k8s自动补全工具和UI管理界面

2024-06-19 10:12

本文主要是介绍k8s自动补全工具和UI管理界面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

分享两个有利于K8S的工具

目录

分享两个有利于K8S的工具

一、部署Dashboard(主节点)

介绍

1.1、查看集群状态

1.2、下载yaml文件并运行Dashboard

1.3、部署服务

1.4、创建访问账户、获取token(令牌)

1.5、浏览器访问Dashboard

二、安装kubectl自动补全命令(主节点)

2.1、安装bash-completion工具

2.2、执行bash_completion

2.3、加载kubecel completion


一、部署Dashboard(主节点)

  • 前提部署好一个Kubernetes集群,可以按照我上一章的文章进行部署

介绍

  • Kubernetes Dashboard是一个用于可视化管理和监控Kubernetes集群的Web用户界面。它提供了一种图形化的方式来查看和管理集群中的资源、应用程序和服务。使得用户可以更方便地进行操作和监控

1.1、查看集群状态

  • 确保状态为Ready

[root@k8s-master ~]# kubectl get nodes
NAME         STATUS   ROLES    AGE     VERSION
k8s-master   Ready    master   7m49s   v1.18.0
k8s-node01   Ready    <none>   7m20s   v1.18.0
k8s-node02   Ready    <none>   7m18s   v1.18.0

1.2、下载yaml文件并运行Dashboard

# 下载yaml文件,如果下载失败那就多下载几次
[root@k8s-master ~]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml
​
​
# 修改kubernetes-dashboard的Service类型
[root@k8s-master ~]# vim recommended.yaml 
apiVersion: v1
kind: Namespace
metadata:name: kubernetes-dashboard
​
---
​
apiVersion: v1
kind: ServiceAccount
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboard
​
---
​
kind: Service
apiVersion: v1
metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kubernetes-dashboard
spec:type: NodePort    # 增加ports:- port: 443targetPort: 8443nodePort: 30009   # 增加selector:k8s-app: kubernetes-dashboard
## 部分内容省略

1.3、部署服务

[root@k8s-master ~]# kubectl apply -f recommended.yaml 
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
deployment.apps/dashboard-metrics-scraper created
​
​
# 查看kubernetes-dashboard命令空间下的资源
[root@k8s-master ~]# kubectl get pod,svc -n kubernetes-dashboard
NAME                                             READY   STATUS             RESTARTS   AGE
pod/dashboard-metrics-scraper-6b4884c9d5-787lm   0/1     ImagePullBackOff   0          41s
pod/kubernetes-dashboard-7b544877d5-6l4tw        0/1     ErrImagePull       0          41s
​
NAME                                TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
service/dashboard-metrics-scraper   ClusterIP   10.111.21.8      <none>        8000/TCP        41s
service/kubernetes-dashboard        NodePort    10.106.240.109   <none>        443:30009/TCP   41s

1.4、创建访问账户、获取token(令牌)

  • Dashboard支持kuberconfig和Token两种认证方式,这里选择Token认证方式登录

# 创建账号dashboard-admin
[root@k8s-master ~]# kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
serviceaccount/dashboard-admin created
​
​
# 账号授权,绑定cluster-admin角色
[root@k8s-master ~]# kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
clusterrolebinding.rbac.authorization.k8s.io/dashboard-admin created
​
​
# 获取账号token
[root@k8s-master ~]# kubectl describe secrets -n kubernetes-dashboard $(kubectl -n kubernetes-dashboard get secret| awk '/dashboard-admin/ {print $1}')
Name:         dashboard-admin-token-dtb6c
Namespace:    kubernetes-dashboard
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: dashboard-adminkubernetes.io/service-account.uid: b5885626-bc73-45ba-a7eb-b327fa576d95
​
Type:  kubernetes.io/service-account-token
​
Data
====
ca.crt:     1025 bytes
namespace:  20 bytes
###################################################################
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IndLcjVNVUljX0dIVzZEUWhrNUR1cTh6Ums0RDQ4VGsxV204eVZrcERwWEUifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tZHRiNmMiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiYjU4ODU2MjYtYmM3My00NWJhLWE3ZWItYjMyN2ZhNTc2ZDk1Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmRhc2hib2FyZC1hZG1pbiJ9.PLD8qEoYxGWE0gz5YmDUcXjYMx6QeCnhsbY8C60BivK5tlm4eqk84pMjsI5BrJs97tVpIb6a9h1lPBrdcR70QfbdFYPW2Qd3Za2kKbK5QModo_ivC1P3RSt0YZDfFLiXGlS44_uQjVEMJZqLDcmNYFPRgEeIicQH3J9FtKvDqdkMXu2kM6XmBqa2G1u8s-JqTVUC_y_OPJUB8W92W1BA6QD7WY7iAkpp78-Jf33qfUdWak8xwdmps5-LSxg3_22hPC3rQ06hD-RP6hl7dE-udHeJRZAMwNFPlZwSi7aNfP8MChBjKP5eW323S0bg820qzGvRZLru9VeHBjxsS_COsA
###################################################################

1.5、浏览器访问Dashboard

  • 访问地址:https://192.168.93.101:30009

  • 如果访问不到那就是镜像没拉取下来,可以使用魔法或者私信评论免费提供

  • 出现以下的页面代表成功

二、安装kubectl自动补全命令(主节点)

  • 安装之后再使用kubectl命令的时候就可以使用tab键自动补全命令了

2.1、安装bash-completion工具

  • 通常安装在所有master节点上

[root@k8s-master ~]# yum -y install bash-completion

2.2、执行bash_completion

[root@k8s-master ~]# source /usr/share/bash-completion/bash_completion 

2.3、加载kubecel completion

# 在当前bash环境中临时设置命令补全
[root@k8s-master ~]# source <(kubectl completion bash)
​
# 在当前bash环境中永久设置命令补全
[root@k8s-master ~]# echo "source <(kubectl completion bash)" >> ~/.bashrc
[root@k8s-master ~]# source ~/.bashrc

这篇关于k8s自动补全工具和UI管理界面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1074740

相关文章

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

jvm调优常用命令行工具详解

《jvm调优常用命令行工具详解》:本文主要介绍jvm调优常用命令行工具的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一 jinfo命令查看参数1.1 查看jvm参数二 jstack命令2.1 查看现场堆栈信息三 jstat 实时查看堆内存,gc情况3.1

MySQL使用binlog2sql工具实现在线恢复数据功能

《MySQL使用binlog2sql工具实现在线恢复数据功能》binlog2sql是大众点评开源的一款用于解析MySQLbinlog的工具,根据不同选项,可以得到原始SQL、回滚SQL等,下面我们就来... 目录背景目标步骤准备工作恢复数据结果验证结论背景生产数据库执行 SQL 脚本,一般会经过正规的审批

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并