30分钟学会Docker里面开启k8s(Kubernetes)登录仪表盘(图文讲解)
前言
我们之前搭建了第一个docker项目:
windows环境30分钟从0开始快速搭建第一个docker项目(带数据库交互):https://www.cnblogs.com/xiongze520/p/15069441.html
然而我们知道,docker和k8s(Kubernetes)是配套使用的,我们今天就开启k8s并登录仪表盘。
注意:没有安装docker的可以先进行docker的搭建,接下来都是基于安装好docker的基础上进行的。
Docker:Docker Desktop for Window
Kubernetes版本:1.21.2
演示电脑系统版本:Windows 10 专业版
拉取Kubernetes镜像
方式一:使用下面命令拉取(不建议使用,github比较慢,会导致git失败)
命令1(拉取镜像分支):git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git
命令2(进入拉取的分支目录):cd k8s-for-docker-desktop
命令3(切换到指定版本)git checkout v1.21.2
方式二:强烈建议使用
点击下面地址链接进入Kubernetes主页,选择指定的版本下载代码,点击下载zip后解压,后续操作在解压目录。
注意:如果显示无法访问,可以多访问几次,网络问题导致,这个链接地址是正确的。
https://github.com/AliyunContainerService/k8s-for-docker-desktop



下载后解压到自己的指定目录,文件名可以自定义。

安装Kubernetes镜像
以管理员身份运行PowerShell,如果运行失败,运行x86的版本也可以。

进入我们下载安装的目录,如果路径不正确的自行跳转,如下:
cd.. 返回上一级
cd 进入指定目录

进入解压目录后,执行下面语句安装,静待安装完成。
.\load_images.ps1

安装完成后可以 使用docker images命令查看。

开启Kubernetes
1、修改host地址
将C:\ProgramData\DockerDesktop\tmp-d4w的host.docker.internal内容修改。
修改后内容指向本机,后续k8s仪表盘地址可自行修改。
# Kubernetes
127.0.0.1 kubernetes.docker.internal
2、配置镜像加速
配置完后点击Apply&Restart保存。

{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://registry.docker-cn.com",
"https://xxx.mirror.aliyuncs.com"
],
"insecure-registries": [],
"debug": true,
"experimental": true,
"features": {
"buildkit": true
},
"builder": {
"gc": {
"enabled": true,
"defaultKeepStorage": "20GB"
}
}
}
https://xxx.mirror.aliyuncs.com是阿里云镜像,
查看阿里云的镜像加速器地址,https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,
需要登录阿里云才能查看,将 xxx 字符替换为你获取到的地址,下面打码遮挡的部分。
注:这里的加速地址大家除了这几个,还可以去百度很多个进来。

3、启动镜像加速

4、设置k8s上下文
首先获取所有上下文,执行如下命令,得到NAME名称:
kubectl config get-contexts

设置上下文(注意,后面的名称是查看上下文时的NAME,也就是docker-desktop,如果有docker-for-desktop的话也可以)
kubectl config use-context docker-desktop

5、验证集群状态
kubectl cluster-info

6、安装k8s管理页面Dashboard
#方式1
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml #方式2(推荐)
kubectl create -f kubernetes-dashboard.yaml

使用命令重新安装
kubectl delete -f kubernetes-dashboard.yaml
kubectl create -f kubernetes-dashboard.yaml

查看Dashboard镜像是否正常运行
kubectl get pods --all-namespaces

7、访问Kubernetes Dashboard
使用 kubectl proxy 命令访问
kubectl proxy

打开浏览器输入以下地址访问(注意,PowerShell窗口不要关闭,关闭后无法访问)
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy

配置Token并登录
1、创建服务账号
首先创建一个叫admin-user的服务账号,并放在kubernetes-dashboard命名空间下。
注意:这里需要重新开启一个PowerShell,原来开启的不要动。
New-Item admin-user.yaml

创建成功后这是一个空文件,用记事本或者其他方式打开文件, 复制如下内容保存。
# admin-user.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard

保存后执行kubectl create命令
kubectl create -f admin-user.yaml

2、绑定角色
默认情况下,kubeadm创建集群时已经创建了admin角色,我们直接绑定即可:
使用命令
New-Item admin-user-role-binding.yaml
同样的,创建成功后这是一个空文件,用记事本或者其他方式打开文件, 复制如下内容保存。
# admin-user-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
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
保存后执行kubectl create命令

3、获取Token并登录
执行如下命令即可获得。
$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-for-desktop --token="${TOKEN}"
echo $TOKEN
由于我已经获取过了,所以这里显示有问题,这个是永久的,获取后可以放到记事本保存起来。

获取到Token后,直接复制token进行登录刚刚的面板,如下


这样我们就在Docker里面开启k8s(Kubernetes)仪表盘并登录成功了。
参考文献
- Docker Desktop for Mac/Windows 开启 Kubernetes:https://codechina.csdn.net/mirrors/AliyunContainerService/k8s-for-docker-desktop/-/tree/v1.19.3
- docker for desktop安装k8s踩坑记:https://segmentfault.com/a/1190000022975386?utm_source=tag-newest
- 解决开启Kubernetes失败:https://blog.csdn.net/zhhao1/article/details/105752429/
- 基于Docker Desktop for Windows安装Kubernetes:https://blog.csdn.net/simongame/article/details/106727108
- 如何在win10的docker desktop中启动Kubernetes:https://www.tqwba.com/x_d/jishu/272978.html
下篇预告
在kubernetes里面部署服务器集群并访问项目
|
欢迎关注订阅微信公众号【熊泽有话说】,更多好玩易学知识等你来取
作者:熊泽-学习中的苦与乐 公众号:熊泽有话说 出处: https://www.cnblogs.com/xiongze520/p/15268520.html 您可以随意转载、摘录,但请在文章内注明作者和原文链接。 |

30分钟学会Docker里面开启k8s(Kubernetes)登录仪表盘(图文讲解)的更多相关文章
- 【grunt第二弹】30分钟学会使用grunt打包前端代码(02)
前言 上一篇博客,我们简单的介绍了grunt的使用,一些基础点没能覆盖,我们今天有必要看看一些基础知识 [grunt第一弹]30分钟学会使用grunt打包前端代码 配置任务/grunt.initCon ...
- 30分钟学会使用Spring Web Services基础开发
时隔一年终于又推出了一篇30分钟系列,上一篇<30分钟学会反向Ajax>是2016年7月的事情了.时光荏苒,岁月穿梭.虽然一直还在从事Java方面的开发工作,但是私下其实更喜欢使用C++. ...
- 30 分钟学会 Flex 布局
30 分钟学会 Flex 布局 有酒 617 人赞同了该文章 为什么我要写这一篇关于 Flex 布局的教程? 因为它十分简单灵活,区区简单几行代码就可以实现各种页面的的布局,以前我在学习页面布局的 ...
- 【Shell】30分钟关闭Tcpdump,开启Tcpdump、检测目录大小终止任务
场景 按照一定时间规律运行Tcpdump 思路 编程思路细化思考 查看文件个数 file_count_results=`ls -al "C:\\Users\\Windows32\\Deskt ...
- 30分钟学会XAML
1.狂妄的WPF 相对传统的Windows图形编程,需要做很多复杂的工作,引用许多不同的API.例如:WinForm(带控件表单).GDI+(2D图形).DirectX API(3D图形)以及流媒体和 ...
- 30分钟学会如何使用Shiro
本篇内容大多总结自张开涛的<跟我学Shiro>原文地址:http://jinnianshilongnian.iteye.com/blog/2018936 我并没有全部看完,只是选择了一部分 ...
- 教你30分钟学会XAML
1.狂妄的WPF 相对传统的Windows图形编程,需要做很多复杂的工作,引用许多不同的API.例如:WinForm(带控件表单).GDI+(2D图形).DirectX API(3D图形)以及流媒体和 ...
- 30分钟学会Objective-C
注: 本文首发于我的个人博客:https://evilpan.com/2019/04/05/objc-basics/ 请原谅我的标题党.但是如果你有其他语言的学习经验,要学习Objective-C的语 ...
- 【grunt整合版】30分钟学会使用grunt打包前端代码
grunt 是一套前端自动化工具,一个基于nodeJs的命令行工具,一般用于:① 压缩文件② 合并文件③ 简单语法检查 对于其他用法,我还不太清楚,我们这里简单介绍下grunt的压缩.合并文件,初学, ...
随机推荐
- JavaWeb——CSS总结
CSS 记得大一下学期那会参加基地后就开始跟师兄师姐接触前端了,利用业余时间在站看各种视频.由于初次认知并且时间也能不固定集中,也存在跳跃式学习等等原因,这就导致了好多知识点要么漏掉要么没记全,只能懂 ...
- 结合scipy.linalg在Python中使用线性系统
摘要:将线性代数概念应用到实际问题中scipy.linalg 使用 Python 和 NumPy处理向量和矩阵 使用线性系统模拟实际问题 使用求解线性系统 scipy.linalg 本文分享自华为云社 ...
- 一个极其朴素的目录扫描Python脚本
如果目录扫描工具被某些种类的waf拦截了,可以尝试(只是尝试,不是绝对能过)用脚本发出请求,具体功能看需求而定 原理...没啥原理,也没啥技术含量,相信大家都能看得懂的,nobody knows be ...
- OSI网络参考模型学习
文章目录 一.计算机与网络的发展 1.1 批处理系统 1.2 分时系统 1.3 计算机之间的通信 1.4 基于分组交换技术的计算机网络 1.5 互联网时代的计算机网络 1.6 计算机网络中协议的规定 ...
- 将白码平台数据存储到MySQL数据库
概述: 此前在白码平台上搭建并使用系统,若想要将白码平台上搭建的系统的数据存储到自己本地的MySQL数据库中的话,需要将数据导出后再对数据进行处理.如今想要实现这一需求,直接通过使用白码的数据库对接功 ...
- Xilinx约束学习笔记(一)—— 约束方法学
<Xilinx约束学习笔记>为自己阅读 Xilinx 官方 UG903 文档后的学习笔记,大多数为翻译得来,方便大家学习. 1 约束方法学 1.1 组织约束文件 Xilinx 建议将时序约 ...
- 常用正则表达式最强汇总(含Python代码举例讲解+爬虫实战)
大家好,我是辰哥~ 本文带大家学习正则表达式,并通过python代码举例讲解常用的正则表达式 最后实战爬取小说网页:重点在于爬取的网页通过正则表达式进行解析. 正则表达式语法 Python的re模块( ...
- C语言预处理编译链接各个阶段错误,分阶段的说一下
C语言预处理编译链接各个阶段错误,分阶段的说一下 C语言预处理编译链接各个阶段错误,分阶段的说一下比如指针异常,数组下标越界什么的 我来答 1个回答 #热议# 你觉得这辈子有希望看到996消失 ...
- 【springcloud】springcloud Greenwich SR4版本笔记
springcloud Greenwich SR4版本笔记 本文只记录实际版本,配置,pom,代码以及注意事项.别的在其他springcloud 的F版本中已有详述. 示例代码地址:https://g ...
- python入门(需要C++基础)
title: python语法入门 author: Sun-Wind date: August 25, 2021 python语法入门 博主最近参加一项比赛,因为需要用到python,所以在这里记录自 ...